From edc27d51e10a4010a8c3c752daabee8a106a3639 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 21 Oct 2025 11:19:40 +0200 Subject: [PATCH] Bug 41061: Remove unused calendar JS functions Since the introduction of Maskito by bug 33703 we do no longer need to valid dates when the flatpickr widget is closed. This patch removes the following JS function from staff and OPAC: * is_valid_date * validate_date * get_dateformat_str Test plan: 0. Do not apply this patch and confirm that the date string received by those functions has already been correctly formatted 1. Apply the patch and git grep to make sure no occurrence exists in the code 2. Confirm that you are still able to select dates with flatpickr Signed-off-by: Emmi Takkinen --- .../prog/en/includes/calendar.inc | 1 - koha-tmpl/intranet-tmpl/prog/js/calendar.js | 47 ------------------ koha-tmpl/intranet-tmpl/prog/js/onboarding.js | 1 - .../bootstrap/en/includes/calendar.inc | 48 ------------------- 4 files changed, 97 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/calendar.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/calendar.inc index 1437f2e157..f134dcdc91 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/calendar.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/calendar.inc @@ -144,7 +144,6 @@ } }, onClose: function( selectedDates, dateText, instance) { - validate_date( dateText, instance ); var thisInput = instance.input; if ( thisInput.hasAttribute('data-date_to') ) { var endPicker = document.querySelector("#"+thisInput.dataset.date_to)._flatpickr; diff --git a/koha-tmpl/intranet-tmpl/prog/js/calendar.js b/koha-tmpl/intranet-tmpl/prog/js/calendar.js index e1637b2ba7..7d35b680d4 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/calendar.js +++ b/koha-tmpl/intranet-tmpl/prog/js/calendar.js @@ -9,53 +9,6 @@ if (debug > 1) { ); } -function is_valid_date(date) { - // An empty string is considered as a valid date for convenient reasons. - if (date === "") return 1; - var dateformat = flatpickr_dateformat_string; - if (dateformat == "us") { - if (date.search(/^\d{2}\/\d{2}\/\d{4}($|\s)/) == -1) return 0; - dateformat = "m/d/Y"; - } else if (dateformat == "metric") { - if (date.search(/^\d{2}\/\d{2}\/\d{4}($|\s)/) == -1) return 0; - dateformat = "d/m/Y"; - } else if (dateformat == "iso") { - if (date.search(/^\d{4}-\d{2}-\d{2}($|\s)/) == -1) return 0; - dateformat = "Y-m-d"; - } else if (dateformat == "dmydot") { - if (date.search(/^\d{2}\.\d{2}\.\d{4}($|\s)/) == -1) return 0; - dateformat = "d.m.Y"; - } - try { - flatpickr.parseDate(date, dateformat); - } catch (e) { - return 0; - } - return 1; -} - -function get_dateformat_str(dateformat) { - var dateformat_str; - if (dateformat == "us") { - dateformat_str = "mm/dd/yyyy"; - } else if (dateformat == "metric") { - dateformat_str = "dd/mm/yyyy"; - } else if (dateformat == "iso") { - dateformat_str = "yyyy-mm-dd"; - } else if (dateformat == "dmydot") { - dateformat_str = "dd.mm.yyyy"; - } - return dateformat_str; -} - -function validate_date(dateText, inst) { - if (!is_valid_date(dateText)) { - var dateformat_str = get_dateformat_str(dateformat_pref); - alert(MSG_PLEASE_ENTER_A_VALID_DATE.format(dateformat_str)); - inst.clear(); - } -} - function Date_from_syspref(dstring) { var dateX = dstring.split(/[-/.]/); if (debug > 1 && sentmsg < 1) { diff --git a/koha-tmpl/intranet-tmpl/prog/js/onboarding.js b/koha-tmpl/intranet-tmpl/prog/js/onboarding.js index 31937eca68..339b341d99 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/onboarding.js +++ b/koha-tmpl/intranet-tmpl/prog/js/onboarding.js @@ -130,7 +130,6 @@ $(document).ready(function () { return $("#enrolmentperiod").val() === ""; }, enrollment_period: true, - // is_valid_date ($(#"enrolementperioddate").val()); }, dateofbirthrequired: { digits: true, diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/calendar.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/calendar.inc index 240fa9953c..3f9d1dd78b 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/calendar.inc +++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/calendar.inc @@ -42,20 +42,6 @@ altinput_dateformat = 'yyyy/mm/dd'; delimiter = "-"; } - - function get_dateformat_str(dateformat) { - var dateformat_str; - if (dateformat == 'us') { - dateformat_str = 'mm/dd/yyyy'; - } else if (dateformat == 'metric') { - dateformat_str = 'dd/mm/yyyy'; - } else if (dateformat == 'iso') { - dateformat_str = 'yyyy-mm-dd'; - } else if (dateformat == 'dmydot') { - dateformat_str = 'dd.mm.yyyy'; - } - return dateformat_str; - } [% Asset.js("lib/flatpickr/flatpickr.min.js") | $raw %] [% Asset.js("lib/maskito/maskito.core.js") | $raw %] @@ -117,7 +103,6 @@ new Maskito(instance.altInput, options); }, onClose: function (selectedDates, dateText, instance) { - validate_date(dateText, instance); var thisInput = instance.input; if (thisInput.hasAttribute("data-start_for")) { var endPicker = document.querySelector("#" + thisInput.dataset.start_for)._flatpickr; @@ -128,39 +113,6 @@ var MSG_PLEASE_ENTER_A_VALID_DATE = _("Please enter a valid date (should match %s)."); - function is_valid_date(date) { - // An empty string is considered as a valid date for convenient reasons. - if (date === "") return 1; - var dateformat = flatpickr_dateformat_string; - switch (dateformat_pref) { - case "us": - flatpickr_dateformat_string = "m/d/Y"; - break; - case "metric": - flatpickr_dateformat_string = "d/m/Y"; - break; - case "dmydot": - flatpickr_dateformat_string = "d.m.Y"; - break; - default: - flatpickr_dateformat_string = "Y-m-d"; - } - try { - flatpickr.parseDate(date, dateformat); - } catch (e) { - return 0; - } - return 1; - } - - function validate_date(dateText, inst) { - if (!is_valid_date(dateText)) { - var dateformat_str = get_dateformat_str(dateformat_pref); - alert(MSG_PLEASE_ENTER_A_VALID_DATE.format(dateformat_str)); - inst.clear(); - } - } - $(document).ready(function () { $(".flatpickr").each(function () { let options = {}; -- 2.34.1