From 69e51d729ff7e5e1a90a0d6ce13e2ca6a0c69308 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 16 Jan 2018 10:25:00 -0300 Subject: [PATCH] Bug 19978: Fix ITEMTYPECAT behaviour ITEMTYPECAT permits to group and hide item types at the OPAC (see bug 10937 for a complete description). Since commit 091d6c513bcbee224ff06477e79be48cea7fe825 Bug 17843: Replace C4::Koha::getitemtypeinfo with Koha::ItemTypes the code assume that they are item types. Before it just assigned undef to the description. Test plan: Create ITEMTYPECAT authorised values Assign an item type to this authorised value group Search for a item using this item type at the OPAC Without this patch applied you get: Can't call method "translated_description" on an undefined value at /home/vagrant/kohaclone/opac/opac-search.pl line 231. With this patch applied the search result is displayed. Make sure the original feature still works. Signed-off-by: Claire Gravely Signed-off-by: Katrin Fischer Signed-off-by: Jonathan Druart --- opac/opac-search.pl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/opac/opac-search.pl b/opac/opac-search.pl index 0b61869d4a..f06e40a6fa 100755 --- a/opac/opac-search.pl +++ b/opac/opac-search.pl @@ -226,7 +226,10 @@ my $itemtypes = GetItemTypesCategorized; # add translated_description to itemtypes foreach my $itemtype ( keys %{$itemtypes} ) { # Itemtypes search categories don't have (yet) translated descriptions, they are auth values (and could still have no descriptions too BZ 18400) - my $translated_description = Koha::ItemTypes->find( $itemtype )->translated_description; + # If 'iscat' (see ITEMTYPECAT) then there is no itemtype and the description is not translated + my $translated_description = $itemtypes->{$itemtype}->{iscat} + ? $itemtypes->{$itemtype}->{description} + : Koha::ItemTypes->find($itemtype)->translated_description; $itemtypes->{$itemtype}->{translated_description} = $translated_description || $itemtypes->{$itemtype}->{description} || q{}; } -- 2.39.5