Bug 17521: Added missing age limit check
authorradiuscz <radek.siman@centrum.cz>
Mon, 31 Oct 2016 22:24:42 +0000 (23:24 +0100)
committerKyle M Hall <kyle@bywatersolutions.com>
Mon, 7 Nov 2016 16:42:07 +0000 (16:42 +0000)
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.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Lucio Moraes <lmoraes@catalyst.net.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
members/memberentry.pl

index 95d2af0..27e6687 100755 (executable)
@@ -305,8 +305,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($categorycode);
         my ($low,$high) = ($borrowercategory->dateofbirthrequired, $borrowercategory->upperagelimit);
         if (($high && ($age > $high)) or ($age < $low)) {