From 220b3d6c9c3349033668746ceacf03fcbb38725a 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 Signed-off-by: Chris Cormack --- 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 4483cbdbf9..c1d6c8e5b0 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