@@ -, +, @@
---
koha-tmpl/intranet-tmpl/prog/en/js/members.js | 53 +++++-----------------
.../prog/en/modules/members/memberentrygen.tt | 30 +++++++++++-
2 files changed, 39 insertions(+), 44 deletions(-)
--- a/koha-tmpl/intranet-tmpl/prog/en/js/members.js
+++ a/koha-tmpl/intranet-tmpl/prog/en/js/members.js
@@ -147,56 +147,25 @@ function Dopopguarantor(link) {
var newin=window.open(link,'popup','width=600,height=400,resizable=no,toolbar=false,scrollbars=yes,top');
}
-function CalculateAge() {
- var hint = $("#dateofbirth").siblings(".hint").first();
- hint.html(dateformat);
-
- if (dformat == 'metric' && false === CheckDate(document.form.dateofbirth)) {
- return;
- }
-
- if (!$("#dateofbirth").datepicker( 'getDate' )) {
- return;
- }
-
+function CalculateAge(dateofbirth) {
var today = new Date();
- var dob = new Date($("#dateofbirth").datepicker( 'getDate' ));
-
- var nowyear = today.getFullYear();
- var nowmonth = today.getMonth();
- var nowday = today.getDate();
+ var dob = Date_from_syspref(dateofbirth)
+ var age = new Object();
- var birthyear = dob.getFullYear();
- var birthmonth = dob.getMonth();
- var birthday = dob.getDate();
-
- var year = nowyear - birthyear;
- var month = nowmonth - birthmonth;
- var day = nowday - birthday;
+ age.year = today.getFullYear() - dob.getFullYear();
+ age.month = today.getMonth() - dob.getMonth();
+ var day = today.getDate() - dob.getDate();
if(day < 0) {
- month = parseInt(month) -1;
- }
-
- if(month < 0) {
- year = parseInt(year) -1;
- month = 12 + month;
+ age.month = parseInt(age.month) -1;
}
- var age_string;
- if (year || month) {
- age_string = _('Age: ');
- }
- if (year) {
- age_string += _(year > 1 ? '%s years ' : '%s year ').format(year);
+ if(age.month < 0) {
+ age.year = parseInt(age.year) -1;
+ age.month = 12 + age.month;
}
- if (month) {
- age_string += _(month > 1 ? '%s months ' : '%s month ').format(month);
- }
-
- hint.html(age_string);
-
+ return age;
}
$(document).ready(function(){
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt
@@ -35,7 +35,7 @@
[% END %]
$("#dateofbirth").datepicker({ maxDate: "-1D", yearRange: "c-120:" });
dateformat = $("#dateofbirth").siblings(".hint").first().html();
- CalculateAge();
+ write_age();
$("#entryform").validate({
rules: {
email: {
@@ -147,6 +147,32 @@
return 0;
}
+ function write_age() {
+ var hint = $("#dateofbirth").siblings(".hint").first();
+ hint.html(dateformat);
+
+ var age = CalculateAge(document.form.dateofbirth.value);
+
+ if (!age.year && !age.month) {
+ return;
+ }
+
+ var age_string;
+ if (age.year || age.month) {
+ age_string = _('Age: ');
+ }
+
+ if (age.year) {
+ age_string += _(age.year > 1 ? '%s years ' : '%s year ').format(age.year);
+ }
+
+ if (age.month) {
+ age_string += _(age.month > 1 ? '%s months ' : '%s month ').format(age.month);
+ }
+
+ hint.html(age_string);
+ }
+
var MSG_SEPARATOR = _("Separator must be / in field %s");
var MSG_INCORRECT_DAY = _("Invalid day entered in field %s");
var MSG_INCORRECT_MONTH = _("Invalid month entered in field %s");
@@ -343,7 +369,7 @@
[% END %]
Date of birth:
-
+
[% IF ( mandatorydateofbirth ) %]Required[% END %]
[% IF ( ERROR_dateofbirth ) %](Error)[% END %]
--