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

(-)a/koha-tmpl/intranet-tmpl/prog/en/js/members.js (-2 / +30 lines)
Lines 219-226 function select_user(borrowernumber, borrower) { Link Here
219
219
220
function CalculateAge(dateofbirth) {
220
function CalculateAge(dateofbirth) {
221
    var today = new Date();
221
    var today = new Date();
222
    var dob = Date_from_syspref(dateofbirth)
222
    var dob = Date_from_syspref(dateofbirth);
223
    var age = new Object();
223
    var age = {};
224
224
225
    age.year = today.getFullYear() - dob.getFullYear();
225
    age.year = today.getFullYear() - dob.getFullYear();
226
    age.month = today.getMonth() - dob.getMonth();
226
    age.month = today.getMonth() - dob.getMonth();
Lines 238-243 function CalculateAge(dateofbirth) { Link Here
238
    return age;
238
    return age;
239
}
239
}
240
240
241
function write_age() {
242
    var hint = $("#dateofbirth").siblings(".hint").first();
243
    hint.html(dateformat);
244
245
    var age = CalculateAge(document.form.dateofbirth.value);
246
247
    if (!age.year && !age.month) {
248
        return;
249
    }
250
251
    var age_string;
252
    if (age.year || age.month) {
253
        age_string = LABEL_AGE + ": ";
254
    }
255
256
    if (age.year) {
257
        age_string += age.year > 1 ? MSG_YEARS.format(age.year) : MSG_YEAR.format(age.year);
258
        age_string += " ";
259
    }
260
261
    if (age.month) {
262
        age_string += age.month > 1 ? MSG_MONTHS.format(age.month) : MSG_MONTH.format(age.month);
263
    }
264
265
    hint.html(age_string);
266
}
267
241
$(document).ready(function(){
268
$(document).ready(function(){
242
    if($("#yesdebarred").is(":checked")){
269
    if($("#yesdebarred").is(":checked")){
243
        $("#debarreduntil").show();
270
        $("#debarreduntil").show();
Lines 278-283 $(document).ready(function(){ Link Here
278
    });
305
    });
279
306
280
    $("#dateofbirth").datepicker({ maxDate: "-1D", yearRange: "c-120:" });
307
    $("#dateofbirth").datepicker({ maxDate: "-1D", yearRange: "c-120:" });
308
    dateformat = $("#dateofbirth").siblings(".hint").first().html();
281
309
282
    $("#entryform").validate({
310
    $("#entryform").validate({
283
        rules: {
311
        rules: {
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt (-140 / +6 lines)
Lines 7-13 Link Here
7
<script type="text/javascript">
7
<script type="text/javascript">
8
//<![CDATA[
8
//<![CDATA[
9
$(document).ready(function() {
9
$(document).ready(function() {
10
11
	[% IF categorycode %]
10
	[% IF categorycode %]
12
		update_category_code( "[% categorycode %]" );
11
		update_category_code( "[% categorycode %]" );
13
	[% ELSE %]
12
	[% ELSE %]
Lines 16-161 $(document).ready(function() { Link Here
16
			update_category_code( category_code );
15
			update_category_code( category_code );
17
		}
16
		}
18
	[% END %]
17
	[% END %]
19
	$("#dateofbirth").datepicker({ maxDate: "-1D", yearRange: "c-120:" });
20
	dateformat = $("#dateofbirth").siblings(".hint").first().html();
21
	write_age();
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
	});
60
});
18
});
61
19
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
    function write_age() {
134
        var hint = $("#dateofbirth").siblings(".hint").first();
135
        hint.html(dateformat);
136
137
        var age = CalculateAge(document.form.dateofbirth.value);
138
139
        if (!age.year && !age.month) {
140
            return;
141
        }
142
143
        var age_string;
144
        if (age.year || age.month) {
145
            age_string = _("Age: ");
146
        }
147
148
        if (age.year) {
149
            age_string += age.year > 1 ? _("%s years ").format(age.year) : _("%s year ").format(age.year);
150
        }
151
152
        if (age.month) {
153
            age_string += age.month > 1 ? _("%s months ").format(age.month) : _("%s month ").format(age.month);
154
        }
155
156
        hint.html(age_string);
157
    }
158
159
        var MSG_SEPARATOR = _("Separator must be / in field %s");
20
        var MSG_SEPARATOR = _("Separator must be / in field %s");
160
        var MSG_INCORRECT_DAY = _("Invalid day entered in field %s");
21
        var MSG_INCORRECT_DAY = _("Invalid day entered in field %s");
161
        var MSG_INCORRECT_MONTH = _("Invalid month entered in field %s");
22
        var MSG_INCORRECT_MONTH = _("Invalid month entered in field %s");
Lines 166-173 function select_user(borrowernumber, borrower) { Link Here
166
        var MSG_DUPLICATE_SUSPICION = _("Please confirm whether this is a duplicate patron");
27
        var MSG_DUPLICATE_SUSPICION = _("Please confirm whether this is a duplicate patron");
167
        var MSG_PASSWORD_MISMATCH = _("The passwords entered do not match");
28
        var MSG_PASSWORD_MISMATCH = _("The passwords entered do not match");
168
        var MSG_PASSWORD_CONTAINS_TRAILING_SPACES = _("Password contains leading and/or trailing spaces.");
29
        var MSG_PASSWORD_CONTAINS_TRAILING_SPACES = _("Password contains leading and/or trailing spaces.");
30
        var MSG_MONTH = _("%s month")
31
        var MSG_MONTHS = _("%s months")
32
        var MSG_YEAR = _("%s year")
33
        var MSG_YEARS = _("%s years")
169
        var LABEL_CHANGE = _("Change");
34
        var LABEL_CHANGE = _("Change");
170
        var LABEL_SET_TO_PATRON = _("Set to patron");
35
        var LABEL_SET_TO_PATRON = _("Set to patron");
36
        var LABEL_AGE = _("Age");
37
171
//]]>
38
//]]>
172
</script>
39
</script>
173
<script type="text/javascript" src="[% themelang %]/js/members.js"></script>
40
<script type="text/javascript" src="[% themelang %]/js/members.js"></script>
174
- 

Return to bug 16228