From a675f22b52dd214c4358facf9249dba2b97914d2 Mon Sep 17 00:00:00 2001 From: radiuscz Date: Mon, 31 Oct 2016 23:24:42 +0100 Subject: [PATCH] Bug 17521: Added missing age limit check Following patron modification partial editor had no age constraint checking: /cgi-bin/koha/members/memberentry.pl?op=modify&borrowernumber=3&step=3 Test plan: 1) Apply the patch 2) Open profile of a patron 3) Click Edit under "Library use": http://prntscr.com/d1ghim 4) Change category to an invalid one (eg. Adult instead of Kid) 5) Error saying "Patron's age is incorrect for their category." should be displayed. --- members/memberentry.pl | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/members/memberentry.pl b/members/memberentry.pl index 8fc5d9b..99028d8 100755 --- a/members/memberentry.pl +++ b/members/memberentry.pl @@ -302,8 +302,17 @@ if ($op eq 'save' || $op eq 'insert'){ : () } - if ( $newdata{dateofbirth} ) { - my $age = GetAge($newdata{dateofbirth}); + my $dateofbirth; + if ($op eq 'save' && $step == 3) { + my $borrower = C4::Members::GetMember(borrowernumber => $borrowernumber); + $dateofbirth = $borrower->{dateofbirth}; + } + else { + $dateofbirth = $newdata{dateofbirth}; + } + + if ( $dateofbirth ) { + my $age = GetAge($dateofbirth); my $borrowercategory = Koha::Patron::Categories->find($newdata{categorycode}); my ($low,$high) = ($borrowercategory->dateofbirthrequired, $borrowercategory->upperagelimit); if (($high && ($age > $high)) or ($age < $low)) { -- 2.1.4