Lines 1217-1243
sub move_to_biblio {
Link Here
|
1217 |
|
1217 |
|
1218 |
return unless $self->biblionumber != $to_biblio->biblionumber; |
1218 |
return unless $self->biblionumber != $to_biblio->biblionumber; |
1219 |
|
1219 |
|
1220 |
my $biblionumber = $to_biblio->biblionumber; |
1220 |
my $from_biblionumber = $self->biblionumber; |
|
|
1221 |
my $to_biblionumber = $to_biblio->biblionumber; |
1221 |
|
1222 |
|
1222 |
# Own biblionumber and biblioitemnumber |
1223 |
# Own biblionumber and biblioitemnumber |
1223 |
$self->set({ |
1224 |
$self->set({ |
1224 |
biblionumber => $biblionumber, |
1225 |
biblionumber => $to_biblionumber, |
1225 |
biblioitemnumber => $to_biblio->biblioitem->biblioitemnumber |
1226 |
biblioitemnumber => $to_biblio->biblioitem->biblioitemnumber |
1226 |
})->store({ skip_record_index => $params->{skip_record_index} }); |
1227 |
})->store({ skip_record_index => $params->{skip_record_index} }); |
1227 |
|
1228 |
|
|
|
1229 |
unless ($params->{skip_record_index}) { |
1230 |
my $indexer = Koha::SearchEngine::Indexer->new({ index => $Koha::SearchEngine::BIBLIOS_INDEX }); |
1231 |
$indexer->index_records( $from_biblionumber, "specialUpdate", "biblioserver" ); |
1232 |
} |
1233 |
|
1228 |
# Acquisition orders |
1234 |
# Acquisition orders |
1229 |
my $orders = $self->item_orders; |
1235 |
my $orders = $self->item_orders; |
1230 |
if ($orders) { |
1236 |
if ($orders) { |
1231 |
$orders->update({ biblionumber => $biblionumber }, { no_triggers => 1 }); |
1237 |
$orders->update({ biblionumber => $to_biblionumber }, { no_triggers => 1 }); |
1232 |
} |
1238 |
} |
1233 |
|
1239 |
|
1234 |
# Holds |
1240 |
# Holds |
1235 |
$self->holds->update({ biblionumber => $biblionumber }); |
1241 |
$self->holds->update({ biblionumber => $to_biblionumber }); |
1236 |
|
1242 |
|
1237 |
# hold_fill_target (there's no Koha object available) |
1243 |
# hold_fill_target (there's no Koha object available) |
1238 |
my $hold_fill_target = $self->_result->hold_fill_target; |
1244 |
my $hold_fill_target = $self->_result->hold_fill_target; |
1239 |
if ($hold_fill_target) { |
1245 |
if ($hold_fill_target) { |
1240 |
$hold_fill_target->update({ biblionumber => $biblionumber }); |
1246 |
$hold_fill_target->update({ biblionumber => $to_biblionumber }); |
1241 |
} |
1247 |
} |
1242 |
|
1248 |
|
1243 |
# tmp_holdsqueues - Can't update with DBIx since the table is missing a primary key |
1249 |
# tmp_holdsqueues - Can't update with DBIx since the table is missing a primary key |
Lines 1247-1262
sub move_to_biblio {
Link Here
|
1247 |
sub { |
1253 |
sub { |
1248 |
my ($storage, $dbh, @cols) = @_; |
1254 |
my ($storage, $dbh, @cols) = @_; |
1249 |
|
1255 |
|
1250 |
$dbh->do("UPDATE tmp_holdsqueue SET biblionumber=? WHERE itemnumber=?", undef, $biblionumber, $self->itemnumber); |
1256 |
$dbh->do("UPDATE tmp_holdsqueue SET biblionumber=? WHERE itemnumber=?", undef, $to_biblionumber, $self->itemnumber); |
1251 |
} |
1257 |
} |
1252 |
); |
1258 |
); |
1253 |
|
1259 |
|
1254 |
# linktrackers |
1260 |
# linktrackers |
1255 |
my $schema = Koha::Database->new()->schema(); |
1261 |
my $schema = Koha::Database->new()->schema(); |
1256 |
my $linktrackers = $schema->resultset('Linktracker')->search({ itemnumber => $self->itemnumber }); |
1262 |
my $linktrackers = $schema->resultset('Linktracker')->search({ itemnumber => $self->itemnumber }); |
1257 |
$linktrackers->update_all({ biblionumber => $biblionumber }); |
1263 |
$linktrackers->update_all({ biblionumber => $to_biblionumber }); |
1258 |
|
1264 |
|
1259 |
return $biblionumber; |
1265 |
return $to_biblionumber; |
1260 |
} |
1266 |
} |
1261 |
|
1267 |
|
1262 |
=head2 Internal methods |
1268 |
=head2 Internal methods |