[Koha-patches] [PATCH] [SIGNED-OFF] Bug 4103 In Pro Adv Search, superlibrarian search always all libraries

Katrin Fischer Katrin.Fischer.83 at web.de
Wed Feb 2 06:59:36 CET 2011


From: Frédéric Demians <f.demians at tamil.fr>

Now, when 'independantbranches' syspref is activated, 'Individual Libraries'
combo list is set by default to the current user branch. It shouldn't be the
case for superlibrarian user who is supposed to manage all libraries.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83 at web.de>
The pull down for 'Individual Libaries' now shows 'All Libraries'
as default setting for superlibrarians.
Without being superlibrarian home branch is still default.
---
 catalogue/search.pl |   22 +++++++++++++---------
 1 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/catalogue/search.pl b/catalogue/search.pl
index 8cb737d..b0fea2a 100755
--- a/catalogue/search.pl
+++ b/catalogue/search.pl
@@ -207,16 +207,20 @@ if (C4::Context->preference("marcflavour") eq "UNIMARC" ) {
 
 # load the branches
 my $branches = GetBranches();
-my @branch_loop;
 
-# we need to know the borrower branch code to set a default branch
-my $borrowerbranchcode = C4::Context->userenv->{'branch'};
-
-for my $branch_hash (sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname} } keys %$branches) {
-    # if independantbranches is activated, set the default branch to the borrower branch
-    my $selected = (C4::Context->preference("independantbranches") and ($borrowerbranchcode eq $branch_hash)) ? 1 : undef;
-    push @branch_loop, {value => "$branch_hash" , branchname => $branches->{$branch_hash}->{'branchname'}, selected => $selected};
-}
+# Populate branch_loop with all branches sorted by their name.  If
+# independantbranches is activated, set the default branch to the borrower
+# branch, except for superlibrarian who need to search all libraries.
+my $user = C4::Context->userenv;
+my @branch_loop = map {
+     {
+        value      => $_,
+        branchname => $branches->{$_}->{branchname},
+        selected   => $user->{branch} eq $_ && C4::Branch::onlymine(),
+     }
+} sort {
+    $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname}
+} keys %$branches;
 
 my $categories = GetBranchCategories(undef,'searchdomain');
 
-- 
1.7.1



More information about the Koha-patches mailing list