From 48e0107684267762b55ae0eae3e3cfccbb34d92b Mon Sep 17 00:00:00 2001 From: Chris Cormack Date: Wed, 7 May 2014 10:15:20 +1200 Subject: [PATCH] Bug 12205 : Add a system preference allowing hold charges to block circ Currently, if you have holds charges, they are not taken into consideration when circulating items. Manual Invoices, and rental charges are governed by a systempreference Holds are never counted And all other charges (overdues, lost items etc) are counted This patch adds a systempreference to allow Hold charges to be counted as well. To test 1/ Set a borrower category to have holds charges 2/ Place a hold for a borrower in that category 3/ Go to checkout, notice that charge is not showing or blocking on that screen 4/ apply patch 5/ notice that charge now shows on checkout Signed-off-by: Nick Clemens Signed-off-by: Jonathan Druart Signed-off-by: Tomas Cohen Arazi --- C4/Members.pm | 3 ++- installer/data/mysql/updatedatabase.pl | 8 ++++++++ .../prog/en/modules/admin/preferences/circulation.pref | 6 ++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/C4/Members.pm b/C4/Members.pm index 326344dc89..e3a5538613 100644 --- a/C4/Members.pm +++ b/C4/Members.pm @@ -1270,7 +1270,8 @@ sub GetMemberAccountBalance { my $ACCOUNT_TYPE_LENGTH = 5; # this is plain ridiculous... - my @not_fines = ('Res'); + my @not_fines; + push @not_fines, 'Res' unless C4::Context->preference('HoldsInNoissuesCharge'); push @not_fines, 'Rent' unless C4::Context->preference('RentalsInNoissuesCharge'); unless ( C4::Context->preference('ManInvInNoissuesCharge') ) { my $dbh = C4::Context->dbh; diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index 094576ba0a..4b61afd836 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -8697,6 +8697,14 @@ if ( CheckVersion($DBversion) ) { SetVersion ($DBversion); } +$DBversion = "3.17.00.XXX"; +if ( CheckVersion($DBversion) ) { + $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES ('HoldsInNoissuesCharge', '0', 'Hold charges block checkouts (added to noissuescharge).',NULL,'YesNo');"); + print "Upgrade to $DBversion done (Bug 12205: Add HoldsInNoissuesCharge systempreference)\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 37c368c46d..e52ad7ab72 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 @@ -301,6 +301,12 @@ Circulation: yes: Include no: "Don't include" - MANUAL_INV charges when summing up charges for noissuescharge. + - + - pref: HoldsInNoissuesCharge + choices: + yes: Include + no: "Don't include" + - hold charges when summing up charges for noissuescharge. - - pref: ReturnBeforeExpiry choices: -- 2.20.1