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