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