[open-ils-commits] [GIT] Evergreen ILS branch master updated. 82162102b6629a901d774d06cdadeae613ca10ba

Evergreen Git git at git.evergreen-ils.org
Sat Sep 3 12:50:41 EDT 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".

The branch, master has been updated
       via  82162102b6629a901d774d06cdadeae613ca10ba (commit)
      from  9e5a0f04763fe16e36b9798592a605058b848c2b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 82162102b6629a901d774d06cdadeae613ca10ba
Author: Dan Wells <dbw2 at calvin.edu>
Date:   Thu Sep 1 09:13:47 2011 -0400

    Hourly fine periods do not charge enough
    
    Hourly fine periods are not charging for the first period of
    overdue-ness. If an item is due at 2:00pm and has a fine of
    $.50 per hour, the first fine should be eligible for generation
    at 2:01pm. As it stands, the first fine does not generate until
    an entire fine period has elapsed, so in this case, 3:00pm.
    
    The previous version of the code had a special case for day-
    granular fine periods, so a majority of fines were not affected.
    This commit expands the same idea (charging for the fine period
    you are currently "in") to all fine periods.
    
    Signed-off-by: Dan Wells <dbw2 at calvin.edu>
    Signed-off-by: Mike Rylander <mrylander at gmail.com>

diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm
index d54575d..6a2b6d6 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm
@@ -12,6 +12,7 @@ use OpenILS::Utils::PermitHold;
 use DateTime;
 use DateTime::Format::ISO8601;
 use OpenILS::Utils::Penalty;
+use POSIX qw(ceil);
 
 sub isTrue {
 	my $v = shift;
@@ -920,10 +921,8 @@ sub generate_fines {
 			}
 
             next if ($last_fine > $now);
-            my $pending_fine_count = int( ($now - $last_fine) / $fine_interval ); 
-
-            # Generate fines for the interval we are currently inside, when the fine interval is some multiple of 1d
-            $pending_fine_count++ if ($fine_interval && ($fine_interval % 86400 == 0));
+            # Generate fines for each past interval, including the one we are inside
+            my $pending_fine_count = ceil( ($now - $last_fine) / $fine_interval );
 
             if ( $last_fine == $due                         # we have no fines yet
                  && $grace_period                           # and we have a grace period

-----------------------------------------------------------------------

Summary of changes:
 .../Application/Storage/Publisher/action.pm        |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list