diff --git a/cms/djangoapps/contentstore/views/course.py b/cms/djangoapps/contentstore/views/course.py index 8e5051bb94d4..39bd5f1099d9 100644 --- a/cms/djangoapps/contentstore/views/course.py +++ b/cms/djangoapps/contentstore/views/course.py @@ -1156,6 +1156,11 @@ def settings_handler(request, course_key_string): # lint-amnesty, pylint: disab verified_mode = CourseMode.verified_mode_for_course(course_key, include_expired=True) upgrade_deadline = (verified_mode and verified_mode.expiration_datetime and verified_mode.expiration_datetime.isoformat()) + date_configuration_format = configuration_helpers.get_value_for_org( + course_module.locations.org, + 'DETAIL_SCHEDULE_FORMAT', + settings.FEATURES.get('DETAIL_SCHEDULE_FORMAT', 'mm/dd/yyyy') + ).upper() settings_context = { 'context_course': course_module, 'course_locator': course_key, @@ -1180,6 +1185,7 @@ def settings_handler(request, course_key_string): # lint-amnesty, pylint: disab 'enable_extended_course_details': enable_extended_course_details, 'upgrade_deadline': upgrade_deadline, 'mfe_proctored_exam_settings_url': get_proctored_exam_settings_url(course_module.id), + 'date_placeholder_format': date_configuration_format, } if is_prerequisite_courses_enabled(): courses, in_process_course_actions = get_courses_accessible_to_user(request) diff --git a/cms/envs/common.py b/cms/envs/common.py index 4cf5cc8567d2..e5d88a658345 100644 --- a/cms/envs/common.py +++ b/cms/envs/common.py @@ -472,6 +472,12 @@ # .. toggle_target_removal_date: 2021-10-01 # .. toggle_tickets: 'https://openedx.atlassian.net/browse/MICROBA-1405' 'ENABLE_V2_CERT_DISPLAY_SETTINGS': False, + + # Configure dates to show up in various formats on Schedule & Detail page + # Supported formats + # mm/dd/yyyy + # dd/mm/yyyy + 'DETAIL_SCHEDULE_FORMAT': 'mm/dd/yyyy' } # .. toggle_name: ENABLE_COPPA_COMPLIANCE diff --git a/cms/static/js/utils/date_utils.js b/cms/static/js/utils/date_utils.js index 0c91e6347e72..2912ed3cae8b 100644 --- a/cms/static/js/utils/date_utils.js +++ b/cms/static/js/utils/date_utils.js @@ -97,7 +97,12 @@ function($, date, TriggerChangeEventOnEnter) { // instrument as date and time pickers timefield.timepicker({timeFormat: 'H:i'}); - datefield.datepicker(); + var placeholder = datefield.attr('placeholder') + if (placeholder == 'DD/MM/YYYY') { + datefield.datepicker({dateFormat: 'dd/mm/yy'}) + } else { + datefield.datepicker(); + } // Using the change event causes setfield to be triggered twice, but it is necessary // to pick up when the date is typed directly in the field. diff --git a/cms/templates/settings.html b/cms/templates/settings.html index c3ed1afb9957..92f318c398b7 100644 --- a/cms/templates/settings.html +++ b/cms/templates/settings.html @@ -223,7 +223,7 @@