[MICROBA-1806]
We are aware of product issue where it is possible for a self-paced course-run to get have a `certificate_availability_date` created in the course settings. This can have an adverse effect on the Credentials IDA where a learner's Program Record does not correctly display the course certificates they have earned because of this data. This not only causes confusion for our learners, as it appears that a course certificate a learner can access and share in the LMS is displayed as unearned in the Credential's program record, but this can also cause issues when a learner attempts to share their program record through a credit pathway and the program record would not accurately reflect their program completion.
Unfortunately, the settings that manage the certificate availability date are hidden for self-paced courses in Studio (as they should only be used in instructor-paced courses).
For this reason, we are introducing a management command that will remove a certificate available date for a specified (self-paced) course-run. This will allow us to fix issues for individual learners while we work on a longer-term fix for the larger issue.
* Add new `clean_stale_certificate_available_dates` management command
* Add new `CleanStaleCertificateAvailabilityDates` Configuration Model
* Add tests for the new management command
* (Unrelated cleanup) Fix potential issue with private.py settings in the CMS being overwritten in devstack.py for developers using devstack.
- Adds a BackfillCourseTabsConfig model to manage the arguments
to that command
- Adds batching arguments using that model
- Adds some extra logging for the failed courses
* fix type mismatch in third_party_auth migrations
* fix type mismatch in verify_student migrations
* fix type mismatch in video_config migrations
* fix type mismatch in verified_track_content migrations
* fix type mismatch in commercemigrations
* fix type mismatch in xblock_config migrations
* fix type mismatch in course_creators migrations
* fix type mismatch in contentstore migrations
Push notifications was only ever setup to connect to Parse.com a service
that has been discontinued. Since we haven't replaced the functionality
for a few years now, remove this dead code.
In cms/templates/js/course_info_update.underscore we're allowing content
to not be escaped because this is by design according to the tests.
Long term there should be a better fix for this but for now this is
intended behavior.
Fix i18n for video status strings (broken in commit 4b53f4d) and remove
unnecessary complexity from a test case. This also removes the status
whitelist in the video upload configuration. Because status is included
in the CSV report, it is not necessary to filter the included videos by
status.