From abfca2aa54595ad02a82ced6db1fa90867106417 Mon Sep 17 00:00:00 2001
From: Julian Maurice <julian.maurice@biblibre.com>
Date: Tue, 9 Jul 2013 11:48:23 +0200
Subject: [PATCH] Bug 2394: Use syspref canreservefromotherbranches in CanItemBeReserved [3.12.x]

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes all valid koha-qa test ( fails for IndependantBranches test ).
---
 C4/Reserves.pm |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/C4/Reserves.pm b/C4/Reserves.pm
index c8b0cdd..87ffaff 100644
--- a/C4/Reserves.pm
+++ b/C4/Reserves.pm
@@ -491,11 +491,22 @@ sub CanItemBeReserved{
     }
     
     # we check if it's ok or not
-    if( $reservecount < $allowedreserves ){
-        return 1;
-    }else{
+    if( $reservecount >= $allowedreserves ){
         return 0;
     }
+
+    # If reservecount is ok, we check item branch if IndependantBranches is ON
+    # and canreservefromotherbranches is OFF
+    if ( C4::Context->preference('IndependantBranches')
+        and !C4::Context->preference('canreservefromotherbranches') )
+    {
+        my $itembranch = $item->{homebranch};
+        if ($itembranch ne $borrower->{branchcode}) {
+            return 0;
+        }
+    }
+
+    return 1;
 }
 #--------------------------------------------------------------------------------
 =head2 GetReserveCount
-- 
1.7.2.5