From 8fae3c2069a8d81c458d9f755fbbd442f42d009e Mon Sep 17 00:00:00 2001 From: Florian Bontemps Date: Tue, 28 Jun 2022 13:42:46 +0000 Subject: [PATCH] Bug 26247: Adding 2 Sysprefs for Search Terms This patch adds two system preferences options : 'RetainCatalogSearchTerms' and 'RetainPatronsSearchTerms'. If enabled, search terms will be retained between searches made from, respectively, the Search Catalog header and the Checkout or Search Patrons headers. If disabled, the searchbars will clear out between page loads. Attention, this is an alternate solution from the previous patches, ONLY apply this patch when testing and not the previous ones.Changed the syspref wording as well. To test: 1 - From the staff client, search some terms using the Check out header search bar. 2 - Confirm search terms are retained. 3 - Do Step 1-2 twice again, this time using the Search patrons and Search the catalog. 4 - Apply patch (again, only this one), update database. 5 - In the system preferences, look for RetainCatalogSearchTerms and set it to 'don't retain'. 6 - Use the checkout head search bar again, confirm that search terms aren't retained after page load. 7 - Do Step 5-6 once again, this time with the RetainPatronsSearchTerms and the Search Patrons and Search the catalog headers. 8 - Search boxes should be cleared. Thanks-to: Fridolin Somers and Nick Clemens for the bases I built on. Signed-off-by: Florian Bontemps Signed-off-by: David Nind Signed-off-by: Martin Renvoize Signed-off-by: Tomas Cohen Arazi --- ...ug_26247-add_RetainCatalogSearchTerms_syspref.pl | 12 ++++++++++++ ...ug_26247-add_RetainPatronsSearchTerms_syspref.pl | 12 ++++++++++++ installer/data/mysql/mandatory/sysprefs.sql | 2 ++ .../prog/en/includes/catalogue-search-box.inc | 13 ++++++++----- .../prog/en/includes/patron-search-header.inc | 4 ++++ .../en/modules/admin/preferences/searching.pref | 12 ++++++++++++ 6 files changed, 50 insertions(+), 5 deletions(-) create mode 100755 installer/data/mysql/atomicupdate/bug_26247-add_RetainCatalogSearchTerms_syspref.pl create mode 100755 installer/data/mysql/atomicupdate/bug_26247-add_RetainPatronsSearchTerms_syspref.pl diff --git a/installer/data/mysql/atomicupdate/bug_26247-add_RetainCatalogSearchTerms_syspref.pl b/installer/data/mysql/atomicupdate/bug_26247-add_RetainCatalogSearchTerms_syspref.pl new file mode 100755 index 0000000000..44637ca774 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_26247-add_RetainCatalogSearchTerms_syspref.pl @@ -0,0 +1,12 @@ +use Modern::Perl; + +return { + bug_number => "26247", + description => "Add new system preference RetainCatalogSearchTerms", + up => sub { + my ($args) = @_; + my ($dbh, $out) = @$args{qw(dbh out)}; + + $dbh->do(q{INSERT IGNORE INTO systempreferences (variable,value,options,explanation,type) VALUES ('RetainCatalogSearchTerms', '1', NULL, 'If enabled, searches entered into the catalog search bar will be retained', 'YesNo') }); + }, +}; diff --git a/installer/data/mysql/atomicupdate/bug_26247-add_RetainPatronsSearchTerms_syspref.pl b/installer/data/mysql/atomicupdate/bug_26247-add_RetainPatronsSearchTerms_syspref.pl new file mode 100755 index 0000000000..dd6d842fa6 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_26247-add_RetainPatronsSearchTerms_syspref.pl @@ -0,0 +1,12 @@ +use Modern::Perl; + +return { + bug_number => "26247", + description => "Add new system preference RetainPatronsSearchTerms", + up => sub { + my ($args) = @_; + my ($dbh, $out) = @$args{qw(dbh out)}; + + $dbh->do(q{INSERT IGNORE INTO systempreferences (variable,value,options,explanation,type) VALUES ('RetainPatronSearchTerms', '1', NULL, 'If enabled, searches entered into the checkout and patrons search bars will be retained', 'YesNo') }); + }, +}; diff --git a/installer/data/mysql/mandatory/sysprefs.sql b/installer/data/mysql/mandatory/sysprefs.sql index d60605ef56..c117b49a63 100644 --- a/installer/data/mysql/mandatory/sysprefs.sql +++ b/installer/data/mysql/mandatory/sysprefs.sql @@ -606,6 +606,8 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('RestrictionBlockRenewing','0',NULL,'If patron is restricted, should renewal be allowed or blocked','YesNo'), ('OPACResultsMaxItems','1','','Maximum number of available items displayed in search results','Integer'), ('OPACResultsMaxItemsUnavailable','0','','Maximum number of unavailable items displayed in search results','Integer'), +('RetainCatalogSearchTerms', '1', NULL, 'If enabled, searches entered into the catalog search bar will be retained', 'YesNo'), +('RetainPatronsSearchTerms', '1', NULL, 'If enabled, searches entered into the checkout and patrons search bar will be retained', 'YesNo'), ('ReturnBeforeExpiry','0',NULL,'If ON, checkout will be prevented if returndate is after patron card expiry','YesNo'), ('ReturnLog','1',NULL,'If ON, enables the circulation (returns) log','YesNo'), ('ReturnpathDefault','',NULL,'Use this email address as return path or bounce address for undeliverable emails','Free'), diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/catalogue-search-box.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/catalogue-search-box.inc index aac61e803f..d960898c45 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/catalogue-search-box.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/catalogue-search-box.inc @@ -3,10 +3,14 @@ [% END %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search-header.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search-header.inc index d800b9c239..12db22dfc6 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search-header.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/patron-search-header.inc @@ -11,7 +11,11 @@
+ [% IF ( Koha.Preference('RetainPatronsSearchTerms') ) %] + [% ELSE %] + + [% END %] [-] [+] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref index 0997740dc0..71a7f64006 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref @@ -276,6 +276,18 @@ Searching: 1: "search" 0: "don't search" - on all variations of the ISSN. + - + - pref: RetainCatalogSearchTerms + choices: + 0: "Don't retain" + 1: "Retain" + - search terms between searches when searching from the 'search the catalog' tab in the staff interface header. + - + - pref: RetainPatronsSearchTerms + choices: + 0: "Don't retain" + 1: "Retain" + - search terms between searches when searching from the 'checkout' and 'search patrons' tab in the staff interface header. - - pref: BiblioItemtypeInfo choices: -- 2.39.5