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 @@

${_('Course Schedule')}

  • - + ${_("First day the course begins")}
    @@ -238,7 +238,7 @@

    ${_('Course Schedule')}

  • - + ${_("Last day your course is active")}
    @@ -304,7 +304,7 @@

    ${_('Course Schedule')}

    % endif - +
  • @@ -315,7 +315,7 @@

    ${_('Course Schedule')}

  • - + ${_("First day students can enroll")}
    @@ -333,7 +333,7 @@

    ${_('Course Schedule')}

  • - + ${_("Last day students can enroll.")} @@ -356,7 +356,7 @@

    ${_('Course Schedule')}

  • - + ${_("Last day students can upgrade to a verified enrollment.")} ${_("Contact your {platform_name} partner manager to update these settings.").format(platform_name=settings.PLATFORM_NAME)}