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

(-)a/koha-tmpl/intranet-tmpl/prog/en/js/members.js (+51 lines)
Lines 217-222 function select_user(borrowernumber, borrower) { Link Here
217
    return 0;
217
    return 0;
218
}
218
}
219
219
220
function CalculateAge() {
221
    var hint = $("#dateofbirth").siblings(".hint").first();
222
    hint.html(dateformat);
223
224
    if (dformat == 'metric' && false === CheckDate(document.form.dateofbirth)) {
225
        return;
226
    }
227
228
    if (!$("#dateofbirth").datepicker( 'getDate' )) {
229
        return;
230
    }
231
232
    var today = new Date();
233
    var dob = new Date($("#dateofbirth").datepicker( 'getDate' ));
234
235
    var nowyear = today.getFullYear();
236
    var nowmonth = today.getMonth();
237
    var nowday = today.getDate();
238
239
    var birthyear = dob.getFullYear();
240
    var birthmonth = dob.getMonth();
241
    var birthday = dob.getDate();
242
243
    var year = nowyear - birthyear;
244
    var month = nowmonth - birthmonth;
245
    var day = nowday - birthday;
246
247
    if(day < 0) {
248
        month = parseInt(month) -1;
249
    }
250
251
    if(month < 0) {
252
        year = parseInt(year) -1;
253
        month = 12 + month;
254
    }
255
256
    var age_string;
257
    if (year || month) {
258
        age_string = _('Age: ');
259
    }
260
    if (year) {
261
        age_string += _(year > 1 ? '%s years ' : '%s year ').format(year);
262
    }
263
264
    if (month) {
265
        age_string += _(month > 1 ? '%s months ' : '%s month ').format(month);
266
    }
267
268
    hint.html(age_string);
269
}
270
220
$(document).ready(function(){
271
$(document).ready(function(){
221
    if($("#yesdebarred").is(":checked")){
272
    if($("#yesdebarred").is(":checked")){
222
        $("#debarreduntil").show();
273
        $("#debarreduntil").show();
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt (-6 / +114 lines)
Lines 16-23 Link Here
16
                update_category_code( category_code );
16
                update_category_code( category_code );
17
            }
17
            }
18
        [% END %]
18
        [% END %]
19
        $("#dateofbirth").datepicker({ maxDate: "-1D", yearRange: "c-120:" });
20
        dateformat = $("#dateofbirth").siblings(".hint").first().html();
21
        CalculateAge();
22
        $("#entryform").validate({
23
            rules: {
24
                email: {
25
                    email: true
26
                },
27
                emailpro: {
28
                    email: true
29
                },
30
                B_email: {
31
                    email: true
32
                }
33
            },
34
            submitHandler: function(form) {
35
                $("body, form input[type='submit'], form button[type='submit'], form a").addClass('waiting');
36
                if (form.beenSubmitted)
37
                    return false;
38
                else
39
                    form.beenSubmitted = true;
40
                    form.submit();
41
                }
42
        });
43
44
        var mrform = $("#manual_restriction_form");
45
        var mrlink = $("#add_manual_restriction");
46
        mrform.hide();
47
        mrlink.on("click",function(e){
48
            $(this).hide();
49
            mrform.show();
50
            e.preventDefault();
51
        });
52
        $("#cancel_manual_restriction").on("click",function(e){
53
            $('#debarred_expiration').val('');
54
            $('#add_debarment').val(0);
55
            $('#debarred_comment').val('');
56
            mrlink.show();
57
            mrform.hide();
58
            e.preventDefault();
59
        });
19
    });
60
    });
20
61
62
    function clear_entry(node) {
63
        var original = $(node).parent();
64
        $("textarea", original).attr('value', '');
65
        $("select", original).attr('value', '');
66
    }
