From 084bde1e5cd619f39c1b0089f6d091ce0cce48da Mon Sep 17 00:00:00 2001
From: Katrin Fischer <fischer@kohadev-fischer.bsz-bw.lokal>
Date: Fri, 20 May 2022 09:43:15 +0200
Subject: [PATCH] Bug 30788: Fix warning in Overdues.pm when fine is empty in
 circ rules

Argument "" isn't numeric in multiplication (*) at /usr/share/koha/lib/C4/Overdues.pm

To test:
* Create a issuing rule where fine is empty, but a fine interval is set.
  Fine amount: empty
  To do this, remove the 0 displayed in the input field before saving.
  Fine charging interval: 5 or any other numeric value
  When to charge: Start of interval
  Fine grace period: 0
* Check out an item with the due date yester (use specify due date)
* Run misc/cronjobs/fines.pl -v
* You should see above warn in the output
* Apply patch
* Rerun fines.pl, there should be no warn.
* Run:
  t/db_dependent/Circulation/CalcFine.t
  t/db_dependent/Fines.t
  t/db_dependent/Circulation.t
  t/db_dependent/Overdues.t
---
 C4/Overdues.pm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/C4/Overdues.pm b/C4/Overdues.pm
index 5db9c22041..a31d2b4f7b 100644
--- a/C4/Overdues.pm
+++ b/C4/Overdues.pm
@@ -274,7 +274,7 @@ sub CalcFine {
             # biblio-level recall
             $amount = $charge_periods * $issuing_rule->{recall_overdue_fine};
         }
-        if ( scalar @recalls == 0 ) {
+        if ( scalar @recalls == 0 && $issuing_rule->{fine}) {
             # no recall, use normal fine amount
             $amount = $charge_periods * $issuing_rule->{fine};
         }
-- 
2.30.2