From d8b9507aba79fbe5dbaedc89beb8dc89836c0bd6 Mon Sep 17 00:00:00 2001 From: Joseph Curtin Date: Mon, 7 Feb 2022 22:28:52 +0900 Subject: [PATCH] Added date configuration to Schedule & Details settings page --- cms/djangoapps/contentstore/views/course.py | 7 +++++++ cms/envs/common.py | 8 ++++++++ cms/static/js/utils/date_utils.js | 7 ++++++- cms/templates/settings.html | 12 ++++++------ 4 files changed, 27 insertions(+), 7 deletions(-) diff --git a/cms/djangoapps/contentstore/views/course.py b/cms/djangoapps/contentstore/views/course.py index 490667758a9e..34abc605eafa 100644 --- a/cms/djangoapps/contentstore/views/course.py +++ b/cms/djangoapps/contentstore/views/course.py @@ -1146,6 +1146,12 @@ def settings_handler(request, course_key_string): # lint-amnesty, pylint: disab course_authoring_microfrontend_url = get_proctored_exam_settings_url(course_module) + date_placeholder_format = configuration_helpers.get_value_for_org( + course_module.location.org, + 'SCHEDULE_DETAIL_FORMAT', + settings.FEATURES.get('SCHEDULE_DETAIL_FORMAT', 'mm/dd/yyyy') + ).upper() + settings_context = { 'context_course': course_module, 'course_locator': course_key, @@ -1170,6 +1176,7 @@ def settings_handler(request, course_key_string): # lint-amnesty, pylint: disab 'enable_extended_course_details': enable_extended_course_details, 'upgrade_deadline': upgrade_deadline, 'course_authoring_microfrontend_url': course_authoring_microfrontend_url, + 'date_placeholder_format': date_placeholder_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 ce4e36a6f4cf..c94d663f7816 100644 --- a/cms/envs/common.py +++ b/cms/envs/common.py @@ -464,6 +464,14 @@ # in the LMS and CMS. # .. toggle_tickets: 'https://github.com/open-craft/edx-platform/pull/429' 'DISABLE_UNENROLLMENT': False, + + # .. toggle_name: FEATURES['SCHEDULE_DETAIL_FORMAT'] + # .. toggle_implementation: DjangoSetting + # .. toggle_default: 'MM/DD/YYYY' + # .. toggle_description: Configure dates to show up in various formats. + # .. toggle_use_cases: open_edx + # .. toggle_creation_date: 2022-02-05 + 'SCHEDULE_DETAIL_FORMAT': 'MM/DD/YYYY', } ENABLE_JASMINE = False diff --git a/cms/static/js/utils/date_utils.js b/cms/static/js/utils/date_utils.js index 26e2c52e86cf..540eaca6d42a 100644 --- a/cms/static/js/utils/date_utils.js +++ b/cms/static/js/utils/date_utils.js @@ -145,7 +145,12 @@ function($, date, TriggerChangeEventOnEnter, moment) { // 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 e5202573eac9..d82b4954a18d 100644 --- a/cms/templates/settings.html +++ b/cms/templates/settings.html @@ -222,7 +222,7 @@

${_('Course Schedule')}

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

    ${_('Course Schedule')}

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

    ${_('Course Schedule')}

  • - + ${_("By default, 48 hours after course end date")}
  • @@ -264,7 +264,7 @@

    ${_('Course Schedule')}

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

    ${_('Course Schedule')}

  • - + ${_("Last day students can enroll.")} % if not enrollment_end_editable: @@ -303,7 +303,7 @@

    ${_('Course Schedule')}

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