Lines 3-11
package Koha::BackgroundJob::BatchDeleteBiblio;
Link Here
|
3 |
use Modern::Perl; |
3 |
use Modern::Perl; |
4 |
use JSON qw( encode_json decode_json ); |
4 |
use JSON qw( encode_json decode_json ); |
5 |
|
5 |
|
6 |
use Koha::DateUtils qw( dt_from_string ); |
|
|
7 |
use C4::Biblio; |
6 |
use C4::Biblio; |
8 |
|
7 |
|
|
|
8 |
use Koha::DateUtils qw( dt_from_string ); |
9 |
use Koha::SearchEngine; |
10 |
use Koha::SearchEngine::Indexer; |
11 |
|
9 |
use base 'Koha::BackgroundJob'; |
12 |
use base 'Koha::BackgroundJob'; |
10 |
|
13 |
|
11 |
=head1 NAME |
14 |
=head1 NAME |
Lines 107-113
sub process {
Link Here
|
107 |
# Delete items |
110 |
# Delete items |
108 |
my $items = Koha::Items->search({ biblionumber => $biblionumber }); |
111 |
my $items = Koha::Items->search({ biblionumber => $biblionumber }); |
109 |
while ( my $item = $items->next ) { |
112 |
while ( my $item = $items->next ) { |
110 |
my $deleted = $item->safe_delete; |
113 |
my $deleted = $item->safe_delete({ skip_record_index => 1 }); |
111 |
unless ( $deleted ) { |
114 |
unless ( $deleted ) { |
112 |
push @messages, { |
115 |
push @messages, { |
113 |
type => 'error', |
116 |
type => 'error', |
Lines 124-130
sub process {
Link Here
|
124 |
|
127 |
|
125 |
# Finally, delete the biblio |
128 |
# Finally, delete the biblio |
126 |
my $error = eval { |
129 |
my $error = eval { |
127 |
C4::Biblio::DelBiblio( $biblionumber ); |
130 |
C4::Biblio::DelBiblio( $biblionumber, { skip_record_index => 1 } ); |
128 |
}; |
131 |
}; |
129 |
if ( $error or $@ ) { |
132 |
if ( $error or $@ ) { |
130 |
push @messages, { |
133 |
push @messages, { |
Lines 148-153
sub process {
Link Here
|
148 |
$self->progress( ++$job_progress )->store; |
151 |
$self->progress( ++$job_progress )->store; |
149 |
} |
152 |
} |
150 |
|
153 |
|
|
|
154 |
my @deleted_biblionumbers = |
155 |
map { $_->{code} eq 'biblio_deleted' ? $_->{biblionumber} : () } |
156 |
@messages; |
157 |
|
158 |
if ( @deleted_biblionumbers ) { |
159 |
my $indexer = Koha::SearchEngine::Indexer->new({ index => $Koha::SearchEngine::BIBLIOS_INDEX }); |
160 |
$indexer->index_records( \@deleted_biblionumbers, "recordDelete", "biblioserver" ); |
161 |
} |
162 |
|
151 |
my $job_data = decode_json $self->data; |
163 |
my $job_data = decode_json $self->data; |
152 |
$job_data->{messages} = \@messages; |
164 |
$job_data->{messages} = \@messages; |
153 |
$job_data->{report} = $report; |
165 |
$job_data->{report} = $report; |
154 |
- |
|
|