|
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 |
- |
|
|