From a243ec03c807b3d4c1fe315f0e27cd9e528f1df9 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Wed, 10 Aug 2016 12:10:09 +0100 Subject: [PATCH] Bug 17249: Remove GetKohaAuthorisedValuesFromField - inventory This patch deals with the inventory files calling GetKohaAuthorisedValuesFromField. Test plan: prove t/db_dependent/Items/GetItemsForInventory.t should still return green Use the inventory tool, on the result page the AV descriptions should correctly replace the codes --- t/db_dependent/Items/GetItemsForInventory.t | 6 +++++- tools/inventory.pl | 5 ++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/t/db_dependent/Items/GetItemsForInventory.t b/t/db_dependent/Items/GetItemsForInventory.t index 69451f0..32ea963 100755 --- a/t/db_dependent/Items/GetItemsForInventory.t +++ b/t/db_dependent/Items/GetItemsForInventory.t @@ -20,6 +20,8 @@ use Modern::Perl; use Test::More tests => 6; +use Koha::AuthorisedValues; + $| = 1; BEGIN { @@ -143,7 +145,9 @@ sub OldWay { my ($f, $sf) = C4::Biblio::GetMarcFromKohaField("items.$field", $row->{'frameworkcode'}); if (defined($f) and defined($sf)) { # We replace the code with it's description - my $authvals = C4::Koha::GetKohaAuthorisedValuesFromField($f, $sf, $row->{'frameworkcode'}); + my $av = Koha::AuthorisedValues->search_by_marc_field({ frameworkcode => $row->{frameworkcode}, tagfield => $f, tagsubfield => $sf, }); + $av = $av->count ? $av->unblessed : []; + my $authvals = { map { ( $_->{authorised_value} => $_->{lib} ) } @$av }; $row->{$field} = $authvals->{$row->{$field}} if defined $authvals && defined $row->{$field} && defined $authvals->{$row->{$field}}; } } diff --git a/tools/inventory.pl b/tools/inventory.pl index 990855f..e3c9f48 100755 --- a/tools/inventory.pl +++ b/tools/inventory.pl @@ -37,6 +37,7 @@ use C4::Circulation; use C4::Reports::Guided; #_get_column_defs use C4::Charset; use Koha::DateUtils; +use Koha::AuthorisedValues; use List::MoreUtils qw( none ); @@ -309,7 +310,9 @@ foreach my $item ( @scanned_items ) { my ($f, $sf) = GetMarcFromKohaField("items.$field", $fc); if ($f and $sf) { # We replace the code with it's description - my $authvals = C4::Koha::GetKohaAuthorisedValuesFromField($f, $sf, $fc); + my $av = Koha::AuthorisedValues->search_by_marc_field({ frameworkcode => $fc, tagfield => $f, tagsubfield => $sf, }); + $av = $av->count ? $av->unblessed : []; + my $authvals = { map { ( $_->{authorised_value} => $_->{lib} ) } @$av }; if ($authvals and defined $item->{$field} and defined $authvals->{$item->{$field}}) { $item->{$field} = $authvals->{$item->{$field}}; } -- 2.8.1