Bugzilla – Attachment 49032 Details for
Bug 15206
Show patron's age when filling date of birth in memberentry.pl
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 15206 - Show patron's age under date of birth in memberentry.pl
Bug-15206---Show-patrons-age-under-date-of-birth-i.patch (text/plain), 8.08 KB, created by
Alex Arnaud
on 2016-03-11 14:29:55 UTC
(
hide
)
Description:
Bug 15206 - Show patron's age under date of birth in memberentry.pl
Filename:
MIME Type:
Creator:
Alex Arnaud
Created:
2016-03-11 14:29:55 UTC
Size:
8.08 KB
patch
obsolete
>From d5399f4b1bdd0764f969b4509ec7bb43219d4243 Mon Sep 17 00:00:00 2001 >From: Alex Arnaud <alex.arnaud@biblibre.com> >Date: Mon, 4 Jan 2016 14:49:04 +0100 >Subject: [PATCH] Bug 15206 - Show patron's age under date of birth in > memberentry.pl > >Test plan: > >Create or edit a patron (members/memberentry.pl), enter a date of birth >(for a new patron), patron'a age should be shown under > >Signed-off-by: Owen Leonard <oleonard@myacpl.org> > >Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >--- > koha-tmpl/intranet-tmpl/prog/en/js/members.js | 51 +++++++++ > .../prog/en/modules/members/memberentrygen.tt | 119 ++++++++++++++++++++- > 2 files changed, 165 insertions(+), 5 deletions(-) > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/js/members.js b/koha-tmpl/intranet-tmpl/prog/en/js/members.js >index 59deeae..1dd1cb8 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/js/members.js >+++ b/koha-tmpl/intranet-tmpl/prog/en/js/members.js >@@ -217,6 +217,57 @@ function select_user(borrowernumber, borrower) { > return 0; > } > >+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; >+ } >+ >+ var today = new Date(); >+ var dob = new Date($("#dateofbirth").datepicker( 'getDate' )); >+ >+ var nowyear = today.getFullYear(); >+ var nowmonth = today.getMonth(); >+ var nowday = today.getDate(); >+ >+ var birthyear = dob.getFullYear(); >+ var birthmonth = dob.getMonth(); >+ var birthday = dob.getDate(); >+ >+ var year = nowyear - birthyear; >+ var month = nowmonth - birthmonth; >+ var day = nowday - birthday; >+ >+ if(day < 0) { >+ month = parseInt(month) -1; >+ } >+ >+ if(month < 0) { >+ year = parseInt(year) -1; >+ month = 12 + month; >+ } >+ >+ var age_string; >+ if (year || month) { >+ age_string = _('Age: '); >+ } >+ if (year) { >+ age_string += _(year > 1 ? '%s years ' : '%s year ').format(year); >+ } >+ >+ if (month) { >+ age_string += _(month > 1 ? '%s months ' : '%s month ').format(month); >+ } >+ >+ hint.html(age_string); >+} >+ > $(document).ready(function(){ > if($("#yesdebarred").is(":checked")){ > $("#debarreduntil").show(); >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt >index 497c1a7..78c5e05 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt >@@ -16,8 +16,121 @@ > update_category_code( category_code ); > } > [% END %] >+ $("#dateofbirth").datepicker({ maxDate: "-1D", yearRange: "c-120:" }); >+ dateformat = $("#dateofbirth").siblings(".hint").first().html(); >+ CalculateAge(); >+ $("#entryform").validate({ >+ rules: { >+ email: { >+ email: true >+ }, >+ emailpro: { >+ email: true >+ }, >+ B_email: { >+ email: true >+ } >+ }, >+ submitHandler: function(form) { >+ $("body, form input[type='submit'], form button[type='submit'], form a").addClass('waiting'); >+ if (form.beenSubmitted) >+ return false; >+ else >+ form.beenSubmitted = true; >+ form.submit(); >+ } >+ }); >+ >+ var mrform = $("#manual_restriction_form"); >+ var mrlink = $("#add_manual_restriction"); >+ mrform.hide(); >+ mrlink.on("click",function(e){ >+ $(this).hide(); >+ mrform.show(); >+ e.preventDefault(); >+ }); >+ $("#cancel_manual_restriction").on("click",function(e){ >+ $('#debarred_expiration').val(''); >+ $('#add_debarment').val(0); >+ $('#debarred_comment').val(''); >+ mrlink.show(); >+ mrform.hide(); >+ e.preventDefault(); >+ }); > }); > >+ function clear_entry(node) { >+ var original = $(node).parent(); >+ $("textarea", original).attr('value', ''); >+ $("select", original).attr('value', ''); >+ } >+ >+ function clone_entry(node) { >+ var original = $(node).parent(); >+ var clone = original.clone(); >+ >+ var newId = 50 + parseInt(Math.random() * 100000); >+ $("input,select,textarea", clone).attr('id', function() { >+ return this.id.replace(/patron_attr_\d+/, 'patron_attr_' + newId); >+ }); >+ $("input,select,textarea", clone).attr('name', function() { >+ return this.name.replace(/patron_attr_\d+/, 'patron_attr_' + newId); >+ }); >+ $("label", clone).attr('for', function() { >+ return $(this).attr("for").replace(/patron_attr_\d+/, 'patron_attr_' + newId); >+ }); >+ $("input#patron_attr_" + newId, clone).attr('value',''); >+ $("select#patron_attr_" + newId, clone).attr('value',''); >+ $(original).after(clone); >+ return false; >+ } >+ >+ function update_category_code(category_code) { >+ if ( $(category_code).is("select") ) { >+ category_code = $("#categorycode_entry").find("option:selected").val(); >+ } >+ var mytables = $(".attributes_table"); >+ $(mytables).find("li").hide(); >+ $(mytables).find(" li[data-category_code='"+category_code+"']").show(); >+ $(mytables).find(" li[data-category_code='']").show(); >+ } >+ >+ function select_user(borrowernumber, borrower) { >+ var form = $('#entryform').get(0); >+ if (form.guarantorid.value) { >+ $("#contact-details").find('a').remove(); >+ $("#contactname, #contactfirstname").parent().find('span').remove(); >+ } >+ >+ var id = borrower.borrowernumber; >+ form.guarantorid.value = id; >+ $('#contact-details') >+ .show() >+ .find('span') >+ .after('<a target="blank" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=' + id + '">' + id + '</a>'); >+ >+ $(form.contactname) >+ .val(borrower.surname) >+ .before('<span>' + borrower.surname + '</span>').get(0).type = 'hidden'; >+ $(form.contactfirstname) >+ .val(borrower.firstname) >+ .before('<span>' + borrower.firstname + '</span>').get(0).type = 'hidden'; >+ >+ form.streetnumber.value = borrower.streetnumber; >+ form.address.value = borrower.address; >+ form.address2.value = borrower.address2; >+ form.city.value = borrower.city; >+ form.state.value = borrower.state; >+ form.zipcode.value = borrower.zipcode; >+ form.country.value = borrower.country; >+ form.branchcode.value = borrower.branchcode; >+ >+ form.guarantorsearch.value = _("Change"); >+ >+ return 0; >+ } >+ >+>>>>>>> Bug 15206 - Show patron's age under date of birth in memberentry.pl > 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"); >@@ -216,11 +329,7 @@ > [% END %] > Date of birth: </label> > >- [% IF ( dateformat == "metric" ) %] >- <input type="text" id="dateofbirth" name="dateofbirth" size="20" onchange="CheckDate(document.form.dateofbirth);" value="[% UNLESS opduplicate %][% dateofbirth %][% END %]" /> >- [% ELSE %] >- <input type="text" id="dateofbirth" name="dateofbirth" size="20" value="[% UNLESS opduplicate %][% dateofbirth %][% END %]" /> >- [% END %] >+ <input type="text" id="dateofbirth" name="dateofbirth" size="20" onchange="CalculateAge();" value="[% UNLESS opduplicate %][% dateofbirth %][% END %]" /> > > [% IF ( mandatorydateofbirth ) %]<span class="required">Required</span>[% END %] > [% IF ( ERROR_dateofbirth ) %]<span class="required">(Error)</span>[% END %] >-- >2.7.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 15206
:
44953
|
44978
|
45579
|
45580
|
45581
|
45589
|
45590
|
45591
|
45592
|
45593
|
45597
|
45598
|
45599
|
45600
|
45601
|
46228
|
46245
|
46396
|
47301
|
47505
|
47506
|
47540
|
47541
|
47542
| 49032 |
49033
|
49034