Bugzilla – Attachment 57573 Details for
Bug 17642
Authorised values code is broken because of the refactoring
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 17642: use get_description_by_koha_field when needed
Bug-17642-use-getdescriptionbykohafield-when-neede.patch (text/plain), 11.05 KB, created by
Jonathan Druart
on 2016-11-16 17:31:16 UTC
(
hide
)
Description:
Bug 17642: use get_description_by_koha_field when needed
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2016-11-16 17:31:16 UTC
Size:
11.05 KB
patch
obsolete
>From 34583439347946dd75e714b938df10db1741dbdc Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Wed, 16 Nov 2016 17:29:07 +0100 >Subject: [PATCH] Bug 17642: use get_description_by_koha_field when needed > >--- > C4/Items.pm | 18 +++++++++--------- > Koha/AuthorisedValues.pm | 2 +- > acqui/orderreceive.pl | 22 +++++++++++----------- > catalogue/getitem-ajax.pl | 22 +++++++++++----------- > circ/circulation.pl | 4 ++-- > circ/returns.pl | 4 ++-- > t/db_dependent/AuthorisedValues.t | 2 +- > 7 files changed, 37 insertions(+), 37 deletions(-) > >diff --git a/C4/Items.pm b/C4/Items.pm >index 8ed08d5..e02da3b 100644 >--- a/C4/Items.pm >+++ b/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 >diff --git a/Koha/AuthorisedValues.pm b/Koha/AuthorisedValues.pm >index ad68904..7ceb77a 100644 >--- a/Koha/AuthorisedValues.pm >+++ b/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; > >diff --git a/acqui/orderreceive.pl b/acqui/orderreceive.pl >index 1a48b3b..0e302bd 100755 >--- a/acqui/orderreceive.pl >+++ b/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}; >diff --git a/catalogue/getitem-ajax.pl b/catalogue/getitem-ajax.pl >index 6974a8f..99814dc 100755 >--- a/catalogue/getitem-ajax.pl >+++ b/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}; >diff --git a/circ/circulation.pl b/circ/circulation.pl >index 340bae7..9a376a1 100755 >--- a/circ/circulation.pl >+++ b/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'}; > >diff --git a/circ/returns.pl b/circ/returns.pl >index ca56080..b91778a 100755 >--- a/circ/returns.pl >+++ b/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'}, >diff --git a/t/db_dependent/AuthorisedValues.t b/t/db_dependent/AuthorisedValues.t >index 7295d41..00ced7e 100644 >--- a/t/db_dependent/AuthorisedValues.t >+++ b/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; >-- >2.1.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 17642
:
57533
|
57569
|
57570
|
57571
|
57572
|
57573
|
57574
|
57595
|
57616
|
57628
|
57629
|
57630
|
57631
|
57632
|
57633
|
57634
|
57635
|
57650
|
57651
|
57652
|
57653
|
57654
|
57655
|
57656
|
57657