From 531455dfaa448d9e55cd536648364036b5f6d753 Mon Sep 17 00:00:00 2001 From: Aleisha Amohia <aleishaamohia@hotmail.com> Date: Tue, 21 Apr 2020 11:48:06 +0000 Subject: [PATCH] Bug 21249: (follow-up) Fixing syspref name, description, get working with OPAC masthead search Syspref is now called SearchLimitLibrary, and the description better explains what the feature does. It works with the advanced search on the staff client and OPAC, and the masthead search on the OPAC when OpacAddMastheadLibraryPulldown is enabled. Sponsored-by: Catalyst IT --- catalogue/search.pl | 2 +- .../bug_21249-Branch_to_limit_advanced_search_results.sql | 1 - .../atomicupdate/bug_21249-SearchLimitLibrary_syspref.perl | 6 ++++++ installer/data/mysql/mandatory/sysprefs.sql | 1 + .../prog/en/modules/admin/preferences/searching.pref | 11 +++++------ opac/opac-search.pl | 6 ++---- 6 files changed, 15 insertions(+), 12 deletions(-) delete mode 100644 installer/data/mysql/atomicupdate/bug_21249-Branch_to_limit_advanced_search_results.sql create mode 100644 installer/data/mysql/atomicupdate/bug_21249-SearchLimitLibrary_syspref.perl diff --git a/catalogue/search.pl b/catalogue/search.pl index 6f3e85e387..4446ca944b 100755 --- a/catalogue/search.pl +++ b/catalogue/search.pl @@ -376,7 +376,7 @@ my %is_nolimit = map { $_ => 1 } @nolimits; @limits = grep { not $is_nolimit{$_} } @limits; if ( $params->{'multibranchlimit'} ) { - my $branchfield = C4::Context->preference('AdvancedSearchBranchFieldToUse'); + my $branchfield = C4::Context->preference('SearchLimitLibrary'); my $search_group = Koha::Library::Groups->find( $params->{multibranchlimit} ); my @branchcodes = map { $_->branchcode } $search_group->all_libraries; diff --git a/installer/data/mysql/atomicupdate/bug_21249-Branch_to_limit_advanced_search_results.sql b/installer/data/mysql/atomicupdate/bug_21249-Branch_to_limit_advanced_search_results.sql deleted file mode 100644 index 6d6aa04808..0000000000 --- a/installer/data/mysql/atomicupdate/bug_21249-Branch_to_limit_advanced_search_results.sql +++ /dev/null @@ -1 +0,0 @@ -INSERT IGNORE INTO systempreferences (variable, value, options, explanation, type) VALUES ('AdvancedSearchBranchFieldToUse', 'homebranch and holdingbranch', 'homebranch|holdingbranch|homebranch and holdingbranch', 'When a library or group of libraries is selected from the advanced search compare the selected branch value against this branch field(s) selected', 'choice'); diff --git a/installer/data/mysql/atomicupdate/bug_21249-SearchLimitLibrary_syspref.perl b/installer/data/mysql/atomicupdate/bug_21249-SearchLimitLibrary_syspref.perl new file mode 100644 index 0000000000..93519631de --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_21249-SearchLimitLibrary_syspref.perl @@ -0,0 +1,6 @@ +$DBversion = 'XXX'; +if( CheckVersion( $DBversion ) ) { + $dbh->do(q{INSERT IGNORE INTO systempreferences (variable, value, options, explanation, type) VALUES ('SearchLimitLibrary', 'both', 'homebranch|holdingbranch|both', "When limiting search results with a library or library group, use the item's home library, or holding library, or both.", 'Choice')}); + + NewVersion( $DBversion, 21249, "Adding SearchLimitLibrary system preference" ); +} diff --git a/installer/data/mysql/mandatory/sysprefs.sql b/installer/data/mysql/mandatory/sysprefs.sql index f09947e71b..55c38e2c51 100644 --- a/installer/data/mysql/mandatory/sysprefs.sql +++ b/installer/data/mysql/mandatory/sysprefs.sql @@ -582,6 +582,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('SCOUserCSS','',NULL,'Add CSS to be included in the SCO module in an embedded <style> tag.','free'), ('SCOUserJS','',NULL,'Define custom javascript for inclusion in the SCO module','free'), ('SearchEngine','Zebra','Elasticsearch|Zebra','Search Engine','Choice'), +('SearchLimitLibrary', 'both', 'homebranch|holdingbranch|both', "When limiting search results with a library or library group, use the item's home library, or holding library, or both.", 'Choice'), ('SearchMyLibraryFirst','0',NULL,'If ON, OPAC searches return results limited by the user\'s library by default if they are logged in','YesNo'), ('SearchWithISBNVariations','0',NULL,'If enabled, search on all variations of the ISBN','YesNo'), ('SelfCheckAllowByIPRanges','',NULL,'(Leave blank if not used. Use ranges or simple ip addresses separated by spaces, like <code>192.168.1.1 192.168.0.0/24</code>.)','Short'), 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 fa8252ddf9..20b4a155e8 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 @@ -168,13 +168,12 @@ Searching: az: from A to Z. za: from Z to A. - - - pref: AdvancedSearchBranchFieldToUse - default: homebranch and holdingbranch + - When limiting search results with a library or library group, limit by the item's + - pref: SearchLimitLibrary choices: - homebranch: homebranch - holdingbranch: holdingbranch - homebranch and holdingbranch: homebranch and holdingbranch - - When a library or group of libraries is selected from the advanced search compare the selected branch value against this branch field(s) selected + homebranch: "home library." + holdingbranch: "holding library." + both: "home library and holding library." - - pref: displayFacetCount type: boolean diff --git a/opac/opac-search.pl b/opac/opac-search.pl index 8e24c2b55b..0643dfc15e 100755 --- a/opac/opac-search.pl +++ b/opac/opac-search.pl @@ -495,10 +495,8 @@ if (@searchCategories > 0) { @limits = map { uri_unescape($_) } @limits; -my $branchfield = C4::Context->preference('AdvancedSearchBranchFieldToUse'); - -if ( $params->{'multibranchlimit'} ) { - my $branchfield = C4::Context->preference('AdvancedSearchBranchFieldToUse'); +if ( $params->{'multibranchlimit'} || ( $branch_group_limit && $branch_group_limit =~ /^multibranchlimit-/ ) ) { + my $branchfield = C4::Context->preference('SearchLimitLibrary'); my $search_group = Koha::Library::Groups->find( $params->{multibranchlimit} ); my @branchcodes = map { $_->branchcode } $search_group->all_libraries; -- 2.11.0