From 5f4337a765c34fd736abfda2faddcdb11367f642 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Thu, 17 Nov 2016 11:23:57 +0000 Subject: [PATCH] Bug 17642: Do not explode if no authorised value exist Can't call method "lib" on an undefined value at /home/vagrant/kohaclone/Koha/AuthorisedValues.pm line 137. Signed-off-by: Martin Renvoize Signed-off-by: Marcel de Rooy Signed-off-by: Kyle M Hall --- Koha/AuthorisedValues.pm | 1 + t/db_dependent/AuthorisedValues.t | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Koha/AuthorisedValues.pm b/Koha/AuthorisedValues.pm index d9e6d688cb..5c73052802 100644 --- a/Koha/AuthorisedValues.pm +++ b/Koha/AuthorisedValues.pm @@ -134,6 +134,7 @@ sub get_description_by_koha_field { return $cached if $cached; my $av = $self->find_by_koha_field($params); + return {} unless defined $av; my $descriptions = { lib => $av->lib, opac_description => $av->opac_description }; $memory_cache->set_in_cache( $cache_key, $descriptions ); return $descriptions; diff --git a/t/db_dependent/AuthorisedValues.t b/t/db_dependent/AuthorisedValues.t index 5f344d3447..6d44a726fd 100644 --- a/t/db_dependent/AuthorisedValues.t +++ b/t/db_dependent/AuthorisedValues.t @@ -174,7 +174,7 @@ subtest 'search_by_*_field + find_by_koha_field + get_description' => sub { is( $av, undef, ); }; subtest 'get_description_by_koha_field' => sub { - plan tests => 3; + plan tests => 4; my $descriptions; # Test authorised_value = 0 @@ -199,6 +199,11 @@ subtest 'search_by_*_field + find_by_koha_field + get_description' => sub { $descriptions = Koha::AuthorisedValues->get_description_by_koha_field( { kohafield => 'items.restricted', authorised_value => undef } ); is_deeply( $descriptions, {}, ) ; # This could be arguable, we could return undef instead + + # No authorised_value + $descriptions = Koha::AuthorisedValues->get_description_by_koha_field( + { kohafield => 'items.restricted', authorised_value => "does not exist" } ); + is_deeply( $descriptions, {}, ) ; # This could be arguable, we could return undef instead }; subtest 'get_descriptions_by_koha_field' => sub { plan tests => 1; -- 2.39.5