View | Details | Raw Unified | Return to bug 30460
Collapse All | Expand All

(-)a/Koha/BackgroundJob/BatchDeleteBiblio.pm (-4 / +15 lines)
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
- 

Return to bug 30460