Browse Source

Bug 32770: Restore patron search on all emails, phones, and addresses

Prior to bug 30063 we had "Email", "Phone", and "Address" in the search field list
that allowed a search on all email, phone, or address attributes.

This patron restores these and makes sure the search box and the patron search filters use
the same block to keep them consistent

The fields are now labelled 'All emails', 'All phones', and 'Full address' to make it clear
that they search multiple - including any single field in the DefaultPatronSearchFields will
additionally add that to the dropdowns

To test:
 1 - define 'test@email.pro' as 'Secondary email' for a patron
 2 - Search from 'Search patrons' address bar (visible at top of moremember.pl)
 3 - Nothing is found using 'Standard' or 'Email fields'
 4 - Apply patch
 5 - Refresh page and repeat
 6 - Nothing is found for standard, Patron is found for 'All emails'
 7 - Define a unique value for patron in 'Address 2'
 8 - Confirm 'Full address' search returns the patron
 9 - Test with 'Secondary phone' and 'All phones' as well
10 - Repeat test from 'Patrons' module using the search on the left

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
23.05.x
Nick Clemens 1 year ago
committed by Tomas Cohen Arazi
parent
commit
96488dfec1
Signed by: tomascohen GPG Key ID: 0A272EA1B2F3C15F
  1. 16
      koha-tmpl/intranet-tmpl/prog/en/includes/member-search-box.inc
  2. 16
      koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc
  3. 28
      koha-tmpl/intranet-tmpl/prog/en/includes/patronfields.inc

16
koha-tmpl/intranet-tmpl/prog/en/includes/member-search-box.inc

@ -25,21 +25,7 @@
<div class="form-extra-content">
<div>
<label for="searchfieldstype" class="control-label">Search fields</label>
<select name="searchfieldstype" id="searchfieldstype" class="form-control">
[% SET standard = Koha.Preference('DefaultPatronSearchFields') || 'firstname,middle_name,surname,othernames,cardnumber,userid' %]
[% default_fields = [ standard, 'surname', 'cardnumber', 'email', 'borrowernumber', 'userid', 'phone', 'address', 'dateofbirth', 'sort1', 'sort2' ] %]
[% search_options = default_fields.merge(standard.split(',')).unique %]
[% FOREACH s_o IN search_options %]
[% display_name = PROCESS patron_fields name=s_o %]
[% NEXT IF !display_name.length %]
[% IF searchfieldstype == s_o %]
<option value="[% s_o | html %]">[% display_name | $raw %]</option>
[% ELSE %]
<option value="[% s_o | html %]">[% display_name | $raw %]</option>
[% END %]
[% END %]
</select>
[% INCLUDE patron_fields_dropdown search_box=1 %]
</div>
<div>

16
koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc

@ -58,21 +58,7 @@
</li>
[% CASE 'search_field' %]
<li>
<label for="searchfieldstype_filter">Search field:</label>
<select name="searchfieldstype" id="searchfieldstype_filter">
[% SET standard = Koha.Preference('DefaultPatronSearchFields') || 'firstname,middle_name,surname,othernames,cardnumber,userid' %]
[% default_fields = [ standard, 'surname', 'cardnumber', 'email', 'borrowernumber', 'userid', 'phone', 'address', 'dateofbirth', 'sort1', 'sort2' ] %]
[% search_options = default_fields.merge(standard.split(',')).unique %]
[% FOREACH s_o IN search_options %]
[% display_name = PROCESS patron_fields name=s_o %]
[% NEXT IF !display_name %]
[% IF searchfieldstype == s_o %]
<option selected="selected" value=[% s_o | html %]>[% display_name | $raw %]</option>
[% ELSE %]
<option value=[% s_o | html %]>[% display_name | $raw %]</option>
[% END %]
[% END %]
</select>
[% INCLUDE patron_fields_dropdown %]
</li>
[% CASE 'search_type' %]
<li>

28
koha-tmpl/intranet-tmpl/prog/en/includes/patronfields.inc

@ -1,6 +1,9 @@
[%- BLOCK patron_fields -%]
[%- SWITCH name -%]
[%- CASE standard -%]<span>Standard</span>
[%- CASE full_address -%]<span>Full address</span>
[%- CASE all_emails -%]<span>All emails</span>
[%- CASE all_phones -%]<span>All phones</span>
[%- CASE 'borrowernumber' -%]<span>Borrowernumber</span>
[%- CASE 'cardnumber' -%]<span>Card number</span>
[%- CASE 'surname' -%]<span>Surname</span>
@ -75,3 +78,28 @@
[%- CASE DEFAULT -%]
[%- END -%]
[%- END -%]
[%- BLOCK patron_fields_dropdown -%]
[% IF search_box %]
<label for="searchfieldstype" class="control-label">Search field:</label>
<select name="searchfieldstype" id="searchfieldstype" class="form-control">
[% ELSE %]
<label for="searchfieldstype_filter">Search field:</label>
<select name="searchfieldstype" id="searchfieldstype_filter">
[% END %]
[% SET standard = Koha.Preference('DefaultPatronSearchFields') || 'firstname,middle_name,surname,othernames,cardnumber,userid' %]
[% SET full_address = 'streetnumber,streettype,address,address2,city,state,zipcode,country' %]
[% SET all_emails = 'email,emailpro,B_email' %]
[% SET all_phones = 'phone,phonepro,B_phone,altcontactphone,mobile' %]
[% default_fields = [ standard, 'surname', 'cardnumber', all_emails, 'borrowernumber', 'userid', all_phone, full_address, 'dateofbirth', 'sort1', 'sort2' ] %]
[% search_options = default_fields.merge(standard.split(',')).unique %]
[% FOREACH s_o IN search_options %]
[% display_name = PROCESS patron_fields name=s_o %]
[% NEXT IF !display_name %]
[% IF searchfieldstype == s_o %]
<option selected="selected" value=[% s_o | html %]>[% display_name | $raw %]</option>
[% ELSE %]
<option value=[% s_o | html %]>[% display_name | $raw %]</option>
[% END %]
[% END %]
</select>
[%- END -%]

Loading…
Cancel
Save