[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