Bug 21796: Don't unlock checkouts if restriction exists but fines are below limit
authorKatrin Fischer <katrin.fischer.83@web.de>
Thu, 1 Nov 2018 13:01:48 +0000 (13:01 +0000)
committerNick Clemens <nick@bywatersolutions.com>
Fri, 16 Nov 2018 12:35:09 +0000 (12:35 +0000)
The checkout form will be removed if various conditions are
met: Restrictions, a fine above noissuescharge etc.

Bug 19933 changed the conditions, so a restriction will no longer
block checkouts, if the fines are below the set limit.

To test:

- Add a restriction
- Confirm the checkouts form is replaced by a message
- Add a fine below the noissuescharge limit
- Confirm that the form reappears
- Apply the patch
- Check that the checkout form is gone now
- Remove restriction - form should reappear
- Add to the fine, so it's above the limit
- Form should disappear

Signed-off-by: Pierre-Marc Thibault <pierre-marc.thibault@inLibro.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

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

circ/circulation.pl

index 5c858f7..98b011b 100755 (executable)
@@ -487,7 +487,7 @@ if ( $patron ) {
     my $account = $patron->account;
     if( ( my $owing = $account->non_issues_charges ) > 0 ) {
         my $noissuescharge = C4::Context->preference("noissuescharge") || 5; # FIXME If noissuescharge == 0 then 5, why??
-        $noissues = ( not C4::Context->preference("AllowFineOverride") and ( $owing > $noissuescharge ) );
+        $noissues ||= ( not C4::Context->preference("AllowFineOverride") and ( $owing > $noissuescharge ) );
         $template->param(
             charges => 1,
             chargesamount => $owing,