From 4f1cd91113e63fbb2af4c9ca615710b2b7aeaa2a Mon Sep 17 00:00:00 2001 From: Matt Tuchfarber Date: Thu, 25 Jun 2020 14:47:08 -0400 Subject: [PATCH] Re-Add demographics prompt to edx.org theme (#24231) - Add bootstrap utility function to lms-base-v1 CSS - Moved coaching sass to edx.org theme - Banner feature flag and MB program gated - Fixes previous issue of changes specificity in button selector by resetting the style inside the component's class --- common/djangoapps/student/views/dashboard.py | 9 +++ lms/static/sass/base/_build.scss | 10 +++ .../sass/elements/_system-feedback.scss | 2 +- lms/static/sass/multicourse/_dashboard.scss | 29 ++------- .../lms/static/images/quote_prompt.png | Bin 0 -> 3964 bytes .../sass/partials/lms/theme/_dashboard.scss | 58 ++++++++++++++++++ .../sass/partials/lms/theme/_extras.scss | 1 + themes/edx.org/lms/templates/dashboard.html | 20 ++++++ 8 files changed, 103 insertions(+), 26 deletions(-) create mode 100644 themes/edx.org/lms/static/images/quote_prompt.png create mode 100644 themes/edx.org/lms/static/sass/partials/lms/theme/_dashboard.scss diff --git a/common/djangoapps/student/views/dashboard.py b/common/djangoapps/student/views/dashboard.py index b7e1bd9772..513956d101 100644 --- a/common/djangoapps/student/views/dashboard.py +++ b/common/djangoapps/student/views/dashboard.py @@ -785,6 +785,14 @@ def student_dashboard(request): enr for enr in course_enrollments if entitlement.enrollment_course_run.course_id != enr.course_id ] + # Collect all program types the user is enrolled in + enrolled_program_types = [] + if getattr(settings, 'ENABLE_DEMOGRAPHICS_COLLECTION', False): + enrolled_program_types = { + _program.get('type_attrs', {}).get('slug') + for _program in meter.engaged_programs + if _program.get('type_attrs', {}).get('slug') is not None + } context = { 'urls': urls, 'programs_data': programs_data, @@ -834,6 +842,7 @@ def student_dashboard(request): 'recovery_email_message': recovery_email_message, 'recovery_email_activation_message': recovery_email_activation_message, 'show_load_all_courses_link': show_load_all_courses_link(user, course_limit, course_enrollments), + 'enrolled_program_types': enrolled_program_types, # TODO START: clean up as part of REVEM-199 (START) 'course_info': get_dashboard_course_info(user, course_enrollments), # TODO START: clean up as part of REVEM-199 (END) diff --git a/lms/static/sass/base/_build.scss b/lms/static/sass/base/_build.scss index a36bffce87..3aa8501618 100644 --- a/lms/static/sass/base/_build.scss +++ b/lms/static/sass/base/_build.scss @@ -7,10 +7,20 @@ @import 'bootstrap/variables'; @import 'bootstrap/scss/functions'; @import 'bootstrap/scss/variables'; +@import 'bootstrap/scss/mixins/background-variant'; @import 'bootstrap/scss/mixins/box-shadow'; @import 'bootstrap/scss/mixins/breakpoints'; +@import 'bootstrap/scss/mixins/float'; @import 'bootstrap/scss/mixins/grid'; +@import 'bootstrap/scss/mixins/hover'; @import 'bootstrap/scss/mixins/reset-text'; +@import 'bootstrap/scss/mixins/screen-reader'; +@import 'bootstrap/scss/mixins/text-truncate'; +@import 'bootstrap/scss/mixins/text-emphasis'; +@import 'bootstrap/scss/mixins/text-hide'; +@import 'bootstrap/scss/mixins/visibility'; +@import 'bootstrap/scss/utilities'; + // Bootstrap components @import 'bootstrap/scss/popover'; diff --git a/lms/static/sass/elements/_system-feedback.scss b/lms/static/sass/elements/_system-feedback.scss index 07fd02912e..27602c9460 100644 --- a/lms/static/sass/elements/_system-feedback.scss +++ b/lms/static/sass/elements/_system-feedback.scss @@ -120,7 +120,7 @@ box-shadow: none; border-top: 1px solid #579cc5; padding: 20px 20px 20px 40px; - margin: -16px 0 5px 0; + margin: -16px 0 10px 0; } .fa-close { diff --git a/lms/static/sass/multicourse/_dashboard.scss b/lms/static/sass/multicourse/_dashboard.scss index f6551b2df9..de7cc4ada3 100644 --- a/lms/static/sass/multicourse/_dashboard.scss +++ b/lms/static/sass/multicourse/_dashboard.scss @@ -525,6 +525,8 @@ order: 2; .wrapper-find-courses { + margin-bottom: $baseline * 0.5; + .course-advertise { @include clearfix(); @@ -576,31 +578,9 @@ } } - .wrapper-coaching { - border: 1px solid $border-color-l3; - margin: 20px 0; - - .coaching-signup { - padding: 20px; - - .coaching-prompt { - font-size: 20px; - line-height: 28px; - font-weight: bold; - } - - .coaching-link .btn-neutral { - display: block; - text-align: center; - margin: 20px 20px 0; - border-radius: 20px; - padding: 10px; - border: 1px solid theme-color('primary'); - } - } - } - .profile-sidebar { + margin-bottom: $baseline * 0.5; + ul { padding: 0; border: 1px solid theme-color("light"); @@ -609,7 +589,6 @@ // Responsive behavior @include media-breakpoint-down(md) { - margin: 0 $baseline $baseline*2; padding: 0; max-width: 100%; } diff --git a/themes/edx.org/lms/static/images/quote_prompt.png b/themes/edx.org/lms/static/images/quote_prompt.png new file mode 100644 index 0000000000000000000000000000000000000000..d183adb69cf6db1b85a7cef4d37b08f5e5533fc3 GIT binary patch literal 3964 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 e|2sxWdy(uBx8b>t?StoSF
+ <% + MB_SLUG = "microbachelors" + enrolled_in_mb_program = MB_SLUG in enrolled_program_types + account_mfe_url = getattr(settings, 'ACCOUNT_MICROFRONTEND_URL', '') or '' + %> + % if getattr(settings, 'ENABLE_DEMOGRAPHICS_COLLECTION', False) and enrolled_in_mb_program: + +
+ +
+ ${_("Want to make edX better for everyone?")} +
+ +
+
+ % endif

${_("My Courses")}