use Koha::Acquisition::Order;
use Koha::Acquisition::Booksellers;
use Koha::Biblios;
+use Koha::Items;
use Koha::Number::Price;
use Koha::Libraries;
use Koha::CsvProfiles;
my @affects = split q{\|}, C4::Context->preference("AcqItemSetSubfieldsWhenReceiptIsCancelled");
if ( @affects ) {
for my $in ( @itemnumbers ) {
- my $biblionumber = C4::Biblio::GetBiblionumberFromItemnumber( $in );
- my $frameworkcode = GetFrameworkCode($biblionumber);
- my ( $itemfield ) = GetMarcFromKohaField( 'items.itemnumber', $frameworkcode );
- my $item = C4::Items::GetMarcItem( $biblionumber, $in );
+ my $item = Koha::Items->find( $in );
+ my $biblio = $item->biblio;
+ my ( $itemfield ) = GetMarcFromKohaField( 'items.itemnumber', $biblio->frameworkcode );
+ my $item_marc = C4::Items::GetMarcItem( $biblio->biblionumber, $in );
for my $affect ( @affects ) {
my ( $sf, $v ) = split q{=}, $affect, 2;
- foreach ( $item->field($itemfield) ) {
+ foreach ( $item_marc->field($itemfield) ) {
$_->update( $sf => $v );
}
}
- C4::Items::ModItemFromMarc( $item, $biblionumber, $in );
+ C4::Items::ModItemFromMarc( $item_marc, $biblio->biblionumber, $in );
}
}
}
my $biblionumber = $params->{biblionumber};
unless ($biblionumber) {
- $biblionumber = C4::Biblio::GetBiblionumberFromItemnumber($itemnumber);
+ my $item = Koha::Items->find( $itemnumber );
+ $biblionumber = $item->biblio->biblionumber;
}
# If there is no biblionumber for the given itemnumber, there is nothing to delete
use YAML; #marcrecords2csv
use Template;
use Text::CSV::Encoded; #marc2csv
+use Koha::Items;
use Koha::SimpleMARC qw(read_field);
use Koha::XSLT_Handler;
use Koha::CsvProfiles;
my $firstpass = 1;
if ( @$itemnumbers ) {
for my $itemnumber ( @$itemnumbers) {
- my $biblionumber = GetBiblionumberFromItemnumber $itemnumber;
+ my $item = Koha::Items->find( $itemnumber );
+ my $biblionumber = $item->biblio->biblionumber;
$output .= marcrecord2csv( $biblionumber, $id, $firstpass, $csv, $fieldprocessing, [$itemnumber] );
$firstpass = 0;
}
use C4::Biblio;
use C4::Reserves;
+use Koha::Items;
use Koha::Patrons;
use Koha::Holds;
use Koha::DateUtils;
}, 400);
}
+ my $biblio;
if ($itemnumber) {
- my $item_biblionumber = C4::Biblio::GetBiblionumberFromItemnumber($itemnumber);
- if ($biblionumber and $biblionumber != $item_biblionumber) {
+ my $item = Koha::Items->find( $itemnumber );
+ $biblio = $item->biblio;
+ if ($biblionumber and $biblionumber != $biblio->biblionumber) {
return $c->$cb({
error => "Item $itemnumber doesn't belong to biblio $biblionumber"
}, 400);
}
- $biblionumber ||= $item_biblionumber;
+ $biblionumber ||= $biblio->biblionumber;
+ $biblio->unblessed; # FIXME remove later
+ } else {
+ $biblio = C4::Biblio::GetBiblio($biblionumber);
}
- my $biblio = C4::Biblio::GetBiblio($biblionumber);
-
my $can_reserve =
$itemnumber
? CanItemBeReserved( $borrowernumber, $itemnumber )
use C4::Koha;
use C4::ClassSource;
use Koha::DateUtils;
+use Koha::Items;
use Koha::ItemTypes;
use Koha::Libraries;
use List::MoreUtils qw/any/;
if ( C4::Context->preference('EasyAnalyticalRecords') ) {
foreach my $hostitemnumber (@hostitemnumbers){
+ my $item = Koha::Items->find( $hostitemnumber );
if ($this_row{itemnumber} eq $hostitemnumber){
$this_row{hostitemflag} = 1;
- $this_row{hostbiblionumber}= GetBiblionumberFromItemnumber($hostitemnumber);
+ $this_row{hostbiblionumber}= $item->biblio->biblionumber;
last;
}
}
#item may belong to a host biblio, if yes change biblioNum to hosts bilbionumber
if ( $itemNum ne '' ) {
- my $hostbiblioNum = GetBiblionumberFromItemnumber($itemNum);
+ my $item = Koha::Items->find( $itemNum );
+ my $hostbiblioNum = $item->biblio->biblionumber;
if ( $hostbiblioNum ne $biblioNum ) {
$biblioNum = $hostbiblioNum;
}
use Koha::Biblios;
use Koha::DateUtils;
+use Koha::Items;
use Koha::ItemTypes;
my $input = new CGI;
$items_display_hashref=BuildItemsData(@itemnumbers);
} else {
# Else, we only display the barcode
- my @simple_items_display = map {{ itemnumber => $_, barcode => (GetBarcodeFromItemnumber($_) or ""), biblionumber => (GetBiblionumberFromItemnumber($_) or "") }} @itemnumbers;
+ my @simple_items_display = map {
+ my $itemnumber = $_;
+ my $item = Koha::Items->find($itemnumber);
+ { itemnumber => $itemnumber, barcode => ($item->barcode || q||), biblionumber => $item->biblio->biblionumber }} @itemnumbers;
$template->param("simple_items_display" => \@simple_items_display);
}