* MB-1192: [feat] Add course ended, not passing
If a student has not passed a course, the course has ended, and they have a verified seat, we want to show them a message at a glance on the
dashboard.
* [feat] Add course over, not passing status to dash
If a student has not passed a course, the course has ended, and they
have a verified seat, we want to show them a message at a glance on the
dashboard.
feat: reimagine certificate display settings
The course settings `certificate_available_date` (CAD) and
`certificates_display_behavior` (CDB) were previously
acting indedependantly of one another. They now work in
tandem. This change:
- limits CDB to a dropdown
- removes "early_with_info" and adds "end_with_date"
- only takes CAD into account if "end_with_date" is selected
- Moves CDB to the main course schedule settings page
- updates CourseOverview model and CourseDetails objects to
validate these fields and choose sane defaults if they aren't
expected values
This work was previously done in bd9e7dd (complete with bugs), so this
version is toggleable via the ENABLE_V2_CERT_DISPLAY_SETTINGS setting
[MICROBA-678]
When a certificate is in an unexpected state (i.e. notpassing with a
passing grade) this alert will allow the user to attempt to resolve the
issue on their own. It will run the code that checks the certificates
status. It requires that the course is configured to allow users to
Request Certificates though.
The course settings `certificate_available_date` (CAD) and
`certificates_display_behavior` (CDB) were previously acting indedependantly
of one another. They now work in tandem. This change:
- limits CDB to a dropdown
- removes "early_with_info" and adds "end_with_date"
- only takes CAD into account if "end_with_date" is selected
- Moves CDB to the main course schedule settings page
- updates CourseOverview to validate these fields and choose sane
defaults if they aren't expected values
Certificates will now show under the following circumstances:
"Immediately upon passing"
certificate_availability_date = null
certificates_display_behavior = "early_no_info"
"End date of course"
certificate_availability_date = null
certificates_display_behavior = "end"
"A date after the course end date"
certificate_availability_date = <date>
certificates_display_behavior = "end_with_date"
* [refactor] Reword dashboard verify ID message
Small change to reword ID verification messaging on the course dashboard
and remove one of the buttons.
* set coloring of warning message
* follow patter for theme font colors
[MICROBA-678]
This patch will update the text on the course dashboard when a learner
successfully earns a certificate and that certificate is available. It
also adds to the Outline API for the Outline in the Learning MFE so that
the same changes can be made there.
[MICROBA-678]
Added cert availability date to the API used to get certificate status
by the learning MFE to support updated messaging.
Updated the cert availability messaging in the Coruse Dashboard,
including a text color change.
If a certificate available date was set on a self paced course, it would
show text to the learner saying that the grades would be available in
the future when that was inaccurate.
Currently when a certificate availability date is set the text on the
course dasboard is confusing to the learner and could lead them to the
wrong conclusions. The cert should not be available until on or after
the available date.
MST-706. ID Verification is now valid for 2 years, so messaging used to notify learners about their ID expiration should be updated to reflect this. We have chosen to only update the messaging that is related to the current IDV flow (going through IDV on the account MFE), as the old IDV flow is no longer used by learners on edX.
* MST-542 remove the IDV redirect to Account MFE waffle flag to permanently redirect learners to new IDV workflow. This completes the rollout process on edx-platform
* Generate common/djangoapps import shims for LMS
* Generate common/djangoapps import shims for Studio
* Stop appending project root to sys.path
* Stop appending common/djangoapps to sys.path
* Import from common.djangoapps.course_action_state instead of course_action_state
* Import from common.djangoapps.course_modes instead of course_modes
* Import from common.djangoapps.database_fixups instead of database_fixups
* Import from common.djangoapps.edxmako instead of edxmako
* Import from common.djangoapps.entitlements instead of entitlements
* Import from common.djangoapps.pipline_mako instead of pipeline_mako
* Import from common.djangoapps.static_replace instead of static_replace
* Import from common.djangoapps.student instead of student
* Import from common.djangoapps.terrain instead of terrain
* Import from common.djangoapps.third_party_auth instead of third_party_auth
* Import from common.djangoapps.track instead of track
* Import from common.djangoapps.util instead of util
* Import from common.djangoapps.xblock_django instead of xblock_django
* Add empty common/djangoapps/__init__.py to fix pytest collection
* Fix pylint formatting violations
* Exclude import_shims/ directory tree from linting
Removed most of the deprecated shoppingcart app, leaving just enough to allow us to cleanly remove the related database tables later. Also removed the relevant Django settings that weren't in use elsewhere.
If it is a self-paced course, the dashboard would greedily show the user's
enrollment date. However, it is often possible to enroll before the start
date which leads to a weird dashboard experience. This resolves that issue.
Add the tracking class to the upsell button on the course dashboard for courses that are verified but have no SKUs so we get better data on when upsell links get clicked.
Replaced the id selector used for tracking the course_dashboard_green button with a class selector instead, so we get eventing on each button per course on the course dashboard page.
Created helper function to render url dynamically
Modify helper function to include reverify links
Fix code based on failing tests
Fixed query string in redirect URL
Create a Javascript function to log upsell events to & attach the eventing to the course dashboard upsell button. The revenue squad is looking for more insight into which buttons users are clicking to get to the checkout page.
Updated the displayed start date for a learner in a self paced course
that appears in the Learner Dashboard and the Dates tab.
Used the max of the course start date and the learner's enrollment date.
Course banner text is justified from both sides which is creating
extra spaces between the text ultimately impacting on usability.
To improve it, its alignment is modified and now it is no longer
affecting usability.
PROD-1034