Course mode - admin explicitly defining upgrade deadline.
Description
This PR adds a checkbox for expiration_datetime_is_explicit to the Django Admin's CourseMode edit page. This allows Admin users to explicitly define an Upgrade Deadline date along with setting expiration_datetime_is_explicit to True in order to ensure that the Upgrade Deadline persists even if the course is published again.
Before

After

Supporting information
This PR was the result of this initial investigation: https://discuss.openedx.org/t/course-mode-upgrade-deadline/8498.
Testing instructions
I tested this using https://github.com/openedx/devstack which starts you out with some default courses already created.
- Open Studio and navigate to your existing course. Ensure that the course has an end date.
- Using an existing course, go to
/admin/course_modes/coursemodeand click the ID of the associated record in order to navigate to the course mode edit page. - Edit the upgrade deadline date to be a date which is more than 10 days prior to the course end date from step 1.
- Ensure that the checkbox for "Upgrade Deadline Explicitly Defined" is left unchecked/False. Save the form.
- Go back to Studio and update the start time (I updated the time by a single minute). Save your changes.
- Refresh the
/admin/course_modes/coursemodepage and you should now see that the upgrade deadline date for your course is 10 days prior to the course end date. - Repeat step 3 but this time checking/True the "Upgrade Deadline Explicitly Defined" checkbox.
- Repeat step 5.
- Refresh the
/admin/course_modes/coursemodepage and should now see that the upgrade deadline date is the value from step 7.
Deadline
None.
Thanks for the pull request, @collinpreston! Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket as you can:
- supporting documentation
- Open edX discussion forum threads
- timeline information ("this must be merged by XX date", and why that is)
- partner information ("this is a course on edx.org")
- any other information that can help Product understand the context for the PR
All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
Please let us know once your PR is ready for our review and all tests are green.
@openedx/cla-problems the status of my Contributor Agreement check does not seem to be updating.
@collinpreston I don't see you in list of contributors, can you confirm that MIT has submitted your information to us?
@feanil I sent an email to Eden last week updating Open Learning's list of contributors. Is there something else I should do?
@feanil should I expect the Github checks to run automatically now that the CLA check passes?
@collinpreston no, someone will still need to review and approve those since you're a first time contributor. I'll go ahead and do that for you now. Once you're a regular contributor, you will not have to deal with that.
The Javascript test is rendered without opened extra videos bar seems to be failing but does not appear related to this PR. It also appeared to fail in this PR: https://github.com/openedx/edx-platform/pull/28571.
@collinpreston Even though your pull request wasn’t merged, please take a moment to answer a two question survey so we can improve your experience in the future.