From 21475a6cbcb8061e35a704759c2fe3df5c824a5e Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Fri, 1 Jun 2012 14:30:05 -0400 Subject: [PATCH] Bug 8182 - Problem with overdue fine calculations after upgrade Items that were overdue and still out as of 5/26 (date of Upgrade) were charged overdue fines as of 5/26. When the items DO come back, the overdue fines are calculated again from the due date to the date of checkin. Therefore the patron is being charged double overdue fines from the original date up to 5/26. This is caused by issues.date_due being changed to a datetime, with the hour/minute/secons time portion defaulting to 00:00:00. It should be 23::50::00 instead. This is an unusual patch as it modifies a previous database update. This make sense because if a install has already been updated past the db rev update, this fix will be too late. It will only help those that have not updated past that db revision. Signed-off-by: Chris Cormack Signed-off-by: Paul Poulain --- installer/data/mysql/updatedatabase.pl | 1 + 1 file changed, 1 insertion(+) diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index 51a6486132..a5a436c4d8 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -5018,6 +5018,7 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { $DBversion = "3.07.00.035"; if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { $dbh->do("ALTER TABLE issues CHANGE date_due date_due datetime"); + $dhb->do("UPDATE issues SET date_due = CONCAT(SUBSTR(date_due,1,11),'23:59:00')"); $dbh->do("ALTER TABLE issues CHANGE returndate returndate datetime"); $dbh->do("ALTER TABLE issues CHANGE lastreneweddate lastreneweddate datetime"); $dbh->do("ALTER TABLE issues CHANGE issuedate issuedate datetime"); -- 2.39.2