Bug 23013: Upgrade DataTables in the staff client
[koha.git] / koha-tmpl / intranet-tmpl / prog / js / categories.js
1 jQuery.validator.addMethod( "letters_numbers", function(value,element){
2     var patt = /^[a-zA-Z0-9\-_]+$/g;
3     if (patt.test(element.value)) {
4         return true;
5     } else {
6         return false;
7     }
8     }, MSG_CATEGORYCODE_CHARS
9 );
10
11 jQuery.validator.addMethod( "enrollment_period", function(){
12         enrolmentperiod = $("#enrolmentperiod").val();
13         enrolmentperioddate = $("#enrolmentperioddate").val();
14         if ( $("#enrolmentperiod").val() !== "" && $("#enrolmentperioddate").val() !== "" ) {
15             return false;
16         } else {
17             return true;
18         }
19     }, MSG_ONE_ENROLLMENTPERIOD
20 );
21
22
23 $(document).ready(function() {
24     KohaTable("patron_categories", {
25         "aoColumnDefs": [{
26             "aTargets": [-1],
27             "bSortable": false,
28             "bSearchable": false
29         }, {
30             "aTargets": [3, 4, 5],
31             "sType": "natural"
32         }, ],
33         "aaSorting": [
34             [1, "asc"]
35         ],
36         "sPaginationType": "full",
37         "exportColumns": [0,1,2,3,4,5,6,7,8,9,10,11,12],
38     }, columns_settings);
39
40     $("#enrolmentperioddate").datepicker({
41         minDate: 1
42     }); // Require that "until date" be in the future
43
44     if ($("#branches option:selected").length < 1) {
45         $("#branches option:first").attr("selected", "selected");
46     }
47
48     $("#categorycode").on("blur",function(){
49         toUC(this);
50     });
51
52     $("#category_form").validate({
53         rules: {
54             categorycode: {
55                 required: true,
56                 letters_numbers: true
57             },
58             description: "required",
59             enrolmentperiod: {
60                 required: function(element){
61                     return $("#enrolmentperioddate").val() === "";
62                 },
63                 digits: true,
64                 enrollment_period: true,
65                 min: 1
66             },
67             enrolmentperioddate: {
68                 required: function(element){
69                     return $("#enrolmentperiod").val() === "";
70                 },
71                 enrollment_period: true
72             },
73             dateofbirthrequired: {
74                 digits: true
75             },
76             upperagelimit: {
77                 digits: true
78             },
79             enrolmentfee: {
80                 number: true
81             },
82             reservefee: {
83                 number: true
84             },
85             category_type: {
86                 required: true
87             }
88         },
89         messages: {
90             enrolmentperiod: {
91                 required: MSG_ONE_ENROLLMENTPERIOD
92             },
93             enrolmentperioddate: {
94                 required: MSG_ONE_ENROLLMENTPERIOD
95             }
96         }
97
98     });
99 });