Owen Leonard
d536ed92fa
If you want to filter results on the tags management page by the reviewer you have to know their borrowernumber. It would be better to be able to search by name, but in the meantime this patch adds an autocomplete widget to the form field so that you can do a name search and populate the field with the borrowernumber. To test you must have approved or rejected tags. From the tags review page (tags/review.pl), view all, approved, or rejected tags. Type a name in the "reviewer" form field in the left sidebar filter. You should get an autocomplete dropdown with names matching your search. When you select one the form field should be populated by the borrowernumber. Signed-off-by: David Cook <dcook@prosentient.com.au> Patch works as described. I'm not sure whether or not it would be better to be able to search by name, as that would involve either choosing between names after applying the filter or showing any possible matches, so this seems fine. -- Owen and I did observe that we were able to cause AJAX errors while using this autocomplete, but we are not 100% sure how we caused the error. In my case, I was able to occasionally cause it by typing in a name then backspacing rapidly. The ajaxError method is attached to every element in the DOM (yikes) so it's tough to say what exactly is the source of the error (which is signalled by a pop-up window that can be cancelled). The error is quite rare so I don't think it's necessarily a problem for us. One idea that Owen had was to remove the current error message, which is very unhelpful and replace it with an error like "Something went wrong. Try again." Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
82 lines
2.6 KiB
Perl
Executable file
82 lines
2.6 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
|
|
# This software is placed under the gnu General Public License, v2 (http://www.gnu.org/licenses/gpl.html)
|
|
|
|
# Copyright 2007 Tamil s.a.r.l.
|
|
# Parts copyright 2010-2012 Athens County Public Libraries
|
|
#
|
|
# This file is part of Koha.
|
|
#
|
|
# Koha is free software; you can redistribute it and/or modify it under the
|
|
# terms of the GNU General Public License as published by the Free Software
|
|
# Foundation; either version 2 of the License, or (at your option) any later
|
|
# version.
|
|
#
|
|
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License along
|
|
# with Koha; if not, write to the Free Software Foundation, Inc.,
|
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
|
|
=head1 ysearch.pl
|
|
|
|
|
|
=cut
|
|
|
|
use strict;
|
|
#use warnings; FIXME - Bug 2505
|
|
use CGI;
|
|
use C4::Context;
|
|
use C4::Members;
|
|
use C4::Auth qw/check_cookie_auth/;
|
|
|
|
my $input = new CGI;
|
|
my $query = $input->param('term');
|
|
|
|
binmode STDOUT, ":encoding(UTF-8)";
|
|
print $input->header(-type => 'text/plain', -charset => 'UTF-8');
|
|
|
|
my ($auth_status, $sessionID) = check_cookie_auth($input->cookie('CGISESSID'), { circulate => '*' });
|
|
if ($auth_status ne "ok") {
|
|
exit 0;
|
|
}
|
|
|
|
my $dbh = C4::Context->dbh;
|
|
my $sql = q(
|
|
SELECT borrowernumber, 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%");
|
|
|
|
print "[";
|
|
my $i = 0;
|
|
while ( my $rec = $sth->fetchrow_hashref ) {
|
|
if($i > 0){ print ","; }
|
|
print "{\"borrowernumber\":\"" . $rec->{borrowernumber} . "\",\"" .
|
|
"surname\":\"".$rec->{surname} . "\",\"" .
|
|
"firstname\":\"".$rec->{firstname} . "\",\"" .
|
|
"cardnumber\":\"".$rec->{cardnumber} . "\",\"" .
|
|
"address\":\"".$rec->{address} . "\",\"" .
|
|
"city\":\"".$rec->{city} . "\",\"" .
|
|
"zipcode\":\"".$rec->{zipcode} . "\",\"" .
|
|
"country\":\"".$rec->{country} . "\"" .
|
|
"}";
|
|
$i++;
|
|
}
|
|
print "]";
|