View | Details | Raw Unified | Return to bug 41061
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/calendar.inc (-1 lines)
Lines 144-150 Link Here
144
                }
144
                }
145
            },
145
            },
146
            onClose: function( selectedDates, dateText, instance) {
146
            onClose: function( selectedDates, dateText, instance) {
147
                validate_date( dateText, instance );
148
                var thisInput = instance.input;
147
                var thisInput = instance.input;
149
                if ( thisInput.hasAttribute('data-date_to') ) {
148
                if ( thisInput.hasAttribute('data-date_to') ) {
150
                    var endPicker = document.querySelector("#"+thisInput.dataset.date_to)._flatpickr;
149
                    var endPicker = document.querySelector("#"+thisInput.dataset.date_to)._flatpickr;
(-)a/koha-tmpl/intranet-tmpl/prog/js/calendar.js (-47 lines)
Lines 9-61 if (debug > 1) { Link Here
9
    );
9
    );
10
}
10
}
11
11
12
function is_valid_date(date) {
13
    // An empty string is considered as a valid date for convenient reasons.
14
    if (date === "") return 1;
15
    var dateformat = flatpickr_dateformat_string;
16
    if (dateformat == "us") {
17
        if (date.search(/^\d{2}\/\d{2}\/\d{4}($|\s)/) == -1) return 0;
18
        dateformat = "m/d/Y";
19
    } else if (dateformat == "metric") {
20
        if (date.search(/^\d{2}\/\d{2}\/\d{4}($|\s)/) == -1) return 0;
21
        dateformat = "d/m/Y";
22
    } else if (dateformat == "iso") {
23
        if (date.search(/^\d{4}-\d{2}-\d{2}($|\s)/) == -1) return 0;
24
        dateformat = "Y-m-d";
25
    } else if (dateformat == "dmydot") {
26
        if (date.search(/^\d{2}\.\d{2}\.\d{4}($|\s)/) == -1) return 0;
27
        dateformat = "d.m.Y";
28
    }
29
    try {
30
        flatpickr.parseDate(date, dateformat);
31
    } catch (e) {
32
        return 0;
33
    }
34
    return 1;
35
}
36
37
function get_dateformat_str(dateformat) {
38
    var dateformat_str;
39
    if (dateformat == "us") {
40
        dateformat_str = "mm/dd/yyyy";
41
    } else if (dateformat == "metric") {
42
        dateformat_str = "dd/mm/yyyy";
43
    } else if (dateformat == "iso") {
44
        dateformat_str = "yyyy-mm-dd";
45
    } else if (dateformat == "dmydot") {
46
        dateformat_str = "dd.mm.yyyy";
47
    }
48
    return dateformat_str;
49
}
50
51
function validate_date(dateText, inst) {
52
    if (!is_valid_date(dateText)) {
53
        var dateformat_str = get_dateformat_str(dateformat_pref);
54
        alert(MSG_PLEASE_ENTER_A_VALID_DATE.format(dateformat_str));
55
        inst.clear();
56
    }
57
}
58
59
function Date_from_syspref(dstring) {
12
function Date_from_syspref(dstring) {
60
    var dateX = dstring.split(/[-/.]/);
13
    var dateX = dstring.split(/[-/.]/);
61
    if (debug > 1 && sentmsg < 1) {
14
    if (debug > 1 && sentmsg < 1) {
(-)a/koha-tmpl/intranet-tmpl/prog/js/onboarding.js (-1 lines)
Lines 130-136 $(document).ready(function () { Link Here
130
                    return $("#enrolmentperiod").val() === "";
130
                    return $("#enrolmentperiod").val() === "";
131
                },
131
                },
132
                enrollment_period: true,
132
                enrollment_period: true,
133
                // is_valid_date ($(#"enrolementperioddate").val());
134
            },
133
            },
135
            dateofbirthrequired: {
134
            dateofbirthrequired: {
136
                digits: true,
135
                digits: true,
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/includes/calendar.inc (-49 lines)
Lines 42-61 Link Here
42
            altinput_dateformat = 'yyyy/mm/dd';
42
            altinput_dateformat = 'yyyy/mm/dd';
43
            delimiter = "-";
43
            delimiter = "-";
44
    }
44
    }
45
46
    function get_dateformat_str(dateformat) {
47
        var dateformat_str;
48
        if (dateformat == 'us') {
49
            dateformat_str = 'mm/dd/yyyy';
50
        } else if (dateformat == 'metric') {
51
            dateformat_str = 'dd/mm/yyyy';
52
        } else if (dateformat == 'iso') {
53
            dateformat_str = 'yyyy-mm-dd';
54
        } else if (dateformat == 'dmydot') {
55
            dateformat_str = 'dd.mm.yyyy';
56
        }
57
        return dateformat_str;
58
    }
59
</script>
45
</script>
60
[% Asset.js("lib/flatpickr/flatpickr.min.js") | $raw %]
46
[% Asset.js("lib/flatpickr/flatpickr.min.js") | $raw %]
61
[% Asset.js("lib/maskito/maskito.core.js") | $raw %]
47
[% Asset.js("lib/maskito/maskito.core.js") | $raw %]
Lines 117-123 Link Here
117
            new Maskito(instance.altInput, options);
103
            new Maskito(instance.altInput, options);
118
        },
104
        },
119
        onClose: function (selectedDates, dateText, instance) {
105
        onClose: function (selectedDates, dateText, instance) {
120
            validate_date(dateText, instance);
121
            var thisInput = instance.input;
106
            var thisInput = instance.input;
122
            if (thisInput.hasAttribute("data-start_for")) {
107
            if (thisInput.hasAttribute("data-start_for")) {
123
                var endPicker = document.querySelector("#" + thisInput.dataset.start_for)._flatpickr;
108
                var endPicker = document.querySelector("#" + thisInput.dataset.start_for)._flatpickr;
Lines 128-166 Link Here
128
113
129
    var MSG_PLEASE_ENTER_A_VALID_DATE = _("Please enter a valid date (should match %s).");
114
    var MSG_PLEASE_ENTER_A_VALID_DATE = _("Please enter a valid date (should match %s).");
130
115
131
    function is_valid_date(date) {
132
        // An empty string is considered as a valid date for convenient reasons.
133
        if (date === "") return 1;
134
        var dateformat = flatpickr_dateformat_string;
135
        switch (dateformat_pref) {
136
            case "us":
137
                flatpickr_dateformat_string = "m/d/Y";
138
                break;
139
            case "metric":
140
                flatpickr_dateformat_string = "d/m/Y";
141
                break;
142
            case "dmydot":
143
                flatpickr_dateformat_string = "d.m.Y";
144
                break;
145
            default:
146
                flatpickr_dateformat_string = "Y-m-d";
147
        }
148
        try {
149
            flatpickr.parseDate(date, dateformat);
150
        } catch (e) {
151
            return 0;
152
        }
153
        return 1;
154
    }
155
156
    function validate_date(dateText, inst) {
157
        if (!is_valid_date(dateText)) {
158
            var dateformat_str = get_dateformat_str(dateformat_pref);
159
            alert(MSG_PLEASE_ENTER_A_VALID_DATE.format(dateformat_str));
160
            inst.clear();
161
        }
162
    }
163
164
    $(document).ready(function () {
116
    $(document).ready(function () {
165
        $(".flatpickr").each(function () {
117
        $(".flatpickr").each(function () {
166
            let options = {};
118
            let options = {};
167
- 

Return to bug 41061