From 835870bf38799fbeea076b3e03af41ffef1476d0 Mon Sep 17 00:00:00 2001
From: Kyle M Hall <kyle@bywatersolutions.com>
Date: Tue, 12 Mar 2013 14:30:48 -0400
Subject: [PATCH] Bug 9575 - Serious Holds Problem with IndependantBranches

Test plan:
 1) Disable IndependantBranches
 2) Place 3 holds on a record with 3 different pickup locations
 3) Enable IndependantBranches
 4) Refresh the holds page for that record, all the holds show now
    show a pickup location of the logged in branch
 5) Modify the order of the holds
 6) Disable IndependantBranches
 7) Refresh the holds, verify the holds all now have a pickup
    location of the logged in branch
 8) Apply the patch
 9) Repeat steps 1-3
10) Refresh the holds page for that record, all the holds should
    now show the correct pickup branch, but it cannot be changed
    as IndependantBranches is enabled.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
---
 reserve/request.pl |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/reserve/request.pl b/reserve/request.pl
index 5bcaca2..d355002 100755
--- a/reserve/request.pl
+++ b/reserve/request.pl
@@ -567,10 +567,16 @@ foreach my $biblionumber (@biblionumbers) {
         $reserve{'barcode'}         = $res->{'barcode'};
         $reserve{'priority'}    = $res->{'priority'};
         $reserve{'lowestPriority'}    = $res->{'lowestPriority'};
-        $reserve{'branchloop'} = GetBranchesLoop($res->{'branchcode'});
         $reserve{'optionloop'} = \@optionloop;
         $reserve{'suspend'} = $res->{'suspend'};
         $reserve{'suspend_until'} = $res->{'suspend_until'};
+
+        if ( C4::Context->preference('IndependantBranches') ) {
+              $reserve{'branchloop'} = [ GetBranchDetail($res->{'branchcode'}) ];
+        } else {
+              $reserve{'branchloop'} = GetBranchesLoop($res->{'branchcode'});
+        }
+
         push( @reserveloop, \%reserve );
     }
 
-- 
1.7.2.5