Bug 5904: make patron search autocompletion respect IndependentBranches
authorJonathan Druart <jonathan.druart@biblibre.com>
Thu, 27 Jun 2013 13:33:46 +0000 (15:33 +0200)
committerGalen Charlton <gmc@esilibrary.com>
Wed, 4 Sep 2013 16:42:38 +0000 (16:42 +0000)
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 syspref IndependentBranches
- the search returns no result
- log in as a superlibrarian
- Check that you are allowed to search all patrons.

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes koha-qa.pl, works as advertised.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>

circ/ysearch.pl

index 8a48c51..4a3663e 100755 (executable)
@@ -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 "]";