[Koha-patches] [PATCH 20/55] C4/Reserves.pm : HomeOrHoldingBranch Management

Henri-Damien LAURENT henridamien.laurent at biblibre.com
Wed Mar 10 22:26:02 CET 2010


Conflicts:

	C4/Reserves.pm

Signed-off-by: Henri-Damien LAURENT <henridamien.laurent at biblibre.com>
---
 C4/Reserves.pm |   26 ++++++++++++++++++++++++--
 1 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/C4/Reserves.pm b/C4/Reserves.pm
index fe3682c..adf488c 100644
--- a/C4/Reserves.pm
+++ b/C4/Reserves.pm
@@ -432,8 +432,9 @@ sub CanItemBeReserved{
     my $branchfield  = "reserves.branchcode";
     
     if( $controlbranch eq "ItemHomeLibrary" ){
-        $branchfield = "items.homebranch";
-        $branchcode = $item->{homebranch};
+        my $field=C4::Context->preference("HomeOrHoldingBranch")||"homebranch";
+        $branchfield = "items.$field";
+        $branchcode = $item->{$field};
     }elsif( $controlbranch eq "PatronLibrary" ){
         $branchfield = "borrowers.branchcode";
         $branchcode = $borrower->{branchcode};
@@ -651,6 +652,27 @@ sub GetReserveFee {
     return $fee;
 }
 
+#-------------------------------------------------------------------------------------
+=item GetReservesControlBranch
+
+$branchcode = &GetReservesControlBranch($borrower, $item)
+
+Returns the branchcode to consider to check hold rules against
+
+=cut
+sub GetReservesControlBranch{
+    my ($borrower, $item) = @_;
+    my $controlbranch = C4::Context->preference('ReservesControlBranch');
+    my $hbr           = C4::Context->preference('HomeOrHoldingBranch')||"homebranch";
+    my $branchcode="*";
+    if($controlbranch eq "ItemHomeLibrary"){
+        $branchcode = $item->{$hbr};
+    } elsif($controlbranch eq "PatronLibrary"){
+        $branchcode = $borrower->{'branchcode'};
+    }
+    return $branchcode;
+}
+
 =item GetReservesToBranch
 
 @transreserv = GetReservesToBranch( $frombranch );
-- 
1.6.3.3




More information about the Koha-patches mailing list