[Koha-patches] [PATCH] Bug 5904: ysearch.pl members improvements (Independent branches behaviour)

Srdjan srdjan at catalyst.net.nz
Mon Sep 2 02:18:06 CEST 2013


From: Jonathan Druart <jonathan.druart at biblibre.com>

Test plan:
- Add a staff user foo in a library A
- Add a staff user bar in a library B
- log in as foo and try to search 'bar'
- Switch on (Prevent) the new pref IndependentBranches
- the search returns no result
- log in as a superlibrarian
- Check that you are allow to search all patrons.

Signed-off-by: Srdjan <srdjan at catalyst.net.nz>
---
 circ/ysearch.pl | 26 ++++++++++++++++++--------
 1 file changed, 18 insertions(+), 8 deletions(-)

diff --git a/circ/ysearch.pl b/circ/ysearch.pl
index 8a48c51..4a3663e 100755
--- a/circ/ysearch.pl
+++ b/circ/ysearch.pl
@@ -44,13 +44,23 @@ if ($auth_status ne "ok") {
 }
 
 my $dbh = C4::Context->dbh;
-my $sql = qq(SELECT surname, firstname, cardnumber, address, city, zipcode, country
-             FROM borrowers
-             WHERE surname LIKE ?
-             OR firstname LIKE ?
-             OR cardnumber LIKE ?
-             ORDER BY surname, firstname
-             LIMIT 10);
+my $sql = q(
+    SELECT surname, firstname, cardnumber, address, city, zipcode, country
+    FROM borrowers
+    WHERE ( surname LIKE ?
+        OR firstname LIKE ?
+        OR cardnumber LIKE ? )
+);
+if (C4::Context->preference("IndependentBranches")){
+  if ( C4::Context->userenv
+      && (C4::Context->userenv->{flags} % 2) !=1
+      && C4::Context->userenv->{'branch'}
+  ){
+     $sql .= " AND borrowers.branchcode =" . $dbh->quote(C4::Context->userenv->{'branch'});
+  }
+}
+
+$sql    .= q( ORDER BY surname, firstname LIMIT 10);
 my $sth = $dbh->prepare( $sql );
 $sth->execute("$query%", "$query%", "$query%");
 
@@ -68,4 +78,4 @@ while ( my $rec = $sth->fetchrow_hashref ) {
           "}";
     $i++;
 }
-print "]";
\ No newline at end of file
+print "]";
-- 
1.8.1.2


More information about the Koha-patches mailing list