Bug 10030: QA Followup for trivial false warning detected while testing
authorMarcel de Rooy <m.de.rooy@rijksmuseum.nl>
Wed, 15 May 2013 14:06:49 +0000 (16:06 +0200)
committerJared Camins-Esakov <jcamins@cpbibliography.com>
Thu, 16 May 2013 01:51:16 +0000 (21:51 -0400)
Moving the warn line below the line that returns if amount<=0.
If amount<=0, a false warn is now raised because of the return after it.
We should only warn here if we do not return.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Tested with fines.pl on overdue.
Before this patch:
Reducing fine for item 199709 borrower 23 from 44 to -1 - MaxFine reached.
This did not happen however because of the return.
After this change: no false warning.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
C4/Overdues.pm

index c99a669..9c05668 100644 (file)
@@ -546,9 +546,8 @@ sub UpdateFine {
     if (my $maxfine = C4::Context->preference('MaxFine')) {
         if ($total_amount_other + $amount > $maxfine) {
             my $new_amount = $maxfine - $total_amount_other;
-            warn "Reducing fine for item $itemnum borrower $borrowernumber from $amount to $new_amount - MaxFine reached";
             return if $new_amount <= 0.00;
-
+            warn "Reducing fine for item $itemnum borrower $borrowernumber from $amount to $new_amount - MaxFine reached";
             $amount = $new_amount;
         }
     }