Bug 17578: GetMemberDetails - Remove is_expired
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Mon, 7 Nov 2016 17:14:49 +0000 (18:14 +0100)
committerKyle M Hall <kyle@bywatersolutions.com>
Fri, 16 Dec 2016 13:12:43 +0000 (13:12 +0000)
The is_expired value is used in 2 places, let's use
Koha::Patron->is_expired instead.

Test plan:
Depending on the different value of BlockExpiredPatronOpacActions for
the patron category, a patron must be blocked if he has expired.
Confirm that behavior from opac-renew and opac-reserve scripts

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

C4/Members.pm
opac/opac-renew.pl
opac/opac-reserve.pl
t/db_dependent/Members.t

index c7fac6f..b64ccb8 100644 (file)
@@ -173,13 +173,6 @@ sub GetMemberDetails {
     my $borrower = $sth->fetchrow_hashref;
     return unless $borrower;
 
-    $borrower->{'is_expired'} = 0;
-    $borrower->{'is_expired'} = 1 if
-      defined($borrower->{dateexpiry}) &&
-      $borrower->{'dateexpiry'} ne '0000-00-00' &&
-      Date_to_Days( Today() ) >
-      Date_to_Days( split /-/, $borrower->{'dateexpiry'} );
-
     return ($borrower);
 }
 
index b1dcf57..64e95aa 100755 (executable)
@@ -51,10 +51,9 @@ my $errorstring = q{};
 my $renewed     = q{};
 
 my $patron = Koha::Patrons->find( $borrowernumber );
-my $member_details = GetMemberDetails($borrowernumber);
 
 if (   $patron->category->effective_BlockExpiredPatronOpacActions
-    && $member_details->{'is_expired'} )
+    && $patron->is_expired )
 {
     $errorstring = 'card_expired';
 }
index 85426ab..a725730 100755 (executable)
@@ -76,7 +76,7 @@ my $patron = Koha::Patrons->find( $borrowernumber );
 # check if this user can place a reserve, -1 means use sys pref, 0 means dont block, 1 means block
 if ( $patron->category->effective_BlockExpiredPatronOpacActions ) {
 
-    if ( $borr->{'is_expired'} ) {
+    if ( $patron->is_expired ) {
 
         # cannot reserve, their card has expired and the rules set mean this is not allowed
         $template->param( message => 1, expired_patron => 1 );
index d293cbc..8e5218e 100755 (executable)
@@ -150,11 +150,6 @@ C4::Context->clear_syspref_cache();
 $notice_email = GetNoticeEmailAddress($member->{'borrowernumber'});
 is ($notice_email, $EMAILPRO, "GetNoticeEmailAddress returns correct value when AutoEmailPrimaryAddress is emailpro");
 
-ok(!$member->{is_expired}, "GetMemberDetails() indicates that patron is not expired");
-ModMember(borrowernumber => $member->{'borrowernumber'}, dateexpiry => '2001-01-1');
-$member = GetMemberDetails($member->{'borrowernumber'});
-ok($member->{is_expired}, "GetMemberDetails() indicates that patron is expired");
-
 # Check_Userid tests
 %data = (
     cardnumber   => "123456789",