Bug 13822: Patron autocomplete search is severly limited
The script that returns data for the patron autocomplete does not use C4::Members::Search. Instead it uses bespoke code that does not behave like the traditional search and is very limited in how it can search. If, for example, I search for "Kyle Hall" in the standard search, I would get "Kyle Hall" back as a result. For the autocomplete search, I will not. This script should use C4::Members::Search to provide better searching and to keep the code base DRY. Test Plan: 1) Enable the system preference CircAutocompl 2) Create a user with the first name "Test" and the surname "User" 3) Perform a checkout autocomplete search for "Test User" 4) Note you do not get the user as a result 5) Apply this patch 6) Try different combinations of "Test" and "User" such as Test User User Test U Test Test U etc. 7) Note these searches now work Works as expected. Signed-off-by: Marc Véron <veron@veron.ch> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
parent
dedd059ac0
commit
1871d9a6e7
1 changed files with 16 additions and 7 deletions
|
@ -51,14 +51,23 @@ if ( C4::Context->preference("IndependentBranches")
|
|||
$limit_on_branch = 1;
|
||||
}
|
||||
|
||||
my @parts = split( / /, $query );
|
||||
my @params;
|
||||
foreach my $p (@parts) {
|
||||
push(
|
||||
@params,
|
||||
-or => [
|
||||
surname => { -like => "$p%" },
|
||||
firstname => { -like => "$p%" },
|
||||
cardnumber => { -like => "$p%" },
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
push( @params, { branchcode => C4::Context->userenv->{branch} } ) if $limit_on_branch;
|
||||
|
||||
my $borrowers_rs = Koha::Borrowers->search(
|
||||
{ -or => {
|
||||
surname => { -like => "$query%" },
|
||||
firstname => { -like => "$query%" },
|
||||
cardnumber => { -like => "$query%" },
|
||||
( $limit_on_branch ? { branchcode => C4::Context->userenv->{branch} } : () ),
|
||||
},
|
||||
},
|
||||
{ -and => \@params },
|
||||
{
|
||||
# Get the first 10 results
|
||||
page => 1,
|
||||
|
|
Loading…
Reference in a new issue