@@ -, +, @@ --- 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 %] --