On by default.
To Test
1/ Create an overdue item, that should get fines
2/ Return the item
3/ Check the borrowers record to see if the fine has been added/updated
Apply patch
1/ Make sure preference is set to do
Repeat steps 1-3 above
2/ Switch the preference to don't
Repeat stes 1-2
3/ Check the fine hasn't been added/updated
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All tests and QA script pass, works as described.
I would categorize this a bug fix for libraries that don't want
the new changed behaviour that was introduced by recalculating
fines on return.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
}
if ($borrowernumber) {
- if($issue->{'overdue'}){
+ if( C4::Context->preference('CalculateFinesOnReturn') && $issue->{'overdue'}){
+ # we only need to calculate and change the fines if we want to do that on return
+ # Should be on for hourly loans
my ( $amount, $type, $unitcounttotal ) = C4::Overdues::CalcFine( $item, $borrower->{categorycode},$branch, $datedue, $today );
$type ||= q{};
if ( $amount > 0 && ( C4::Context->preference('finesMode') eq 'production' )) {
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('UniqueItemFields', 'barcode', 'Space-separated list of fields that should be unique (used in acquisition module for item creation). Fields must be valid SQL column names of items table', '', 'Free');
INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('UseCourseReserves', '0', 'Enable the course reserves feature.', NULL, 'YesNo');
INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacShowHoldNotes',0,'Show hold notes on OPAC','','YesNo');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('CalculateFinesOnReturn','1','Switch to control if overdue fines are calculated on return or not', '', 'YesNo');
SetVersion ($DBversion);
}
+$DBversion = "XXX";
+if ( CheckVersion($DBversion) ) {
+ $dbh->do(
+ q{
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('CalculateFinesOnReturn','1','Switch to control if overdue fines are calculated on return or not', '', 'YesNo');
+}
+ );
+ print
+"Upgrade to $DBversion done (Bug 10120 - Fines on item return controlled by a systempreference)\n";
+ SetVersion($DBversion);
+}
+
+
=head1 FUNCTIONS
=head2 TableExists($table)
yes: Block
no: "Don't block"
- returning of items that have been withdrawn.
+ -
+ - pref: CalculateFinesOnReturn
+ choices:
+ yes: Do
+ no: "Don't"
+ - calculate and update overdue charges when an item is returned.
+ - <br /><b>NOTE If you are doing hourly loans then you should have this on.</b>
Holds Policy:
-
- pref: AllowHoldPolicyOverride