[Patches] [PATCH] bug_7144: renamed HomeOrHoldingBranchReturn to returnBranch
koha-patchbot at kohaaloha.com
koha-patchbot at kohaaloha.com
Thu Dec 1 15:10:02 NZDT 2011
From: Srdjan Jankovic <srdjan at catalyst.net.nz>
Date: Fri, 4 Nov 2011 18:21:55 +1300
Subject: [PATCH] bug_7144: renamed HomeOrHoldingBranchReturn to returnBranch
and added returningbranch option for floating collections
Added returningbranch support to returns
How to test:
* In systempreferences for circulation, for the ReturnBranch
systemprefernce, choose 'leave the item at the library it is checked
in at (floating collection)
* Check out an item
* Check it in at a branch other than its homebranch - you should not
get a transfer prompt nor should it be automatically transferred.
* Change the syspref to the other 2 pre existing options, test they
still work
This still needs sign off external to catalyst
Signed-off-by: Chris Cormack <chrisc at catalyst.net.nz>
---
C4/Circulation.pm | 24 ++++++++++++-------
admin/systempreferences.pl | 2 +-
circ/returns.pl | 10 ++++++-
installer/data/mysql/sysprefs.sql | 2 +-
installer/data/mysql/updatedatabase.pl | 6 +++++
.../en/modules/admin/preferences/circulation.pref | 9 ++++---
6 files changed, 36 insertions(+), 17 deletions(-)
diff --git a/C4/Circulation.pm b/C4/Circulation.pm
index debef01..0c9a4bf 100644
--- a/C4/Circulation.pm
+++ b/C4/Circulation.pm
@@ -1543,19 +1543,25 @@ sub AddReturn {
my $item = GetItem($itemnumber) or die "GetItem($itemnumber) failed";
# full item data, but no borrowernumber or checkout info (no issue)
# we know GetItem should work because GetItemnumberFromBarcode worked
- my $hbr = C4::Context->preference("HomeOrHoldingBranchReturn") || "homebranch";
- $hbr = $item->{$hbr} || '';
+ my $hbr;
+ my $branchreturn = C4::Context->preference("ReturnBranch") || "homebranch";
+ if ($branchreturn eq 'returningbranch') {
+ $hbr = $branch;
+ }
+ else {
+ $hbr = $item->{$hbr} || '';
# item must be from items table -- issues table has branchcode and issuingbranch, not homebranch nor holdingbranch
- my $borrowernumber = $borrower->{'borrowernumber'} || undef; # we don't know if we had a borrower or not
-
- # check if the book is in a permanent collection....
- # FIXME -- This 'PE' attribute is largely undocumented. afaict, there's no user interface that reflects this functionality.
- if ( $hbr ) {
- my $branches = GetBranches(); # a potentially expensive call for a non-feature.
- $branches->{$hbr}->{PE} and $messages->{'IsPermanent'} = $hbr;
+ # check if the book is in a permanent collection....
+ # FIXME -- This 'PE' attribute is largely undocumented. afaict, there's no user interface that reflects this functionality.
+ if ( $hbr ) {
+ my $branches = GetBranches(); # a potentially expensive call for a non-feature.
+ $branches->{$hbr}->{PE} and $messages->{'IsPermanent'} = $hbr;
+ }
}
+ my $borrowernumber = $borrower->{'borrowernumber'} || undef; # we don't know if we had a borrower or not
+
# if indy branches and returning to different branch, refuse the return
if ($hbr ne $branch && C4::Context->preference("IndependantBranches")){
$messages->{'Wrongbranch'} = {
diff --git a/admin/systempreferences.pl b/admin/systempreferences.pl
index 78d0768..0fc89b6 100755
--- a/admin/systempreferences.pl
+++ b/admin/systempreferences.pl
@@ -183,7 +183,7 @@ $tabsysprefs{finesCalendar} = "Circulation";
$tabsysprefs{previousIssuesDefaultSortOrder} = "Circulation";
$tabsysprefs{todaysIssuesDefaultSortOrder} = "Circulation";
$tabsysprefs{HomeOrHoldingBranch} = "Circulation";
-$tabsysprefs{HomeOrHoldingBranchReturn} = "Circulation";
+$tabsysprefs{ReturnBranch} = "Circulation";
$tabsysprefs{RandomizeHoldsQueueWeight} = "Circulation";
$tabsysprefs{StaticHoldsQueueWeight} = "Circulation";
$tabsysprefs{AllowOnShelfHolds} = "Circulation";
diff --git a/circ/returns.pl b/circ/returns.pl
index 98d310e..0297c30 100755
--- a/circ/returns.pl
+++ b/circ/returns.pl
@@ -222,7 +222,13 @@ if ($barcode) {
#
( $returned, $messages, $issueinformation, $borrower ) =
AddReturn( $barcode, $userenv_branch, $exemptfine, $dropboxmode); # do the return
- my $homeorholdingbranchreturn = C4::Context->preference('HomeOrHoldingBranchReturn') or 'homebranch';
+ my $homebranchname;
+ my $branchreturn = C4::Context->preference('ReturnBranch') || 'homebranch';
+ if ($branchreturn eq 'returningbranch') {
+ $branchreturn = "Floating collection, home branch ";
+ $branchreturn = 'homebranch';
+ }
+ $homebranchname .= GetBranchName( $biblio->{$branchreturn} );
# get biblio description
my $biblio = GetBiblioFromItemNumber($itemnumber);
@@ -232,7 +238,7 @@ if ($barcode) {
$template->param(
title => $biblio->{'title'},
homebranch => $biblio->{'homebranch'},
- homebranchname => GetBranchName( $biblio->{$homeorholdingbranchreturn} ),
+ homebranchname => $homebranchname,
author => $biblio->{'author'},
itembarcode => $biblio->{'barcode'},
itemtype => $biblio->{'itemtype'},
diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql
index ae2c1cb..d7591ca 100755
--- a/installer/data/mysql/sysprefs.sql
+++ b/installer/data/mysql/sysprefs.sql
@@ -183,7 +183,7 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OpacRenewalAllowed',0,'If ON, users can renew their issues directly from their OPAC account',NULL,'YesNo');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('PatronsPerPage','20','Number of Patrons Per Page displayed by default','20','Integer');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('HomeOrHoldingBranch','holdingbranch','Used by Circulation to determine which branch of an item to check with independent branches on, and by search to determine which branch to choose for availability ','holdingbranch|homebranch','Choice');
-INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('HomeOrHoldingBranchReturn','homebranch','Used by Circulation to determine which branch of an item to check checking-in items','holdingbranch|homebranch','Choice');
+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('ReturnBranch','homebranch','Used by Circulation to determine which branch of an item to check checking-in items','holdingbranch|homebranch','Choice');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OpacHighlightedWords','1','If Set, then queried words are higlighted in OPAC','','YesNo');
INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OAI-PMH','0','if ON, OAI-PMH server is enabled',NULL,'YesNo');
diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl
index 9ae0060..a86c397 100755
--- a/installer/data/mysql/updatedatabase.pl
+++ b/installer/data/mysql/updatedatabase.pl
@@ -4571,6 +4571,12 @@ if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
SetVersion($DBversion);
}
+$DBversion = "3.07.00.XXX";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+ $dbh->do("UPDATE `systempreferences` SET variable = 'ReturnBranch' WHERE variable = 'HomeOrHoldingBranchReturn';");
+ print "Upgrade to $DBversion done (Renamed HomeOrHoldingBranchReturn system preference to ReturnBranch)\n";
+ SetVersion ($DBversion);
+}
=head1 FUNCTIONS
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 f4946b5..07a4e43 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
@@ -216,12 +216,13 @@ Circulation:
confirmation: Ask for confirmation
- when checking out to a borrower that has overdues outstanding
-
- - On checkin route the returned item to
- - pref: HomeOrHoldingBranchReturn
+ - On checkin
+ - pref: ReturnBranch
type: choice
choices:
- homebranch: the library the item is from.
- holdingbranch: the library the item was checked out from.
+ homebranch: route the returned item to the library the item is from (home).
+ holdingbranch: route the returned item to the library the item was checked out from.
+ returningbranch: leave the item in the library the item is checked in (floating collection).
Holds Policy:
-
- pref: AllowHoldPolicyOverride
--
1.7.5.4
More information about the Patches
mailing list