Bug 20912: (follow-up) Prevent double charging on renewal
authorMartin Renvoize <martin.renvoize@ptfs-europe.com>
Wed, 20 Feb 2019 08:49:44 +0000 (08:49 +0000)
committerNick Clemens <nick@bywatersolutions.com>
Thu, 7 Mar 2019 17:29:58 +0000 (17:29 +0000)
This patch updates the tests the ensure we do not double charge for
renewals that take place before the original due date and fixes the
corresponding loging in C4::Circulation::AddRenewal.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

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

C4/Circulation.pm
t/db_dependent/Circulation.t

index 7d04d3f..3bee144 100644 (file)
@@ -2896,7 +2896,8 @@ sub AddRenewal {
             patron    => $patron,
             library   => $circ_library,
             item      => $item_object,
-            to_date   => dt_from_string( $datedue ),
+            from_date => dt_from_string( $issue->date_due, 'sql' ),
+            to_date   => dt_from_string($datedue),
         }
     );
 
index 7ef6019..3d52a1f 100755 (executable)
@@ -3065,7 +3065,7 @@ subtest 'Incremented fee tests' => sub {
     $accountline->delete();
     AddRenewal( $patron->id, $item->id, $library->id, $dt_to_renew, $dt_to );
     $accountline = Koha::Account::Lines->find({ itemnumber => $item->id });
-    is( $accountline->amount, '13.000000', "Daily rental charge calculated correctly with finesCalendar = ignoreCalendar, for renewal" );
+    is( $accountline->amount, '6.000000', "Daily rental charge calculated correctly with finesCalendar = ignoreCalendar, for renewal" );
     $accountline->delete();
     $issue->delete();
 
@@ -3076,7 +3076,7 @@ subtest 'Incremented fee tests' => sub {
     $accountline->delete();
     AddRenewal( $patron->id, $item->id, $library->id, $dt_to_renew, $dt_to );
     $accountline = Koha::Account::Lines->find({ itemnumber => $item->id });
-    is( $accountline->amount, '13.000000', "Daily rental charge calculated correctly with finesCalendar = noFinesWhenClosed, for renewal" );
+    is( $accountline->amount, '6.000000', "Daily rental charge calculated correctly with finesCalendar = noFinesWhenClosed, for renewal" );
     $accountline->delete();
     $issue->delete();
 
@@ -3092,7 +3092,7 @@ subtest 'Incremented fee tests' => sub {
     $accountline->delete();
     AddRenewal( $patron->id, $item->id, $library->id, $dt_to_renew, $dt_to );
     $accountline = Koha::Account::Lines->find({ itemnumber => $item->id });
-    is( $accountline->amount, '11.000000', "Daily rental charge calculated correctly with finesCalendar = noFinesWhenClosed and closed Wednesdays, for renewal" );
+    is( $accountline->amount, '5.000000', "Daily rental charge calculated correctly with finesCalendar = noFinesWhenClosed and closed Wednesdays, for renewal" );
     $accountline->delete();
     $issue->delete();