@@ -, +, @@ members.js again link next to any attribute form field should work to clear the field. attribute defined, it should be possible to click the "New" link to add another instance of that attribute's entry field. attribute defined which is limited to a single patron category, changing the patron category selection should correctly show or hide the attribute entry form. category it should be possible to search for and select a guarantor to add to the record by clicking the "Set to patron" button. Selecting a new guarantor should change the text of the button from "Set to patron" to "Change." from hitting "ENTER" in any form field to submit the form. category, it should be possible to clear existing guarantor information by clicking the "Delete" button. Clicking the "Delete" button should change the text of the adjacent button to "Set to patron." to use the drop-down menu of cities to populate the city, state, zip, and country fields. The drop-down menu of years should go back 100 years. message showing the user's age in years or months. Test with values which will show an age of 1 month, between 2 and 11 months, 1 year, and more than one year. valid email address be entered in the primary email, secondary email, and alternate address email fields. display the form for adding a manual restriction, and clicking the "Cancel" link should hide it. --- koha-tmpl/intranet-tmpl/prog/en/js/members.js | 36 ++++- .../prog/en/modules/members/memberentrygen.tt | 147 +-------------------- 2 files changed, 40 insertions(+), 143 deletions(-) --- a/koha-tmpl/intranet-tmpl/prog/en/js/members.js +++ a/koha-tmpl/intranet-tmpl/prog/en/js/members.js @@ -219,8 +219,8 @@ function select_user(borrowernumber, borrower) { function CalculateAge(dateofbirth) { var today = new Date(); - var dob = Date_from_syspref(dateofbirth) - var age = new Object(); + var dob = Date_from_syspref(dateofbirth); + var age = {}; age.year = today.getFullYear() - dob.getFullYear(); age.month = today.getMonth() - dob.getMonth(); @@ -238,6 +238,33 @@ function CalculateAge(dateofbirth) { return age; } +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 = LABEL_AGE + ": "; + } + + if (age.year) { + age_string += age.year > 1 ? MSG_YEARS.format(age.year) : MSG_YEAR.format(age.year); + age_string += " "; + } + + if (age.month) { + age_string += age.month > 1 ? MSG_MONTHS.format(age.month) : MSG_MONTH.format(age.month); + } + + hint.html(age_string); +} + $(document).ready(function(){ if($("#yesdebarred").is(":checked")){ $("#debarreduntil").show(); @@ -278,6 +305,11 @@ $(document).ready(function(){ }); $("#dateofbirth").datepicker({ maxDate: "-1D", yearRange: "c-120:" }); + dateformat = $("#dateofbirth").siblings(".hint").first().html(); + + if( $('#dateofbirth').length ) { + write_age(); + } $("#entryform").validate({ rules: { --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt @@ -7,7 +7,6 @@ --