From ab5c3eccf4a7e874f8b654c199caeeae9a98128f Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Thu, 18 Apr 2013 10:03:38 +0200 Subject: [PATCH] Bug 10073: Show ccode or location also if not bound to Authorized Values in XSLT If you do not have ccode or location governed by authorized value (you can release this default connection in the marc structure), these item values are not passed through in the items section, created by buildKohaItemsNamespace for XSLTParse4Display. This simple patch checks if the authorized value hash on ccode or location returns something and passes the original value in otherwise. Test plan: Temporarily disconnect ccode and location from authorized values in MARC structure. Edit an item, put some values in location and ccode. Look at this record via opac search (XSLT enabled). Toggle the value of OPACItemLocation to show ccode or location before call number. Restore authorized values-connection when applicable. Note: Since bug 9995 adjusts OPAC XSLT Results, it may be helpful to apply these patches when testing this. Signed-off-by: Kyle M Hall Signed-off-by: Katrin Fischer This works as described for the XSLT result list. The text is shown when OpacItemLocation is set to show collection or location. Note: Displaying location and collection without using authorised values doesn't work in other places like the detail page item table. So this will need more work to be fully functional. Signed-off-by: Jared Camins-Esakov --- C4/XSLT.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/C4/XSLT.pm b/C4/XSLT.pm index 19ce2ab75f..8f24df9e74 100644 --- a/C4/XSLT.pm +++ b/C4/XSLT.pm @@ -281,8 +281,8 @@ sub buildKohaItemsNamespace { } my $homebranch = $item->{homebranch}? xml_escape($branches->{$item->{homebranch}}->{'branchname'}):''; my $holdingbranch = $item->{holdingbranch}? xml_escape($branches->{$item->{holdingbranch}}->{'branchname'}):''; - $location = $item->{location}? xml_escape($shelflocations->{$item->{location}}):''; - $ccode = $item->{ccode}? xml_escape($ccodes->{$item->{ccode}}):''; + $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". -- 2.39.5