use C4::Koha;
use C4::Reserves qw/MergeHolds/;
use C4::Acquisition qw/ModOrder GetOrdersByBiblionumber/;
+
+use Koha::BiblioFrameworks;
+use Koha::Items;
use Koha::MetadataRecord;
my $input = new CGI;
}
# Rewriting the leader
- $record->leader(GetMarcBiblio($ref_biblionumber)->leader());
+ $record->leader(GetMarcBiblio({ biblionumber => $ref_biblionumber })->leader());
my $frameworkcode = $input->param('frameworkcode');
my @notmoveditems;
# Moving items from the other record to the reference record
foreach my $biblionumber (@biblionumbers) {
- my $itemnumbers = get_itemnumbers_of($biblionumber);
- foreach my $itemnumber (@{ $itemnumbers->{$biblionumber} }) {
- my $res = MoveItemFromBiblio($itemnumber, $biblionumber, $ref_biblionumber);
- if (not defined $res) {
- push @notmoveditems, $itemnumber;
+ my $items = Koha::Items->search({ biblionumber => $biblionumber });
+ while ( my $item = $items->next) {
+ my $res = MoveItemFromBiblio( $item->itemnumber, $biblionumber, $ref_biblionumber );
+ if ( not defined $res ) {
+ push @notmoveditems, $item->itemnumber;
+ }
}
}
- }
# If some items could not be moved :
if (scalar(@notmoveditems) > 0) {
my $itemlist = join(' ',@notmoveditems);
my $sth_serial = $dbh->prepare("
UPDATE serial SET biblionumber = ? WHERE biblionumber = ?
");
+ my $sth_suggestions = $dbh->prepare("
+ UPDATE suggestions SET biblionumber = ? WHERE biblionumber = ?
+ ");
my $report_header = {};
foreach my $biblionumber ($ref_biblionumber, @biblionumbers) {
# build report
- my $marcrecord = GetMarcBiblio($biblionumber);
+ my $marcrecord = GetMarcBiblio({ biblionumber => $biblionumber });
my %report_record = (
biblionumber => $biblionumber,
fields => {},
}
# Moving serials
- $sth_serial->execute($ref_biblionumber, $biblionumber);
+ $sth_serial->execute($ref_biblionumber, $biblionumber);
+
+ # Moving suggestions
+ $sth_suggestions->execute($ref_biblionumber, $biblionumber);
# Moving orders (orders linked to items of frombiblio have already been moved by MoveItemFromBiblio)
my @allorders = GetOrdersByBiblionumber($biblionumber);
- my @tobiblioitem = GetBiblioItemByBiblioNumber ($ref_biblionumber);
- my $tobiblioitem_biblioitemnumber = $tobiblioitem [0]-> {biblioitemnumber };
foreach my $myorder (@allorders) {
$myorder->{'biblionumber'} = $ref_biblionumber;
ModOrder ($myorder);
# Creating a loop for display
my @records;
foreach my $biblionumber (@biblionumbers) {
- my $marcrecord = GetMarcBiblio($biblionumber);
+ my $marcrecord = GetMarcBiblio({ biblionumber => $biblionumber });
my $frameworkcode = GetFrameworkCode($biblionumber);
my $recordObj = new Koha::MetadataRecord({'record' => $marcrecord, schema => $marcflavour});
my $record = {
records => \@records,
);
- my $frameworks = getframeworks;
- my @frameworkselect;
- foreach my $thisframeworkcode ( keys %$frameworks ) {
- my %row = (
- value => $thisframeworkcode,
- frameworktext => $frameworks->{$thisframeworkcode}->{'frameworktext'},
- );
- push @frameworkselect, \%row;
- }
- $template->param(
- frameworkselect => \@frameworkselect,
- );
+ my $frameworks = Koha::BiblioFrameworks->search({}, { order_by => ['frameworktext'] });
+ $template->param( frameworks => $frameworks );
}
}