From 58a7613c6eee014767df8d34c4223321846dd5fb Mon Sep 17 00:00:00 2001 From: Aleisha Amohia Date: Wed, 1 Jun 2022 22:35:06 +0000 Subject: [PATCH] Bug 30880: Add 'branchonly' to OPACResultsUnavailableGroupingBy This patch adds a third option 'branch only' to the OPACResultsUnavailableGroupBy system preference. This option will group unavailable items by branch in the OPAC search results and NOT show individual callnumbers or substatuses. Note: This assumes OPACXSLTResultsDisplay is set to default. To test: 1. Create a biblio record with 3 items with the following home branches: Item A: Branch A Item B: Branch A Item C: Branch B 2. Check out Item A to yourself 3. Edit Item B to have a lost status 4. Go to Administration -> global system preferences. Search for OPACResultsUnavailableGroupingBy. 5. By default, this preference will be set to 'branch'. 6. Open the OPAC in another tab, and search for your record. 7. Confirm the search results shows an Availability line with "Not available: Branch A: Checked out (1). Branch A: Lost (1)." i.e. showing both branch and substatus. 8. In your staff client tab, set OPACResultsUnavailableGroupingBy to 'substatus'. 9. Go back to your OPAC tab and search for your record. Confirm the search results shows an Availability line with "Not available: Checked out (1). Lost (1)." i.e. showing substatus only. 10. Apply patch, update database, restart services. 11. In your staff client tab, refresh the page. Confirm the options for OPACResultsUnavailableGroupingBy have now changed to: - branch and substatus - substatus only - branch only 12. Set OPACResultsUnavailableGroupingBy to 'branch only'. 13. Go back to your OPAC tab and search for your record. Confirm the search results shows an Availability line with "Not available: Branch A (2)." i.e. showing branch only. 14. Confirm the other two options still work as expected. Sponsored-by: Chartered Accountants Australia and New Zealand Signed-off-by: David Nind Signed-off-by: Tomas Cohen Arazi --- ...OPACResultsUnavailableGroupingBy_syspref.pl | 12 ++++++++++++ installer/data/mysql/mandatory/sysprefs.sql | 2 +- .../en/modules/admin/preferences/opac.pref | 5 +++-- .../en/xslt/MARC21slim2OPACResults.xsl | 18 ++++++++++++++++++ 4 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/bug_30880_-_add_option_OPACResultsUnavailableGroupingBy_syspref.pl diff --git a/installer/data/mysql/atomicupdate/bug_30880_-_add_option_OPACResultsUnavailableGroupingBy_syspref.pl b/installer/data/mysql/atomicupdate/bug_30880_-_add_option_OPACResultsUnavailableGroupingBy_syspref.pl new file mode 100644 index 0000000000..2d79b90d6c --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_30880_-_add_option_OPACResultsUnavailableGroupingBy_syspref.pl @@ -0,0 +1,12 @@ +use Modern::Perl; + +return { + bug_number => "30880", + description => "Add branchonly option to OPACResultsUnavailableGroupingBy syspref", + up => sub { + my ($args) = @_; + my ($dbh, $out) = @$args{qw(dbh out)}; + + $dbh->do(q{ UPDATE systempreferences SET options = 'branch|substatus|branchonly', explanation = 'Group OPAC XSLT results by branch and substatus, or substatus only, or branch only' WHERE variable = 'OPACResultsUnavailableGroupingBy' }); + }, +}; diff --git a/installer/data/mysql/mandatory/sysprefs.sql b/installer/data/mysql/mandatory/sysprefs.sql index 2f9c81567b..73de4021dc 100644 --- a/installer/data/mysql/mandatory/sysprefs.sql +++ b/installer/data/mysql/mandatory/sysprefs.sql @@ -491,7 +491,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('OpacResetPassword','0','','Shows the ''Forgot your password?'' link in the OPAC','YesNo'), ('OPACResultsLibrary', 'homebranch', 'homebranch|holdingbranch', 'Defines whether the OPAC displays the holding or home branch in search results when using XSLT', 'Choice'), ('OPACResultsSidebar','','70|10','Define HTML to be included on the search results page, underneath the facets sidebar','Textarea'), -('OPACResultsUnavailableGroupingBy','branch','branch|substatus','Group OPAC XSLT results by branch or substatus','Choice'), +('OPACResultsUnavailableGroupingBy','branch','branch|substatus|branchonly','Group OPAC XSLT results by branch and substatus, or substatus only, or branch only','Choice'), ('OPACSearchForTitleIn','Other Libraries (WorldCat)\nOther Databases (Google Scholar)\nOnline Stores (Bookfinder.com)\nOpen Library (openlibrary.org)','70|10','Enter the HTML that will appear in the \'Search for this title in\' box on the detail page in the OPAC. Enter {TITLE}, {AUTHOR}, or {ISBN} in place of their respective variables in the URL. Leave blank to disable \'More Searches\' menu.','Textarea'), ('OpacSeparateHoldings','0',NULL,'Separate current branch holdings from other holdings (OPAC)','YesNo'), ('OpacSeparateHoldingsBranch','homebranch','homebranch|holdingbranch','Branch used to separate holdings (OPAC)','Choice'), diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref index 8aa014475d..043c5276d8 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref @@ -329,8 +329,9 @@ OPAC: - Group unavailable items by - pref: OPACResultsUnavailableGroupingBy choices: - branch: "branch" - substatus: "substatus" + branch: "branch and substatus" + substatus: "substatus only" + branchonly: "branch only" - ". (NOTE: For large consortia we recommend to group unavailable items by substatus, listing item counts only.)" Features: diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl index f28277038a..bccaaeec6b 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl +++ b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl @@ -1390,6 +1390,24 @@ + + + + + + + + + + ( + + ) + + . + + + + -- 2.39.2