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 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"
This commit is contained in:
Matt Tuchfarber
2021-06-02 15:28:28 -04:00
parent 666dc22bd0
commit 2a7106acfb
34 changed files with 934 additions and 573 deletions

View File

@@ -41,6 +41,7 @@ class CourseMetadata:
'enrollment_start',
'enrollment_end',
'certificate_available_date',
'certificates_display_behavior',
'tabs',
'graceperiod',
'show_timezone',