From 76171a589cfc00c1cade77eae0a07e5e13ae298d Mon Sep 17 00:00:00 2001 From: Fridolin Somers <fridolin.somers@biblibre.com> Date: Wed, 14 Nov 2018 11:18:58 +0100 Subject: [PATCH] Bug 21832: Restore is_expired in ILS-DI GetPatronInfo service Since Bug 17578 removed C4::Member::GetMemberDetails, the information "is_expired" disappeared from ILS-DI service GetPatronInfo. I propose to restore in by adding the code that exisited in C4::Member::GetMemberDetails directly in C4::ILSDI::Services. Test plan : 1) Enable ILS-DI webservice 2) Choose a patron not expired 3) Call web-service (replace X with patron's borrowernumber) : /cgi-bin/koha/ilsdi.pl?service=GetPatronInfo&patron_id=X 4) You see : <is_expired>0</is_expired> 5) Choose a patron expired 6) Call web-service (replace X with patron's borrowernumber) : /cgi-bin/koha/ilsdi.pl?service=GetPatronInfo&patron_id=X 7) You see : <is_expired>1</is_expired> --- C4/ILSDI/Services.pm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/C4/ILSDI/Services.pm b/C4/ILSDI/Services.pm index 689973ea3e..f05b9d6542 100644 --- a/C4/ILSDI/Services.pm +++ b/C4/ILSDI/Services.pm @@ -32,6 +32,7 @@ use XML::Simple; use HTML::Entities; use CGI qw ( -utf8 ); use DateTime; +use Date::Calc qw/Today Date_to_Days/; use C4::Auth; use C4::Members::Attributes qw(GetBorrowerAttributes); use Koha::DateUtils; @@ -480,6 +481,14 @@ sub GetPatronInfo { $borrower->{'attributes'} = $attrs; } + # Add is expired information + $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; } -- 2.17.1