From ad2549cd29eb7196163b0ac370ff656f66149b4c Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Wed, 1 Feb 2023 12:26:15 +0000 Subject: [PATCH] Bug 32770: [22.05.x] 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 Signed-off-by: Jonathan Druart Bug 32770: Restore phone all_phone vs all_phones That was caught by Selenium tests t/db_dependent/selenium/patrons_search.t --- .../prog/en/includes/patron-search.inc | 16 +---------- .../prog/en/includes/patronfields.inc | 28 +++++++++++++++++++ 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc index eb7b6426dd..79fa0a7eeb 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search.inc @@ -58,21 +58,7 @@ [% CASE 'search_field' %]
  • - - + [% INCLUDE patron_fields_dropdown %]
  • [% CASE 'search_type' %]
  • diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/patronfields.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/patronfields.inc index 416a5ae26c..ef49f3d961 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/patronfields.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/patronfields.inc @@ -1,6 +1,9 @@ [%- BLOCK patron_fields -%] [%- SWITCH name -%] [%- CASE standard -%]Standard + [%- CASE full_address -%]Full address + [%- CASE all_emails -%]All emails + [%- CASE all_phones -%]All phones [%- CASE 'borrowernumber' -%]Borrowernumber [%- CASE 'cardnumber' -%]Card number [%- CASE 'surname' -%]Surname @@ -73,3 +76,28 @@ [%- CASE DEFAULT -%] [%- END -%] [%- END -%] +[%- BLOCK patron_fields_dropdown -%] + [% IF search_box %] + + + [% 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_phones, 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 %] + + [% ELSE %] + + [% END %] + [% END %] + +[%- END -%] -- 2.30.2