$serial ||= $data->{'serial'};
- my $av;
+ my $descriptions;
# get notforloan complete status if applicable
- $av = Koha::AuthorisedValues->find_by_koha_field({frameworkcode => $data->{frameworkcode}, kohafield => 'items.notforloan', authorised_value => $data->{itemnotforloan} });
- $data->{notforloanvalue} = $av ? $av->lib : '';
- $data->{notforloanvalueopac} = $av ? $av->opac_description : '';
+ $descriptions = Koha::AuthorisedValues->get_description_by_koha_field({frameworkcode => $data->{frameworkcode}, kohafield => 'items.notforloan', authorised_value => $data->{itemnotforloan} });
+ $data->{notforloanvalue} = $descriptions->{lib} // '';
+ $data->{notforloanvalueopac} = $descriptions->{opac_description} // '';
# get restricted status and description if applicable
- $av = Koha::AuthorisedValues->find_by_koha_field({frameworkcode => $data->{frameworkcode}, kohafield => 'items.restricted', authorised_value => $data->{restricted} });
- $data->{restricted} = $av ? $av->lib : '';
- $data->{restrictedopac} = $av ? $av->opac_description : '';
+ $descriptions = Koha::AuthorisedValues->get_description_by_koha_field({frameworkcode => $data->{frameworkcode}, kohafield => 'items.restricted', authorised_value => $data->{restricted} });
+ $data->{restricted} = $descriptions->{lib} // '';
+ $data->{restrictedopac} = $descriptions->{opac_description} // '';
# my stack procedures
- $av = Koha::AuthorisedValues->find_by_koha_field({frameworkcode => $data->{frameworkcode}, kohafield => 'items.stack', authorised_value => $data->{stack} });
- $data->{stack} = $av ? $av->lib : '';
+ $descriptions = Koha::AuthorisedValues->get_description_by_koha_field({frameworkcode => $data->{frameworkcode}, kohafield => 'items.stack', authorised_value => $data->{stack} });
+ $data->{stack} = $descriptions->{lib} // '';
# Find the last 3 people who borrowed this item.
my $sth2 = $dbh->prepare("SELECT * FROM old_issues,borrowers
return {} unless defined $authorised_value;
my $memory_cache = Koha::Cache::Memory::Lite->get_instance;
- my $cache_key = "Av_descriptions:$frameworkcode:$kohafield:$authorised_value";
+ my $cache_key = "AV_descriptions:$frameworkcode:$kohafield:$authorised_value";
my $cached = $memory_cache->get_from_cache($cache_key);
return $cached if $cached;
my @items;
foreach (@itemnumbers) {
my $item = GetItem($_);
- my $av;
- $av = Koha::AuthorisedValues->find_by_koha_field({frameworkcode => $fw, kohafield => 'items.notforloan', authorised_value => $item->{notforloan} });
- $item->{notforloan} = $av ? $av->lib : '';
+ my $descriptions;
+ $descriptions = Koha::AuthorisedValues->get_description_by_koha_field({frameworkcode => $fw, kohafield => 'items.notforloan', authorised_value => $item->{notforloan} });
+ $item->{notforloan} = $descriptions->{lib} // '';
- $av = Koha::AuthorisedValues->find_by_koha_field({frameworkcode => $fw, kohafield => 'items.restricted', authorised_value => $item->{restricted} });
- $item->{restricted} = $av ? $av->lib : '';
+ $descriptions = Koha::AuthorisedValues->get_description_by_koha_field({frameworkcode => $fw, kohafield => 'items.restricted', authorised_value => $item->{restricted} });
+ $item->{restricted} = $descriptions->{lib} // '';
- $av = Koha::AuthorisedValues->find_by_koha_field({frameworkcode => $fw, kohafield => 'items.location', authorised_value => $item->{location} });
- $item->{location} = $av ? $av->lib : '';
+ $descriptions = Koha::AuthorisedValues->get_description_by_koha_field({frameworkcode => $fw, kohafield => 'items.location', authorised_value => $item->{location} });
+ $item->{location} = $descriptions->{lib} // '';
- $av = Koha::AuthorisedValues->find_by_koha_field({frameworkcode => $fw, kohafield => 'items.collection', authorised_value => $item->{collection} });
- $item->{collection} = $av ? $av->lib : '';
+ $descriptions = Koha::AuthorisedValues->get_description_by_koha_field({frameworkcode => $fw, kohafield => 'items.collection', authorised_value => $item->{collection} });
+ $item->{collection} = $descriptions->{lib} // '';
- $av = Koha::AuthorisedValues->find_by_koha_field({frameworkcode => $fw, kohafield => 'items.materials', authorised_value => $item->{materials} });
- $item->{materials} = $av ? $av->lib : '';
+ $descriptions = Koha::AuthorisedValues->get_description_by_koha_field({frameworkcode => $fw, kohafield => 'items.materials', authorised_value => $item->{materials} });
+ $item->{materials} = $descriptions->{lib} // '';
my $itemtype = getitemtypeinfo($item->{itype});
$item->{itemtype} = $itemtype->{description};
$item->{holdingbranchname} = Koha::Libraries->find($item->{holdingbranch})->branchname;
}
- my $av;
- $av = Koha::AuthorisedValues->find_by_koha_field({ frameworkcode => $fw, kohafield => 'items.notforloan', authorised_value => $item->{notforloan} });
- $item->{notforloan} = $av ? $av->lib : '';
+ my $descriptions;
+ $descriptions = Koha::AuthorisedValues->get_description_by_koha_field({ frameworkcode => $fw, kohafield => 'items.notforloan', authorised_value => $item->{notforloan} });
+ $item->{notforloan} = $descriptions->{lib} // '';
- $av = Koha::AuthorisedValues->find_by_koha_field({ frameworkcode => $fw, kohafield => 'items.restricted', authorised_value => $item->{restricted} });
- $item->{restricted} = $av ? $av->lib : '';
+ $descriptions = Koha::AuthorisedValues->get_description_by_koha_field({ frameworkcode => $fw, kohafield => 'items.restricted', authorised_value => $item->{restricted} });
+ $item->{restricted} = $descriptions->{lib} // '';
- $av = Koha::AuthorisedValues->find_by_koha_field({ frameworkcode => $fw, kohafield => 'items.location', authorised_value => $item->{location} });
- $item->{location} = $av ? $av->lib : '';
+ $descriptions = Koha::AuthorisedValues->get_description_by_koha_field({ frameworkcode => $fw, kohafield => 'items.location', authorised_value => $item->{location} });
+ $item->{location} = $descriptions->{lib} // '';
- $av = Koha::AuthorisedValues->find_by_koha_field({ frameworkcode => $fw, kohafield => 'items.collection', authorised_value => $item->{collection} });
- $item->{collection} = $av ? $av->lib : '';
+ $descriptions = Koha::AuthorisedValues->get_description_by_koha_field({ frameworkcode => $fw, kohafield => 'items.collection', authorised_value => $item->{collection} });
+ $item->{collection} = $descriptions->{lib} // '';
- $av = Koha::AuthorisedValues->find_by_koha_field({ frameworkcode => $fw, kohafield => 'items.materials', authorised_value => $item->{materials} });
- $item->{materials} = $av ? $av->lib : '';
+ $descriptions = Koha::AuthorisedValues->get_description_by_koha_field({ frameworkcode => $fw, kohafield => 'items.materials', authorised_value => $item->{materials} });
+ $item->{materials} = $descriptions->{lib} // '';
my $itemtype = getitemtypeinfo($item->{itype});
$item->{itemtype} = $itemtype->{description};
unless($issueconfirmed){
# Get the item title for more information
my $materials = $iteminfo->{'materials'};
- my $av = Koha::AuthorisedValues->find_by_koha_field({ frameworkcode => $getmessageiteminfo->{frameworkcode}, kohafield => 'items.materials', authorised_value => $materials });
- $materials = $av ? $av->lib : '';
+ my $descriptions = Koha::AuthorisedValues->get_description_by_koha_field({ frameworkcode => $getmessageiteminfo->{frameworkcode}, kohafield => 'items.materials', authorised_value => $materials });
+ $materials = $descriptions->{lib} // '';
$template_params->{additional_materials} = $materials;
$template_params->{itemhomebranch} = $iteminfo->{'homebranch'};
$returnbranch = $biblio->{$hbr};
my $materials = $biblio->{'materials'};
- my $av = Koha::AuthorisedValues->find_by_koha_field({frameworkcode => '', kohafield =>'items.materials', authorised_value => $materials });
- $materials = $av ? $av->lib : '';
+ my $descriptions = Koha::AuthorisedValues->get_description_by_koha_field({frameworkcode => '', kohafield =>'items.materials', authorised_value => $materials });
+ $materials = $descriptions->{lib} // '';
$template->param(
title => $biblio->{'title'},
is( $categories[0], $av4->category, 'The first category should be correct (ordered by category name)' );
is( $categories[1], $av1->category, 'The second category should be correct (ordered by category name)' );
-subtest 'search_by_*_field + find_by_koha_field + search_for_descriptions' => sub {
+subtest 'search_by_*_field + find_by_koha_field + get_description' => sub {
plan tests => 4;
my $loc_cat = Koha::AuthorisedValueCategories->find('LOC');
$loc_cat->delete if $loc_cat;