@@ -, +, @@ Koha::ItemTypes --- C4/Biblio.pm | 4 +++- Koha/Template/Plugin/ItemTypes.pm | 6 +----- acqui/orderreceive.pl | 5 +++-- catalogue/getitem-ajax.pl | 5 +++-- circ/transferstoreceive.pl | 5 +++-- circ/waitingreserves.pl | 5 +++-- members/summary-print.pl | 6 +++--- opac/opac-browser.pl | 1 - opac/opac-search.pl | 3 ++- opac/opac-shelves.pl | 9 +++++---- opac/opac-tags_subject.pl | 1 - svc/checkouts | 5 +++-- svc/holds | 5 +++-- virtualshelves/shelves.pl | 9 +++++---- 14 files changed, 37 insertions(+), 32 deletions(-) --- a/C4/Biblio.pm +++ a/C4/Biblio.pm @@ -44,6 +44,7 @@ use Koha::Acquisition::Currencies; use Koha::Biblio::Metadata; use Koha::Biblio::Metadatas; use Koha::Holds; +use Koha::ItemTypes; use Koha::SearchEngine; use Koha::Libraries; @@ -1629,7 +1630,8 @@ sub GetAuthorisedValueDesc { #---- itemtypes if ( $tagslib->{$tag}->{$subfield}->{'authorised_value'} eq "itemtypes" ) { - return getitemtypeinfo($value)->{translated_description}; + my $itemtype = Koha::ItemTypes->find( $value ); + return $itemtype ? $itemtype->translated_description : q||; } #---- "true" authorized value --- a/Koha/Template/Plugin/ItemTypes.pm +++ a/Koha/Template/Plugin/ItemTypes.pm @@ -22,15 +22,11 @@ use Modern::Perl; use Template::Plugin; use base qw( Template::Plugin ); -use C4::Koha; use Koha::ItemTypes; sub GetDescription { my ( $self, $itemtype ) = @_; - - $itemtype = C4::Koha::getitemtypeinfo( $itemtype ); - return $itemtype->{translated_description}; - + return Koha::ItemTypes->find( $itemtype )->translated_description; } sub Get { --- a/acqui/orderreceive.pl +++ a/acqui/orderreceive.pl @@ -74,6 +74,7 @@ use C4::Suggestions; use Koha::Acquisition::Booksellers; use Koha::DateUtils qw( dt_from_string ); +use Koha::ItemTypes; my $input = new CGI; @@ -143,8 +144,8 @@ if ($AcqCreateItem eq 'receiving') { $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}; + my $itemtype = Koha::ItemsTypes->find( $item->{itype} ); + $item->{itemtype} = $itemtype->description; # FIXME Should not it be translated_description? push @items, $item; } $template->param(items => \@items); --- a/catalogue/getitem-ajax.pl +++ a/catalogue/getitem-ajax.pl @@ -29,6 +29,7 @@ use C4::Output; use Koha::Libraries; use Koha::AuthorisedValues; +use Koha::ItemTypes; my $cgi = new CGI; @@ -71,8 +72,8 @@ if($itemnumber) { $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}; + my $itemtype = Koha::ItemTypes->find( $item->{itype} ); + $item->{itemtype} = $itemtype->description; # FIXME Should not it be translated_description? } my $json_text = to_json( $item, { utf8 => 1 } ); --- a/circ/transferstoreceive.pl +++ a/circ/transferstoreceive.pl @@ -35,6 +35,7 @@ use Date::Calc qw( use C4::Koha; use C4::Reserves; +use Koha::ItemTypes; use Koha::Libraries; use Koha::DateUtils; use Koha::BiblioFrameworks; @@ -88,10 +89,10 @@ while ( my $library = $libraries->next ) { $getransf{'diff'} = $diff; } my $gettitle = GetBiblioFromItemNumber( $num->{'itemnumber'} ); - my $itemtypeinfo = getitemtypeinfo( (C4::Context->preference('item-level_itypes')) ? $gettitle->{'itype'} : $gettitle->{'itemtype'} ); + my $itemtype = Koha::ItemTypes->find( (C4::Context->preference('item-level_itypes')) ? $gettitle->{'itype'} : $gettitle->{'itemtype'} ); $getransf{'datetransfer'} = $num->{'datesent'}; - $getransf{'itemtype'} = $itemtypeinfo ->{'description'}; + $getransf{'itemtype'} = $itemtype->description; # FIXME Should not it be translated_description? foreach (qw(title author biblionumber itemnumber barcode homebranch holdingbranch itemcallnumber)) { $getransf{$_} = $gettitle->{$_}; } --- a/circ/waitingreserves.pl +++ a/circ/waitingreserves.pl @@ -37,6 +37,7 @@ use C4::Reserves; use C4::Koha; use Koha::DateUtils; use Koha::BiblioFrameworks; +use Koha::ItemTypes; my $input = new CGI; @@ -105,7 +106,7 @@ foreach my $num (@getreserves) { # fix up item type for display $gettitle->{'itemtype'} = C4::Context->preference('item-level_itypes') ? $gettitle->{'itype'} : $gettitle->{'itemtype'}; my $getborrower = GetMember(borrowernumber => $num->{'borrowernumber'}); - my $itemtypeinfo = getitemtypeinfo( $gettitle->{'itemtype'} ); # using the fixed up itype/itemtype + my $itemtype = Koha::ItemTypes->find( $gettitle->{'itemtype'} ); # using the fixed up itype/itemtype $getreserv{'waitingdate'} = $num->{'waitingdate'}; my ( $waiting_year, $waiting_month, $waiting_day ) = split (/-/, $num->{'waitingdate'}); @@ -114,7 +115,7 @@ foreach my $num (@getreserves) { $max_pickup_delay); my $calcDate = Date_to_Days( $waiting_year, $waiting_month, $waiting_day ); - $getreserv{'itemtype'} = $itemtypeinfo->{'description'}; + $getreserv{'itemtype'} = $itemtype->description; # FIXME Should not it be translated_description? $getreserv{'title'} = $gettitle->{'title'}; $getreserv{'subtitle'} = GetRecordValue('subtitle', GetMarcBiblio($gettitle->{'biblionumber'}), GetFrameworkCode($gettitle->{'biblionumber'})); $getreserv{'biblionumber'} = $gettitle->{'biblionumber'}; --- a/members/summary-print.pl +++ a/members/summary-print.pl @@ -22,11 +22,11 @@ use CGI; use C4::Auth; use C4::Output; use C4::Members; -use C4::Koha qw( getitemtypeinfo ); use C4::Circulation qw( GetIssuingCharges ); use C4::Reserves; use C4::Items; use Koha::Holds; +use Koha::ItemTypes; my $input = CGI->new; my $borrowernumber = $input->param('borrowernumber'); @@ -94,8 +94,8 @@ sub build_issue_data { my ( $charge, $itemtype ) = GetIssuingCharges( $issue->{itemnumber}, $borrowernumber ); - my $itemtypeinfo = getitemtypeinfo($itemtype); - $row{'itemtype_description'} = $itemtypeinfo->{description}; + my $itemtype = Koha::ItemTypes->find( $itemtype ); + $row{'itemtype_description'} = $itemtype->description; #FIXME Should not it be translated_description $row{'charge'} = sprintf( "%.2f", $charge ); --- a/opac/opac-browser.pl +++ a/opac/opac-browser.pl @@ -32,7 +32,6 @@ use C4::Context; use C4::Output; use CGI qw ( -utf8 ); use C4::Biblio; -use C4::Koha; # use getitemtypeinfo my $query = new CGI; --- a/opac/opac-search.pl +++ a/opac/opac-search.pl @@ -52,6 +52,7 @@ use C4::Tags qw(get_tags); use C4::SocialData; use C4::External::OverDrive; +use Koha::ItemTypes; use Koha::LibraryCategories; use Koha::Ratings; use Koha::Virtualshelves; @@ -225,7 +226,7 @@ my $itemtypes = GetItemTypesCategorized; # add translated_description to itemtypes foreach my $itemtype ( keys %{$itemtypes} ) { # Itemtypes search categories don't have (yet) translated descriptions, they are auth values - my $translated_description = getitemtypeinfo( $itemtype, 'opac' )->{translated_description}; + my $translated_description = Koha::ItemTypes->find( $itemtype )->translated_description; $itemtypes->{$itemtype}->{translated_description} = ( $translated_description ) ? $translated_description : $itemtypes->{$itemtype}->{description}; } --- a/opac/opac-shelves.pl +++ a/opac/opac-shelves.pl @@ -30,6 +30,7 @@ use C4::Tags qw( get_tags ); use C4::XSLT; use Koha::Biblioitems; +use Koha::ItemTypes; use Koha::Virtualshelves; use Koha::RecordProcessor; @@ -280,10 +281,10 @@ if ( $op eq 'view' ) { my $marcflavour = C4::Context->preference("marcflavour"); my $itemtype = Koha::Biblioitems->search({ biblionumber => $content->biblionumber })->next->itemtype; - my $itemtypeinfo = getitemtypeinfo( $itemtype, 'opac' ); - $this_item->{imageurl} = $itemtypeinfo->{imageurl}; - $this_item->{description} = $itemtypeinfo->{description}; - $this_item->{notforloan} = $itemtypeinfo->{notforloan}; + $itemtype = Koha::ItemTypes->find( $itemtype ); + $this_item->{imageurl} = C4::Koha::getitemtypeimagelocation( 'opac', $itemtype->imageurl ); + $this_item->{description} = $itemtype->description; #FIXME Should not it be translated_description? + $this_item->{notforloan} = $itemtype->notforloan; $this_item->{'coins'} = GetCOinSBiblio($record); $this_item->{'subtitle'} = GetRecordValue( 'subtitle', $record, GetFrameworkCode( $biblionumber ) ); $this_item->{'normalized_upc'} = GetNormalizedUPC( $record, $marcflavour ); --- a/opac/opac-tags_subject.pl +++ a/opac/opac-tags_subject.pl @@ -32,7 +32,6 @@ use C4::Context; use C4::Output; use CGI qw ( -utf8 ); use C4::Biblio; -use C4::Koha; # use getitemtypeinfo my $query = new CGI; --- a/svc/checkouts +++ a/svc/checkouts @@ -31,6 +31,7 @@ use C4::Context; use Koha::AuthorisedValues; use Koha::DateUtils; +use Koha::ItemTypes; my $input = new CGI; @@ -148,7 +149,7 @@ while ( my $c = $sth->fetchrow_hashref() ) { my ( $renewals_count, $renewals_allowed, $renewals_remaining ) = GetRenewCount( $c->{borrowernumber}, $c->{itemnumber} ); - my $itemtype = C4::Koha::getitemtypeinfo( $item_level_itypes ? $c->{itype} : $c->{itemtype} ); + my $itemtype = Koha::ItemTypes->find( $item_level_itypes ? $c->{itype} : $c->{itemtype} ); my $location; if ( $c->{location} ) { my $av = Koha::AuthorisedValues->search({ category => 'LOC', authorised_value => $c->{location} }); @@ -170,7 +171,7 @@ while ( my $c = $sth->fetchrow_hashref() ) { author => $c->{author}, barcode => $c->{barcode}, itemtype => $item_level_itypes ? $c->{itype} : $c->{itemtype}, - itemtype_description => $itemtype->{translated_description}, + itemtype_description => $itemtype->translated_description, location => $location, homebranch => $c->{homebranch}, itemnotes => $c->{itemnotes}, --- a/svc/holds +++ a/svc/holds @@ -30,6 +30,7 @@ use C4::Context; use Koha::DateUtils; use Koha::Holds; +use Koha::ItemTypes; use Koha::Libraries; my $input = new CGI; @@ -75,8 +76,8 @@ while ( my $h = $holds_rs->next() ) { my $itemtype_limit; if ( $h->itemtype ) { - my $itemtype = C4::Koha::getitemtypeinfo( $h->itemtype ); - $itemtype_limit = $itemtype->{translated_description}; + my $itemtype = Koha::ItemTypes->find( $h->itemtype ); + $itemtype_limit = $itemtype->translated_description; } my $libraries = Koha::Libraries->search({}, { order_by => ['branchname'] })->unblessed; --- a/virtualshelves/shelves.pl +++ a/virtualshelves/shelves.pl @@ -29,6 +29,7 @@ use C4::XSLT; use Koha::Biblios; use Koha::Biblioitems; +use Koha::ItemTypes; use Koha::CsvProfiles; use Koha::Virtualshelves; @@ -244,14 +245,14 @@ if ( $op eq 'view' ) { my $marcflavour = C4::Context->preference("marcflavour"); my $itemtype = Koha::Biblioitems->search({ biblionumber => $content->biblionumber })->next->itemtype; - my $itemtypeinfo = getitemtypeinfo( $itemtype, 'intranet' ); + $itemtype = Koha::ItemTypes->find( $itemtype ); my $biblio = Koha::Biblios->find( $content->biblionumber ); $this_item->{title} = $biblio->title; $this_item->{author} = $biblio->author; $this_item->{dateadded} = $content->dateadded; - $this_item->{imageurl} = $itemtypeinfo->{imageurl}; - $this_item->{description} = $itemtypeinfo->{description}; - $this_item->{notforloan} = $itemtypeinfo->{notforloan}; + $this_item->{imageurl} = C4::Koha::getitemtypeimagelocation( 'intranet', $itemtype->imageurl ); + $this_item->{description} = $itemtype->description; #FIXME Should not it be translated_description + $this_item->{notforloan} = $itemtype->notforloan; $this_item->{'coins'} = GetCOinSBiblio($record); $this_item->{'subtitle'} = GetRecordValue( 'subtitle', $record, GetFrameworkCode( $biblionumber ) ); $this_item->{'normalized_upc'} = GetNormalizedUPC( $record, $marcflavour ); --