Bug 29888

Summary: ->search_limited logic breaks searches
Product: Koha Reporter: Tomás Cohen Arazi <tomascohen>
Component: Architecture, internals, and plumbingAssignee: Tomás Cohen Arazi <tomascohen>
Status: ASSIGNED --- QA Contact: Testopia <testopia>
Severity: major    
Priority: P5 - low    
Version: unspecified   
Hardware: All   
OS: All   
See Also: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=29886
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=30019
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=30048
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:

Description Tomás Cohen Arazi 2022-01-14 18:09:00 UTC
When writing unit tests for bug 29886, in which I was moving bug 23991 addtion of Koha::Suggestions->search_limited I noticed a problem with how the query is amended to deal with limitations: instead of relying on chained searches, it tries (badly) to tweak the passed parameters.

This line was disturbing to me:

    $params->{branchcode} = { -or => [ $userenv->{branch}, '' ] };

it means any query on branchcode will be overwritten! (another bug could be filed to discuss that '' in there).

I propose to revisit the current ->search_limited implementations, and fix them:
$ git grep 'sub search_limited'
Koha/ArticleRequests.pm:sub search_limited {
Koha/Patron/Discharge.pm:sub search_limited {
Koha/Patrons.pm:sub search_limited {
Koha/Reviews.pm:sub search_limited {