Browse Source

Bug 17642: use get_description_by_koha_field when needed

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
16.11.x
Jonathan Druart 6 years ago
committed by Kyle M Hall
parent
commit
6585bfc284
  1. 18
      C4/Items.pm
  2. 2
      Koha/AuthorisedValues.pm
  3. 22
      acqui/orderreceive.pl
  4. 22
      catalogue/getitem-ajax.pl
  5. 4
      circ/circulation.pl
  6. 4
      circ/returns.pl
  7. 2
      t/db_dependent/AuthorisedValues.t

18
C4/Items.pm

@ -1374,20 +1374,20 @@ sub GetItemsInfo {
$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

2
Koha/AuthorisedValues.pm

@ -129,7 +129,7 @@ sub get_description_by_koha_field {
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;

22
acqui/orderreceive.pl

@ -128,21 +128,21 @@ if ($AcqCreateItem eq 'receiving') {
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};

22
catalogue/getitem-ajax.pl

@ -55,21 +55,21 @@ if($itemnumber) {
$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};

4
circ/circulation.pl

@ -393,8 +393,8 @@ if (@$barcodes) {
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'};

4
circ/returns.pl

@ -279,8 +279,8 @@ if ($barcode) {
$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'},

2
t/db_dependent/AuthorisedValues.t

@ -118,7 +118,7 @@ is( @categories, 3, 'There should have 2 categories inserted' );
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;

Loading…
Cancel
Save