Bugzilla – Attachment 13515 Details for
Bug 4906
Allow fine calculation to exclude grace period
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 4906 - Problem with grace period calculation and fine intervals >1
Bug-4906---Problem-with-grace-period-calculation-a.patch (text/plain), 4.52 KB, created by
Kyle M Hall (khall)
on 2012-11-19 13:57:17 UTC
(
hide
)
Description:
Bug 4906 - Problem with grace period calculation and fine intervals >1
Filename:
MIME Type:
Creator:
Kyle M Hall (khall)
Created:
2012-11-19 13:57:17 UTC
Size:
4.52 KB
patch
obsolete
>From f823eff133a543954e015563b6cf51e67e206d8c Mon Sep 17 00:00:00 2001 >From: Kyle M Hall <kyle@bywatersolutions.com> >Date: Thu, 9 Aug 2012 10:53:46 -0400 >Subject: [PATCH] Bug 4906 - Problem with grace period calculation and fine intervals >1 >Content-Type: text/plain; charset="utf-8" > >This patch adds the system preference FinesIncludeGracePeriod which >allows the library the choice to include the grace period when calculating >a fine ( Koha's current behavior ) or to ingore the grace period for >the purposes of fines calculation. It is set by default to preserve the >current behavior. >--- > C4/Overdues.pm | 6 +++++- > installer/data/mysql/sysprefs.sql | 1 + > installer/data/mysql/updatedatabase.pl | 8 ++++++++ > .../en/modules/admin/preferences/circulation.pref | 6 ++++++ > 4 files changed, 20 insertions(+), 1 deletions(-) > >diff --git a/C4/Overdues.pm b/C4/Overdues.pm >index ac66c36..80771ae 100644 >--- a/C4/Overdues.pm >+++ b/C4/Overdues.pm >@@ -264,7 +264,11 @@ sub CalcFine { > my $units_minus_grace = $chargeable_units - $data->{firstremind}; > my $amount = 0; > if ($data->{'chargeperiod'} && ($units_minus_grace > 0) ) { >- $amount = int($chargeable_units / $data->{'chargeperiod'}) * $data->{'fine'};# TODO fine calc should be in cents >+ if ( C4::Context->preference('FinesIncludeGracePeriod') ) { >+ $amount = int($chargeable_units / $data->{'chargeperiod'}) * $data->{'fine'};# TODO fine calc should be in cents >+ } else { >+ $amount = int($units_minus_grace / $data->{'chargeperiod'}) * $data->{'fine'}; >+ } > } else { > # a zero (or null) chargeperiod or negative units_minus_grace value means no charge. > } >diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql >index a4e4102..6c59621 100644 >--- a/installer/data/mysql/sysprefs.sql >+++ b/installer/data/mysql/sysprefs.sql >@@ -386,3 +386,4 @@ INSERT INTO systempreferences (variable,value,explanation,type) VALUES('OPACdidy > INSERT INTO systempreferences (variable,value,explanation,type) VALUES('INTRAdidyoumean',NULL,'Did you mean? configuration for the Intranet. Do not change, as this is controlled by /cgi-bin/koha/admin/didyoumean.pl.','Free'); > INSERT INTO systempreferences (variable, value, options, explanation, type) VALUES ('BlockReturnOfWithdrawnItems', '1', '0', 'If enabled, items that are marked as withdrawn cannot be returned.', 'YesNo'); > INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('HoldsToPullStartDate','2','Set the default start date for the Holds to pull list to this many days ago',NULL,'Integer'); >+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('FinesIncludeGracePeriod','1','If enabled, fines calculations will include the grace period.',NULL,'YesNo'); >diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl >index 518f23a..d6e31be 100755 >--- a/installer/data/mysql/updatedatabase.pl >+++ b/installer/data/mysql/updatedatabase.pl >@@ -6055,6 +6055,14 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { > SetVersion ($DBversion); > } > >+$DBversion = "3.09.00.XXX"; >+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { >+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('FinesIncludeGracePeriod','1','If enabled, fines calculations will include the grace period.',NULL,'YesNo');"); >+ >+ print "Upgrade to $DBversion done (Add system preference FinesIncludeGracePeriod)\n"; >+ SetVersion($DBversion); >+} >+ > =head1 FUNCTIONS > > =head2 TableExists($table) >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref >index c583bbe..16234d7 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref >@@ -452,6 +452,12 @@ Circulation: > test: Calculate (but only for mailing to the admin) > production: Calculate and charge > - fines (when <code>misc/cronjobs/fines.pl</code> is being run). >+ - >+ - pref: FinesForGracePeriod >+ choices: >+ yes: Include >+ no: "Don't include" >+ - the grace period when calculating the fine for an overdue item. > Self Checkout: > - > - pref: ShowPatronImageInWebBasedSelfCheck >-- >1.7.2.5
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 4906
:
11507
|
11508
|
13515
|
13570
|
13574
|
15969
|
15970