Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
afaef49
feat: add run_extension_point to use pearson_core functionality for p…
anfbermudezme Nov 11, 2021
7fbd18d
feat: add run_extension_point to use pearson_core functionality for s…
anfbermudezme Nov 11, 2021
7f5577a
feat: add custom functionality to improve learner experience regardin…
anfbermudezme Nov 22, 2021
fd1cb3d
feat: add custom behavior for prerequisites to redirect links in cour…
anfbermudezme Nov 30, 2021
06d1b0f
fix: add a general solution instead of particular for prerequisites c…
anfbermudezme Dec 2, 2021
4c780d4
refactor: add all code related to the PEARSON_CORE_STUDENT_NOT_ENROLL…
anfbermudezme Dec 4, 2021
35df324
refactor: remove useless whitespaces
anfbermudezme Dec 7, 2021
5eb6ccb
refactor: correct code with variables used once.
anfbermudezme Dec 7, 2021
1ac789f
refactor: assign variable to make intention clear.
anfbermudezme Dec 13, 2021
c3a4646
refactor: correct identation.
anfbermudezme Dec 28, 2021
54599d5
refactor: remove unnecessary run_extension_point
anfbermudezme Dec 29, 2021
878a61a
chore: pass the course string to pearson-core using run_extension_point.
anfbermudezme Jan 26, 2022
f8f73be
refactor: add entry for run_extension_point in course_about view and …
anfbermudezme Feb 1, 2022
d92af02
docs: add inline comments for run_extension_point functions.
anfbermudezme Feb 9, 2022
abacb35
refactor: add safe getter for key.
anfbermudezme Feb 10, 2022
8abfea8
refactor: correct inline comments and code details.
anfbermudezme Feb 11, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions cms/djangoapps/contentstore/views/course.py
Original file line number Diff line number Diff line change
Expand Up @@ -1161,6 +1161,11 @@ def settings_handler(request, course_key_string):
if not all(is_valid_course_key(course_key) for course_key in prerequisite_course_keys):
return JsonResponseBadRequest({"error": _("Invalid prerequisite course key")})
set_prerequisite_courses(course_key, prerequisite_course_keys)
run_extension_point(
'PEARSON_CORE_MILESTONE_PREREQUISITES_MODULE',
course_key = course_key,
prerequisite_course_keys = prerequisite_course_keys,
)
else:
# None is chosen, so remove the course prerequisites
course_milestones = milestones_api.get_course_milestones(course_key=course_key, relationship="requires")
Expand Down
14 changes: 13 additions & 1 deletion common/djangoapps/student/views/dashboard.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
from openedx.core.djangoapps.waffle_utils import WaffleFlag, WaffleFlagNamespace
from openedx.core.djangolib.markup import HTML, Text
from openedx.features.enterprise_support.api import get_dashboard_consent_notification
from openedx.core.djangoapps.plugins.plugins_hooks import run_extension_point
from shoppingcart.models import CourseRegistrationCode, DonationConfiguration
from student.api import COURSE_DASHBOARD_PLUGIN_VIEW_NAME
from student.helpers import cert_info, check_verify_status_by_course, get_resume_urls_for_enrollments
Expand Down Expand Up @@ -803,7 +804,17 @@ def student_dashboard(request):
if enrollment.course_overview.pre_requisite_courses
)
courses_requirements_not_met = get_pre_requisite_courses_not_completed(user, courses_having_prerequisites)

sku_not_enrollment_in_requirement = None
run_extension_point(
'PEARSON_CORE_SORT_ENROLLED_PREREQUISITES',
user=user,
courses_requirements_not_met=courses_requirements_not_met,
)
sku_not_enrollment_in_requirement = run_extension_point(
'PEARSON_CORE_STUDENT_NOT_ENROLLED_IN_REQUIREMENTS',
user = user,
courses_requirements_not_met=courses_requirements_not_met,
)
if 'notlive' in request.GET:
redirect_message = _("The course you are looking for does not start until {date}.").format(
date=request.GET['notlive']
Expand Down Expand Up @@ -865,6 +876,7 @@ def student_dashboard(request):
'enrolled_courses_either_paid': enrolled_courses_either_paid,
'provider_states': [],
'courses_requirements_not_met': courses_requirements_not_met,
'sku_not_enrollment_in_requirement': sku_not_enrollment_in_requirement,
'nav_hidden': True,
'inverted_programs': inverted_programs,
'show_program_listing': ProgramsApiConfig.is_enabled(),
Expand Down