- Please note: Your card has expired. Please contact the library for more information.
+ Please note: Your account has expired. Please contact the library for more information.
[% ELSIF ( BORROWER_INF.warnexpired ) %]
- Please note: You card has expired as of [% BORROWER_INF.warnexpired %]. Please contact the library if you wish to renew your subscription.
+ Please note: You account has expired as of [% BORROWER_INF.warnexpired %]. Please contact the library if you wish to renew your account.
[% END %]
[% IF ( RENEW_ERROR ) %]
- Please note: You're renew failed with the following error: [% RENEW_ERROR %]
+ Please note:
+
+ Your account renewal failed because of the following:
+ [% FOREACH error IN RENEW_ERROR.split('|') %]
+ [% IF error == 'card_expired' %]
+ Your account has expired. Please contact the library for more information.
+ [% ELSIF error == 'too_many' %]
+ You have renewed this item the maximum number of times allowed.
+ [% ELSIF error == 'on_reserve' %]
+ This item is on hold for another patron.
+ [% END %]
+ [% END %]
+
[% END %]
--- a/opac/opac-renew.pl
+++ a/opac/opac-renew.pl
@@ -27,6 +27,7 @@ use warnings;
use CGI;
use C4::Circulation;
use C4::Auth;
+use C4::Context;
use C4::Items;
use C4::Members;
use Date::Calc qw( Today Date_to_Days );
@@ -48,38 +49,41 @@ my $opacrenew = C4::Context->preference("OpacRenewalAllowed");
my $errorstring='';
my $member_details = GetMemberDetails($borrowernumber);
-# BlockExpiredPatronOpacActions syspref 0 is false, 1 is true. BlockExpiredPatronOpacActions for categories (from GetMemberDetails) -1 means use syspref, 0 is false, 1 is true (where false means dont block, true means block)
-if( ($member_details->{'BlockExpiredPatronOpacActions'} == -1 ? C4::Conext->preference('BlockExpiredPatronOpacActions') : $member_details->{'BlockExpiredPatronOpacActions'})
- && Date_to_Days( Today() ) > Date_to_Days( split /-/, $member_details->{'dateexpiry'} ) ){
- $errorstring='unable to renew as your card has expired';
-} else {
- for my $itemnumber ( @items ) {
- my ($status,$error) = CanBookBeRenewed( $borrowernumber, $itemnumber );
+
+if ( $member_details->{'BlockExpiredPatronOpacActions'}
+ && $member_details->{'is_expired'} )
+{
+ $errorstring = 'card_expired';
+}
+else {
+ for my $itemnumber (@items) {
+ my ( $status, $error ) =
+ CanBookBeRenewed( $borrowernumber, $itemnumber );
if ( $status == 1 && $opacrenew == 1 ) {
my $renewalbranch = C4::Context->preference('OpacRenewalBranch');
my $branchcode;
- if ($renewalbranch eq 'itemhomebranch'){
+ if ( $renewalbranch eq 'itemhomebranch' ) {
my $item = GetItem($itemnumber);
- $branchcode=$item->{'homebranch'};
+ $branchcode = $item->{'homebranch'};
}
- elsif ($renewalbranch eq 'patronhomebranch'){
+ elsif ( $renewalbranch eq 'patronhomebranch' ) {
my $borrower = GetMemberDetails($borrowernumber);
$branchcode = $borrower->{'branchcode'};
}
- elsif ($renewalbranch eq 'checkoutbranch'){
+ elsif ( $renewalbranch eq 'checkoutbranch' ) {
my $issue = GetOpenIssue($itemnumber);
$branchcode = $issue->{'branchcode'};
}
- elsif ($renewalbranch eq 'NULL'){
- $branchcode='';
+ elsif ( $renewalbranch eq 'NULL' ) {
+ $branchcode = '';
}
else {
- $branchcode='OPACRenew'
+ $branchcode = 'OPACRenew';
}
- AddRenewal( $borrowernumber, $itemnumber, $branchcode);
+ AddRenewal( $borrowernumber, $itemnumber, $branchcode );
}
else {
- $errorstring .= $error ."|";
+ $errorstring .= $error . "|";
}
}
}
--- a/opac/opac-reserve.pl
+++ a/opac/opac-reserve.pl
@@ -67,12 +67,13 @@ sub get_out {
my ( $borr ) = GetMemberDetails( $borrowernumber );
# check if this user can place a reserve, -1 means use sys pref, 0 means dont block, 1 means block
-if( $borr->{'BlockExpiredPatronOpacActions'} == -1 ? C4::Context->preference("BlockExpiredPatronOpacActions") : $borr->{'BlockExpiredPatronOpacActions'} ) {
+if ( $borr->{'BlockExpiredPatronOpacActions'} ) {
+
+ if ( $borr->{'is_expired'} ) {
- if( Date_to_Days( Today() ) > Date_to_Days( split /-/, $borr->{'dateexpiry'} ) ){
# cannot reserve, their card has expired and the rules set mean this is not allowed
- $template->param( message=>1, expired_patron=>1 );
- get_out($query, $cookie, $template->output);
+ $template->param( message => 1, expired_patron => 1 );
+ get_out( $query, $cookie, $template->output );
}
}
--- a/opac/opac-user.pl
+++ a/opac/opac-user.pl
@@ -136,7 +136,7 @@ if ( $borr->{'dateexpiry'} && C4::Context->preference('NotifyBorrowerDeparture')
}
# pass on any renew errors to the template for displaying
-$template->param( RENEW_ERROR => $query->param('renew_error') ) if $query->param('renew_error');
+my $renew_error = $query->param('renew_error');
$template->param( BORROWER_INFO => \@bordat,
borrowernumber => $borrowernumber,
@@ -144,6 +144,7 @@ $template->param( BORROWER_INFO => \@bordat,
OPACMySummaryHTML => (C4::Context->preference("OPACMySummaryHTML")) ? 1 : 0,
surname => $borr->{surname},
showname => $borr->{showname},
+ RENEW_ERROR => $renew_error,
);
#get issued items ....
--