67
68
    function clone_entry(node) {
69
        var original = $(node).parent();
70
        var clone = original.clone();
71
72
        var newId = 50 + parseInt(Math.random() * 100000);
73
        $("input,select,textarea", clone).attr('id', function() {
74
            return this.id.replace(/patron_attr_\d+/, 'patron_attr_' + newId);
75
        });
76
        $("input,select,textarea", clone).attr('name', function() {
77
            return this.name.replace(/patron_attr_\d+/, 'patron_attr_' + newId);
78
        });
79
        $("label", clone).attr('for', function() {
80
            return $(this).attr("for").replace(/patron_attr_\d+/, 'patron_attr_' + newId);
81
        });
82
        $("input#patron_attr_" + newId, clone).attr('value','');
83
        $("select#patron_attr_" + newId, clone).attr('value','');
84
        $(original).after(clone);
85
        return false;
86
    }
87
88
    function update_category_code(category_code) {
89
        if ( $(category_code).is("select") ) {
90
            category_code = $("#categorycode_entry").find("option:selected").val();
91
        }
92
        var mytables = $(".attributes_table");
93
        $(mytables).find("li").hide();
94
        $(mytables).find(" li[data-category_code='"+category_code+"']").show();
95
        $(mytables).find(" li[data-category_code='']").show();
96
    }
97
98
    function select_user(borrowernumber, borrower) {
99
        var form = $('#entryform').get(0);
100
        if (form.guarantorid.value) {
101
            $("#contact-details").find('a').remove();
102
            $("#contactname, #contactfirstname").parent().find('span').remove();
103
        }
104
105
        var id = borrower.borrowernumber;
106
        form.guarantorid.value = id;
107
        $('#contact-details')
108
            .show()
109
            .find('span')
110
            .after('<a target="blank" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=' + id + '">' + id + '</a>');
111
112
        $(form.contactname)
113
            .val(borrower.surname)
114
            .before('<span>' + borrower.surname + '</span>').get(0).type = 'hidden';
115
        $(form.contactfirstname)
116
            .val(borrower.firstname)
117
            .before('<span>' + borrower.firstname + '</span>').get(0).type = 'hidden';
118
119
        form.streetnumber.value = borrower.streetnumber;
120
        form.address.value = borrower.address;
121
        form.address2.value = borrower.address2;
122
        form.city.value = borrower.city;
123
        form.state.value = borrower.state;
124
        form.zipcode.value = borrower.zipcode;
125
        form.country.value = borrower.country;
126
        form.branchcode.value = borrower.branchcode;
127
128
        form.guarantorsearch.value = _("Change");
129
130
        return 0;
131
    }
132
133
>>>>>>> Bug 15206 - Show patron's age under date of birth in memberentry.pl
21
        var MSG_SEPARATOR = _("Separator must be / in field %s");
134
        var MSG_SEPARATOR = _("Separator must be / in field %s");
22
        var MSG_INCORRECT_DAY = _("Invalid day entered in field %s");
135
        var MSG_INCORRECT_DAY = _("Invalid day entered in field %s");
23
        var MSG_INCORRECT_MONTH = _("Invalid month entered in field %s");
136
        var MSG_INCORRECT_MONTH = _("Invalid month entered in field %s");
Lines 216-226 Link Here
216
                [% END %]
329
                [% END %]
217
                Date of birth: </label>
330
                Date of birth: </label>
218
331
219
        [% IF ( dateformat == "metric" ) %]
332
                <input type="text" id="dateofbirth" name="dateofbirth" size="20" onchange="CalculateAge();" value="[% UNLESS opduplicate %][% dateofbirth %][% END %]" />
220
                <input type="text" id="dateofbirth" name="dateofbirth" size="20" onchange="CheckDate(document.form.dateofbirth);" value="[% UNLESS opduplicate %][% dateofbirth %][% END %]" />
221
        [% ELSE %]
222
                <input type="text" id="dateofbirth" name="dateofbirth" size="20" value="[% UNLESS opduplicate %][% dateofbirth %][% END %]" />
223
        [% END %]
224
333
225
        [% IF ( mandatorydateofbirth ) %]<span class="required">Required</span>[% END %]
334
        [% IF ( mandatorydateofbirth ) %]<span class="required">Required</span>[% END %]
226
        [% IF ( ERROR_dateofbirth ) %]<span class="required">(Error)</span>[% END %]
335
        [% IF ( ERROR_dateofbirth ) %]<span class="required">(Error)</span>[% END %]
227
- 

Return to bug 15206