Bug 30514: Error in date format check following datepicker removal
This patch corrects the is_valid_date function in the OPAC and staff interface so that it work correctly with Flatpickr. To test, apply the patch and clear your browser cache if necessary. - In the staff client, locate a bibliographic record and edit its items. - Test that the "Date acquired" date picker works correctly and that there are no errors in the browser console. - Test other date input fields to check that they still work, e.g. specify due date during checkout; Catalog statistics wizard; Patron entry/modification, etc. - Perform similar tests in the OPAC: Hold suspension; Update your personal details. Signed-off-by: David Cook <dcook@prosentient.com.au> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de> Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
parent
cbc3b19cdb
commit
bda0b1fd03
|
|
@ -1,4 +1,4 @@
|
|||
/* global debug sentmsg __ dateformat_pref dateformat_string bidi calendarFirstDayOfWeek */
|
||||
/* global debug sentmsg __ dateformat_pref flatpickr_dateformat_string bidi calendarFirstDayOfWeek */
|
||||
/* exported DateTime_from_syspref flatpickr_weekdays flatpickr_months */
|
||||
var MSG_PLEASE_ENTER_A_VALID_DATE = ( __("Please enter a valid date (should match %s).") );
|
||||
if (debug > 1) {
|
||||
|
|
@ -8,19 +8,19 @@ 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 = dateformat_string;
|
||||
var dateformat = flatpickr_dateformat_string;
|
||||
if (dateformat == 'us') {
|
||||
if (date.search(/^\d{2}\/\d{2}\/\d{4}($|\s)/) == -1) return 0;
|
||||
dateformat = 'mm/dd/yy';
|
||||
dateformat = 'm/d/Y';
|
||||
} else if (dateformat == 'metric') {
|
||||
if (date.search(/^\d{2}\/\d{2}\/\d{4}($|\s)/) == -1) return 0;
|
||||
dateformat = 'dd/mm/yy';
|
||||
dateformat = 'd/m/Y';
|
||||
} else if (dateformat == 'iso') {
|
||||
if (date.search(/^\d{4}-\d{2}-\d{2}($|\s)/) == -1) return 0;
|
||||
dateformat = 'yy-mm-dd';
|
||||
dateformat = 'Y-m-d';
|
||||
} else if (dateformat == 'dmydot') {
|
||||
if (date.search(/^\d{2}\.\d{2}\.\d{4}($|\s)/) == -1) return 0;
|
||||
dateformat = 'dd.mm.yy';
|
||||
dateformat = 'd.m.Y';
|
||||
}
|
||||
try {
|
||||
flatpickr.parseDate(date, dateformat);
|
||||
|
|
|
|||
|
|
@ -18,23 +18,18 @@
|
|||
var calendarFirstDayOfWeek = '[% Koha.Preference('CalendarFirstDayOfWeek') | html %]';
|
||||
var flatpickr_timeformat_string = [% IF Koha.Preference('TimeFormat') == '12hr' %]"G:i K"[% ELSE %]"H:i"[% END %];
|
||||
var flatpickr_timeformat = [% IF Koha.Preference('TimeFormat') == '12hr' %]false[% ELSE %]true[% END %];
|
||||
var dateformat_string = "";
|
||||
var flatpickr_dateformat_string = "";
|
||||
switch ( dateformat_pref ){
|
||||
case "us":
|
||||
dateformat_string = "mm/dd/yy";
|
||||
flatpickr_dateformat_string = "m/d/Y";
|
||||
break;
|
||||
case "metric":
|
||||
dateformat_string = "dd/mm/yy";
|
||||
flatpickr_dateformat_string = "d/m/Y";
|
||||
break;
|
||||
case "dmydot":
|
||||
dateformat_string = "dd.mm.yy";
|
||||
flatpickr_dateformat_string = "d.m.Y";
|
||||
break;
|
||||
default:
|
||||
dateformat_string = "yy-mm-dd";
|
||||
flatpickr_dateformat_string = "Y-m-d";
|
||||
}
|
||||
</script>
|
||||
|
|
@ -94,19 +89,19 @@
|
|||
function is_valid_date(date) {
|
||||
// An empty string is considered as a valid date for convenient reasons.
|
||||
if (date === '') return 1;
|
||||
var dateformat = dateformat_string;
|
||||
if (dateformat == 'us') {
|
||||
if (date.search(/^\d{2}\/\d{2}\/\d{4}($|\s)/) == -1) return 0;
|
||||
dateformat = 'mm/dd/yy';
|
||||
} else if (dateformat == 'metric') {
|
||||
if (date.search(/^\d{2}\/\d{2}\/\d{4}($|\s)/) == -1) return 0;
|
||||
dateformat = 'dd/mm/yy';
|
||||
} else if (dateformat == 'iso') {
|
||||
if (date.search(/^\d{4}-\d{2}-\d{2}($|\s)/) == -1) return 0;
|
||||
dateformat = 'yy-mm-dd';
|
||||
} else if (dateformat == 'dmydot') {
|
||||
if (date.search(/^\d{2}\.\d{2}\.\d{4}($|\s)/) == -1) return 0;
|
||||
dateformat = 'dd.mm.yy';
|
||||
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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue