From 83ded783e38bcabf2dc4ec01136b4f2467d84b11 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Wed, 24 May 2017 09:31:59 -0400 Subject: [PATCH] Bug 15494 - Update display of renewal errors Content-Type: text/plain; charset=utf-8 To test: 1 - Define a rule to deny renewal 2 - Checkout an item meeting this rule 3 - Attempt renew an item via the OPAC 4 - Attempt renewal via SIP 5 - Attempt renewal via staff client 6 - Verify errors are reasonable Signed-off-by: Katrin Fischer --- C4/SIP/ILS/Transaction/Renew.pm | 1 + koha-tmpl/intranet-tmpl/prog/en/includes/strings.inc | 1 + koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt | 4 ++++ koha-tmpl/intranet-tmpl/prog/js/checkouts.js | 7 +++++++ koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt | 4 ++++ misc/cronjobs/automatic_renewals.pl | 3 ++- opac/opac-user.pl | 1 + 7 files changed, 20 insertions(+), 1 deletion(-) diff --git a/C4/SIP/ILS/Transaction/Renew.pm b/C4/SIP/ILS/Transaction/Renew.pm index 7e1e9b7..af96f93 100644 --- a/C4/SIP/ILS/Transaction/Renew.pm +++ b/C4/SIP/ILS/Transaction/Renew.pm @@ -51,6 +51,7 @@ sub do_renew_for { } else { $renewerror=~s/on_reserve/Item unavailable due to outstanding holds/; $renewerror=~s/too_many/Item has reached maximum renewals/; + $renewerror=~s/item_denied_renewal/Item renewal is not allowed/; $self->screen_msg($renewerror); $self->renewal_ok(0); } diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/strings.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/strings.inc index e116204..fa57579 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/strings.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/strings.inc @@ -21,6 +21,7 @@ var NOT_RENEWABLE_AUTO_TOO_MUCH_OWEING = _("Automatic renewal failed, patron has unpaid fines"); var NOT_RENEWABLE_AUTO_ACCOUNT_EXPIRED = _("Automatic renewal failed, account expired"); var NOT_RENEWABLE_AUTO_RENEW = _("Scheduled for automatic renewal"); + var NOT_RENEWABLE_DENIED = _("Renewal denied by syspref"); var RENEWALS_REMAINING = _("%s of %s renewals remaining"); var HOLD_IS_SUSPENDED = _("Hold is suspended"); var UNTIL = _("until %s"); diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt index d4397e0..f7ab658 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt @@ -117,6 +117,10 @@

[% borrower.firstname %] [% borrower.surname %] ( [% borrower.cardnumber %] ) is currently restricted.

+ [% ELSIF error == "item_denied_renewal" %] + +

Item is not allowed renewal.

+ [% ELSE %] [% error %] diff --git a/koha-tmpl/intranet-tmpl/prog/js/checkouts.js b/koha-tmpl/intranet-tmpl/prog/js/checkouts.js index 1d16823..7b0d387 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/checkouts.js +++ b/koha-tmpl/intranet-tmpl/prog/js/checkouts.js @@ -399,6 +399,13 @@ $(document).ready(function() { span_class = "renewals-allowed"; } else if ( oObj.can_renew_error == "onsite_checkout" ) { // Don't display something if it's an onsite checkout + } else if ( oObj.can_renew_error == "item_denied_renewal" ) { + content += "" + + NOT_RENEWABLE_DENIED + + ""; + + span_style = "display: none"; + span_class = "renewals-allowed"; } else { content += "" + oObj.can_renew_error diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt index 1c26a4f..46442d0 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt @@ -92,6 +92,8 @@ Using this account is not recommended because some parts of Koha will not functi
  • It is too soon after the checkout date for this item to be renewed.
  • [% ELSIF error == 'on_reserve' %]
  • This item is on hold for another borrower.
  • + [% ELSIF error == 'item_denied_renewal' %] +
  • Item renewal is not allowed.
  • [% END %] [% END %] @@ -306,6 +308,8 @@ Using this account is not recommended because some parts of Koha will not functi [% ELSIF ( ISSUE.too_soon ) %] No renewal before [% ISSUE.soonestrenewdate %] ([% ISSUE.renewsleft %] of [% ISSUE.renewsallowed %] renewals remaining) + [% ELSIF ( ISSUE.item_denied_renewal ) %] + Renewal not allowed [% END %] [% END %] diff --git a/misc/cronjobs/automatic_renewals.pl b/misc/cronjobs/automatic_renewals.pl index 6a170ca..b50a6d5 100755 --- a/misc/cronjobs/automatic_renewals.pl +++ b/misc/cronjobs/automatic_renewals.pl @@ -88,7 +88,8 @@ while ( my $auto_renew = $auto_renews->next ) { or $error eq 'auto_account_expired' or $error eq 'auto_too_late' or $error eq 'auto_too_much_oweing' - or $error eq 'auto_too_soon' ) { + or $error eq 'auto_too_soon' + or $error eq 'item_denied_renewal' ) { if ( not $auto_renew->auto_renew_error or $error ne $auto_renew->auto_renew_error ) { $auto_renew->auto_renew_error($error)->store; push @{ $report{ $auto_renew->borrowernumber } }, $auto_renew diff --git a/opac/opac-user.pl b/opac/opac-user.pl index 55c04a3..d776d02 100755 --- a/opac/opac-user.pl +++ b/opac/opac-user.pl @@ -224,6 +224,7 @@ if ($issues){ $issue->{'auto_too_soon'} = 1 if $renewerror eq 'auto_too_soon'; $issue->{'auto_too_late'} = 1 if $renewerror eq 'auto_too_late'; $issue->{'auto_too_much_oweing'} = 1 if $renewerror eq 'auto_too_much_oweing'; + $issue->{'item_denied_renewal'} = 1 if $renewerror eq 'item_denied_renewal'; if ( $renewerror eq 'too_soon' ) { $issue->{'too_soon'} = 1; -- 2.1.4