From 4579f77a4d379cb8e6c4a878032db5e847519041 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Thu, 2 Jun 2016 14:01:56 +0000 Subject: [PATCH] Bug 7441 - search results showing wrong branch? When you search in the OPAC it shows you the HOME branch on the location in XSLT, but if you click through to the detail page it shows you the CURRENT BRANCH in the holdings table which is very confusing to patrons. I don't know what's the right solution - home or holding branch, but they should be the same in both places for the patron's sake. If you do the same search in the staff client you see the right branch info on the search results and on the detail page. Test Plan: 1) Apply this patch 2) Run updatedatabase.pl 3) Search the catalog, you search should include results with items that have different home and holding libraries. 4) The results should look the same as before the patch 5) Change the system preference OPACResultsLibrary to "current location" 6) Refresh your page of search results 7) The results show now show the holding library instead of the home library Signed-off-by: Barbara Walters Signed-off-by: Nick Clemens --- C4/XSLT.pm | 19 +++-- installer/data/mysql/atomicupdate/bug_7441.sql | 2 + installer/data/mysql/sysprefs.sql | 1 + .../prog/en/modules/admin/preferences/opac.pref | 6 ++ .../bootstrap/en/xslt/MARC21slim2OPACResults.xsl | 89 +++++++++++++--------- .../bootstrap/en/xslt/UNIMARCslim2OPACResults.xsl | 58 +++++++++----- 6 files changed, 116 insertions(+), 59 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/bug_7441.sql diff --git a/C4/XSLT.pm b/C4/XSLT.pm index a2bbaab..19f643a 100644 --- a/C4/XSLT.pm +++ b/C4/XSLT.pm @@ -170,7 +170,8 @@ sub get_xslt_sysprefs { UseControlNumber IntranetBiblioDefaultView BiblioDefaultView OPACItemLocation DisplayIconsXSLT AlternateHoldingsField AlternateHoldingsSeparator - TrackClicks opacthemes IdRef OpacSuppression / ) + TrackClicks opacthemes IdRef OpacSuppression + OPACResultsLibrary / ) { my $sp = C4::Context->preference( $syspref ); next unless defined($sp); @@ -310,13 +311,15 @@ sub buildKohaItemsNamespace { $location = $item->{location}? xml_escape($shelflocations->{$item->{location}}||$item->{location}):''; $ccode = $item->{ccode}? xml_escape($ccodes->{$item->{ccode}}||$item->{ccode}):''; my $itemcallnumber = xml_escape($item->{itemcallnumber}); - $xml.= "$homebranch". - "$holdingbranch". - "$location". - "$ccode". - "$status". - "".$itemcallnumber."". - ""; + $xml .= + "" + . "$homebranch" + . "$holdingbranch" + . "$location" + . "$ccode" + . "$status" + . "$itemcallnumber" + . ""; } $xml = "".$xml.""; return $xml; diff --git a/installer/data/mysql/atomicupdate/bug_7441.sql b/installer/data/mysql/atomicupdate/bug_7441.sql new file mode 100644 index 0000000..0177a79 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_7441.sql @@ -0,0 +1,2 @@ +INSERT INTO systempreferences (variable, value, options, explanation, type) VALUES +('OPACResultsLibrary', 'homebranch', 'homebranch|holdingbranch', 'Defines whether the OPAC displays the holding or home branch in search results when using XSLT', 'Choice'); diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql index 2b95c99..2da6350 100644 --- a/installer/data/mysql/sysprefs.sql +++ b/installer/data/mysql/sysprefs.sql @@ -333,6 +333,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('OpacRenewalAllowed','0',NULL,'If ON, users can renew their issues directly from their OPAC account','YesNo'), ('OpacRenewalBranch','checkoutbranch','itemhomebranch|patronhomebranch|checkoutbranch|null','Choose how the branch for an OPAC renewal is recorded in statistics','Choice'), ('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'), ('OPACSearchForTitleIn','
  • Other Libraries (WorldCat)
  • \n
  • Other Databases (Google Scholar)
  • \n
  • Online Stores (Bookfinder.com)
  • \n
  • Open 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'), 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 e1c72f0..6154f7d 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 @@ -1,6 +1,12 @@ OPAC: Appearance: - + - For search results in the OPAC, show the item's + - pref: OPACResultsLibrary + choices: + holdingbranch: "current location" + homebranch: "home library" + - - Use the - pref: opacthemes choices: opac-templates diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl index 9b22fd5..dc66b3e 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl +++ b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl @@ -10,7 +10,8 @@ - + + @@ -20,6 +21,7 @@ + @@ -1166,35 +1168,54 @@ - - - - [Call number: ] - ( - - ) - - . - , - - - - - - - - - [Call number: ] - ( - - ) - - . - , - - - - + + + + [Call number: ] + ( + + ) + + . + , + + + + + + + + + + + [Call number: ] + ( + + ) + + . + , + + + + + + + + + [Call number: ] + ( + + ) + + . + , + + + + + + @@ -1206,14 +1227,14 @@ Items available for reference: - + [Call number: ] ( - + ) . , @@ -1280,7 +1301,7 @@ - + @@ -1293,7 +1314,7 @@ - + diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslim2OPACResults.xsl b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslim2OPACResults.xsl index d72ad3f..3c97177 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslim2OPACResults.xsl +++ b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslim2OPACResults.xsl @@ -11,7 +11,8 @@ - + + @@ -25,6 +26,7 @@ select="marc:datafield[@tag=090]/marc:subfield[@code='a']"/> + @@ -146,31 +148,53 @@ - + [] ( - + ) . , - - - [] - - ( - - ) - - - . + + + + + [] + + ( + + ) + + + . + + + , + + + - , + + + [] + + ( + + ) + + + . + + + , + + + - @@ -182,13 +206,13 @@ Items available for reference: - + [] ( - + ) -- 2.1.4