From 0ce638166ea499aa2849d12dcb0a4b6d3029a8cc Mon Sep 17 00:00:00 2001 From: Hayley Mapley Date: Thu, 14 Mar 2019 02:26:17 +0000 Subject: [PATCH] Bug 18450: Only show Override button for renewals according to relevant sysprefs This patch is a follow up which corrects the conditional that uses the system preferences AllowRenewalIfOtherItemsAvailable and AllowRenewalLimitOverridecontrols to control the display of the 'Override and renew' button, in addition to the 'Continue without renewing' button, when renewing an item that has been placed on hold. This patch also adjusts the expected results for each step in the test plan outlined in the previous patches to align better with the system preferences. Test plan: --NOTE-- The following renewals must be completed in Circulation->Renew 1) Apply the patch, and ensure the following steps work as described 2) In More->Administration->Global system preferences ensure that both the AllowRenewalLimitOverride and AllowRenewalIfOtherItemsAvaliable preferences are both set to 'Don't allow' 3) Item Level/Only one available item: Try to renew an item (with item level hold on it) which belongs to a biblio with only one item. Note the only button in the yellow message box displayed is 'Continue without renewing' 4) Record Level/Only one available item: Try to renew an item (this time with a 'Next Available' hold on the record) which belongs to a biblio with only one item. Note the only button in the yellow message box displayed is 'Continue without renewing' 5) Item Level/Multiple available items: Try to renew an item (with item level hold on it) which belongs to a biblio with multiple available items of it in the catalogue. Note only the 'Continue without renewing' button is displayed 6) Record Level/Multiple available items: Try to renew an item (this time with a 'Next Available' hold on the record) which belongs to a biblio with multiple available items of it in the catalogue. Note only the 'Continue without renewing' button is displayed 7) Set both AllowRenewalLimitOverride and AllowRenewalIfOtherItemsAvaliable system preferences to 'Allow' 8) Repeat step 3, and note only the 'Continue without renewing' button is displayed in the yellow message box 9) Repeat step 4, and note the only button in the yellow message box displayed is 'Continue without renewing' 10) Repeat step 5, note only the 'Continue without renewing' button is displayed (because the hold is for that specific item) 11) Repeat step 6, note the item is immediately renewed and the yellow message box is not displayed 12) Set the AllowRenewalIfOtheritemsAvailable to 'Don't Allow' and repeat steps 3-6, and note that only the 'Continue without renewing' button is displayed 13) Set the AllowRenewalIfOtherItemsAvailable system preference back to 'Allow' and AllowRenewalLimitOverride syspref to 'Don't Allow', and repeat steps 3-5 and note only the 'Continue without renewal' button is displayed. 14) Repeat step 6 and note that the item is immediately renewed with no yellow warning box. Sponsored-by: Catalyst IT --- C4/Circulation.pm | 4 ++-- koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index 92d60fdaba..de0b897fc9 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -861,7 +861,7 @@ sub CanBookBeIssued { $patron->borrowernumber, $item_object->itemnumber, ); - if ( $CanBookBeRenewed == 0 ) { # no more renewals allowed + if ( $CanBookBeRenewed == 0 ) { # no more renewals allowed if ( $renewerror eq 'onsite_checkout' ) { $issuingimpossible{NO_RENEWAL_FOR_ONSITE_CHECKOUTS} = 1; } @@ -2690,7 +2690,7 @@ sub CanBookBeRenewed { my ( $reserve_found, $reserve, undef ) = C4::Reserves::CheckReserves( $itemnumber, undef, undef, \@borrowernumbers ); - warn $reserve_found; + if ($reserve_found) { push( @borrowernumbers, $reserve->{borrowernumber} ); } 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 581a5894c9..95c90d1c44 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/renew.tt @@ -112,10 +112,9 @@ [% ELSIF error == "on_reserve" %] -

This item is on hold for another patron.

- [% IF ((!Koha.Preference('AllowRenewalLimitOverride')) && ((Koha.Preference('AllowRenewalIfOtherItemsAvailable'))) && can_renew == 1) || ((Koha.Preference('AllowRenewalLimitOverride')) && ((Koha.Preference('AllowRenewalIfOtherItemsAvailable'))) && can_renew == 1 )%] + + + [% IF ((!Koha.Preference('AllowRenewalLimitOverride')) && ((Koha.Preference('AllowRenewalIfOtherItemsAvailable'))) && can_renew == 1) || ((Koha.Preference('AllowRenewalLimitOverride')) && ((Koha.Preference('AllowRenewalIfOtherItemsAvailable'))) && can_renew == 1 ) %] +
+ + + + +
+ [% END %] + [% ELSIF error == "patron_restricted" %]

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

-- 2.11.0