diff --git a/common/djangoapps/student/views/dashboard.py b/common/djangoapps/student/views/dashboard.py index b7e1bd9772..d4b846546f 100644 --- a/common/djangoapps/student/views/dashboard.py +++ b/common/djangoapps/student/views/dashboard.py @@ -44,7 +44,10 @@ from openedx.core.djangoapps.user_api.accounts.utils import is_secondary_email_f from openedx.core.djangoapps.util.maintenance_banner import add_maintenance_banner 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.features.enterprise_support.api import ( + get_dashboard_consent_notification, + get_enterprise_learner_portal_enabled_message, +) from shoppingcart.models import 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 @@ -623,6 +626,9 @@ def student_dashboard(request): enterprise_message = get_dashboard_consent_notification(request, user, course_enrollments) + # Display a message guiding the user to their Enterprise's Learner Portal if enabled + enterprise_learner_portal_enabled_message = get_enterprise_learner_portal_enabled_message(request) + recovery_email_message = recovery_email_activation_message = None if is_secondary_email_feature_enabled(): try: @@ -833,6 +839,7 @@ def student_dashboard(request): 'empty_dashboard_message': empty_dashboard_message, 'recovery_email_message': recovery_email_message, 'recovery_email_activation_message': recovery_email_activation_message, + 'enterprise_learner_portal_enabled_message': enterprise_learner_portal_enabled_message, 'show_load_all_courses_link': show_load_all_courses_link(user, course_limit, course_enrollments), # TODO START: clean up as part of REVEM-199 (START) 'course_info': get_dashboard_course_info(user, course_enrollments), diff --git a/lms/static/js/views/message_banner.js b/lms/static/js/views/message_banner.js index 17560de5d4..d7d9729fd2 100644 --- a/lms/static/js/views/message_banner.js +++ b/lms/static/js/views/message_banner.js @@ -27,7 +27,8 @@ urgency: 'high', type: '', hideCloseBtn: true, - isRecoveryEmailMsg: false + isRecoveryEmailMsg: false, + isLearnerPortalEnabled: false }); }, diff --git a/lms/static/sass/elements/_system-feedback.scss b/lms/static/sass/elements/_system-feedback.scss index 27602c9460..be35938850 100644 --- a/lms/static/sass/elements/_system-feedback.scss +++ b/lms/static/sass/elements/_system-feedback.scss @@ -114,7 +114,8 @@ } } - &.recovery-email-alert { + &.recovery-email-alert, + &.learner-portal-enabled-alert { banner-msg { background: $state-info-bg; box-shadow: none; diff --git a/lms/templates/dashboard.html b/lms/templates/dashboard.html index dcc03a6de7..2721a6bd27 100644 --- a/lms/templates/dashboard.html +++ b/lms/templates/dashboard.html @@ -99,6 +99,13 @@ from student.models import CourseEnrollment banner.showMessage(${recovery_email_activation_message | n, dump_js_escaped_json}) %static:require_module> % endif + % if enterprise_learner_portal_enabled_message: + <%static:require_module module_name="js/views/message_banner" class_name="MessageBannerView"> + var banner = new MessageBannerView({urgency: 'low', type: 'warning', isLearnerPortalEnabled: true}); + $('#content').prepend(banner.$el); + banner.showMessage(${enterprise_learner_portal_enabled_message | n, dump_js_escaped_json}) + %static:require_module> + % endif %block>