From 44d6aa30291504224b8996630d2d1cebed7efde1 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Thu, 2 Jun 2016 14:01:56 +0000 Subject: [PATCH] [PASSED QA] 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 Signed-off-by: Katrin Fischer --- 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 +++++++++++++--------- 5 files changed, 75 insertions(+), 42 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/bug_7441.sql diff --git a/C4/XSLT.pm b/C4/XSLT.pm index f5cd4ee..c4fd6c2 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); @@ -322,13 +323,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 46f89d5..f06ac19 100644 --- a/installer/data/mysql/sysprefs.sql +++ b/installer/data/mysql/sysprefs.sql @@ -339,6 +339,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 aa7a6c9..a225a0e 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 @@ - + -- 1.9.1