Bug 30576: Use DefaultPatronSearchFields in patron search
This patch corrects the handling of the 'Standard' search field in patron searches such that it accurately reflects the contents of the DefaultPatronSearchFields system preference and falls back to a hard coded list instead of always using the hard coded list. To test: 1) Empty the contents of DefaultPatronSearchFields systempreference 2) Perform a patron search from the header search 3) Inspect the patrons API request and note that we search on the default fallback fields of firstname, surname, othernames, cardnumber and userid (and some extended attributes which are historically hard coded). 4) Navigate to the memebers-home by clicking the 'Patrons' button from the main page 5) Perform another search using the filters on the left with 'Standard' selected. 6) Note the same list of search fields used as above in the patrons API request. 7) Update the DefaultPatronSearchFields systempreference adding one or more borrower fields in a comma delimited list. 8) Repeat steps 2 -> 6 but this time upon inspecting the API request you should find that only the fields in your DefaultPatronSearchFields list are searched (along with the hard coded extended attributes list). 9) Signoff Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
parent
976f893c06
commit
a54646ff69
3 changed files with 5 additions and 7 deletions
|
@ -23,9 +23,8 @@
|
|||
<div id="filters">
|
||||
<p><label for="searchfieldstype">Search fields:</label>
|
||||
<select name="searchfieldstype" id="searchfieldstype">
|
||||
[% pref_fields = Koha.Preference('DefaultPatronSearchFields').split(',') %]
|
||||
[% default_fields = [ 'firstname,surname,othernames,cardnumber,userid', 'surname', 'cardnumber', 'email', 'borrowernumber', 'userid', 'phone', 'address', 'dateofbirth', 'sort1', 'sort2' ] %]
|
||||
[% search_options = default_fields.merge(pref_fields).unique %]
|
||||
[% SET standard = Koha.Preference('DefaultPatronSearchFields') || 'firstname,surname,othernames,cardnumber,userid' %]
|
||||
[% SET search_options = [ standard, 'surname', 'cardnumber', 'email', 'borrowernumber', 'userid', 'phone', 'address', 'dateofbirth', 'sort1', 'sort2' ] %]
|
||||
[% FOREACH s_o IN search_options %]
|
||||
[% display_name = PROCESS patron_fields name=s_o %]
|
||||
[% NEXT IF !display_name.length %]
|
||||
|
|
|
@ -60,9 +60,8 @@
|
|||
<li>
|
||||
<label for="searchfieldstype_filter">Search field:</label>
|
||||
<select name="searchfieldstype" id="searchfieldstype_filter">
|
||||
[% pref_fields = Koha.Preference('DefaultPatronSearchFields').split(',') %]
|
||||
[% default_fields = [ 'firstname,surname,othernames,cardnumber,userid', 'surname', 'cardnumber', 'email', 'borrowernumber', 'userid', 'phone', 'address', 'dateofbirth', 'sort1', 'sort2' ] %]
|
||||
[% search_options = default_fields.merge(pref_fields).unique %]
|
||||
[% SET standard = Koha.Preference('DefaultPatronSearchFields') || 'firstname,surname,othernames,cardnumber,userid' %]
|
||||
[% SET search_options = [ standard, 'surname', 'cardnumber', 'email', 'borrowernumber', 'userid', 'phone', 'address', 'dateofbirth', 'sort1', 'sort2' ] %]
|
||||
[% FOREACH s_o IN search_options %]
|
||||
[% display_name = PROCESS patron_fields name=s_o %]
|
||||
[% NEXT IF !display_name %]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[%- BLOCK patron_fields -%]
|
||||
[%- SWITCH name -%]
|
||||
[%- CASE 'firstname,surname,othernames,cardnumber,userid' -%]<span>Standard</span>
|
||||
[%- CASE standard -%]<span>Standard</span>
|
||||
[%- CASE 'borrowernumber' -%]<span>Borrowernumber</span>
|
||||
[%- CASE 'cardnumber' -%]<span>Card number</span>
|
||||
[%- CASE 'surname' -%]<span>Surname</span>
|
||||
|
|
Loading…
Reference in a new issue