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

(-)a/Koha/BackgroundJob/BatchDeleteItem.pm (-28 / +26 lines)
Lines 90-97 sub process { Link Here
90
    };
90
    };
91
    my @messages;
91
    my @messages;
92
    my $schema = Koha::Database->new->schema;
92
    my $schema = Koha::Database->new->schema;
93
    my ( @deleted_itemnumbers, @not_deleted_itemnumbers,
93
    my (
94
        @deleted_biblionumbers );
94
        @deleted_itemnumbers,   @not_deleted_itemnumbers,
95
        @deleted_biblionumbers, @updated_biblionumbers
96
    );
95
97
96
    try {
98
    try {
97
        my $schema = Koha::Database->new->schema;
99
        my $schema = Koha::Database->new->schema;
Lines 131-137 sub process { Link Here
131
                }
133
                }
132
134
133
                # If there are no items left, delete the biblio
135
                # If there are no items left, delete the biblio
134
                my @updated_biblionumbers;
135
                for my $biblionumber ( uniq @biblionumbers ) {
136
                for my $biblionumber ( uniq @biblionumbers ) {
136
                    my $items_count =
137
                    my $items_count =
137
                      Koha::Biblios->find($biblionumber)->items->count;
138
                      Koha::Biblios->find($biblionumber)->items->count;
Lines 145-180 sub process { Link Here
145
                        push @updated_biblionumbers, $biblionumber;
146
                        push @updated_biblionumbers, $biblionumber;
146
                    }
147
                    }
147
                }
148
                }
149
            }
150
        );
148
151
149
                if (@deleted_biblionumbers) {
152
        if (@deleted_biblionumbers) {
150
                    my $indexer = Koha::SearchEngine::Indexer->new(
153
            my $indexer = Koha::SearchEngine::Indexer->new( { index => $Koha::SearchEngine::BIBLIOS_INDEX } );
151
                        { index => $Koha::SearchEngine::BIBLIOS_INDEX } );
152
154
153
                    $indexer->index_records( \@deleted_biblionumbers,
155
            $indexer->index_records(
154
                        'recordDelete', "biblioserver", undef );
156
                \@deleted_biblionumbers,
157
                'recordDelete', "biblioserver", undef
158
            );
155
159
156
                    Koha::BackgroundJob::BatchUpdateBiblioHoldsQueue->new->enqueue(
160
            Koha::BackgroundJob::BatchUpdateBiblioHoldsQueue->new->enqueue(
157
                        {
161
                { biblio_ids => \@deleted_biblionumbers } )
158
                            biblio_ids => \@deleted_biblionumbers
162
                if C4::Context->preference('RealTimeHoldsQueue');
159
                        }
163
        }
160
                    ) if C4::Context->preference('RealTimeHoldsQueue');
161
                }
162
164
163
                if (@updated_biblionumbers) {
165
        if (@updated_biblionumbers) {
164
                    my $indexer = Koha::SearchEngine::Indexer->new(
166
            my $indexer = Koha::SearchEngine::Indexer->new( { index => $Koha::SearchEngine::BIBLIOS_INDEX } );
165
                        { index => $Koha::SearchEngine::BIBLIOS_INDEX } );
166
167
167
                    $indexer->index_records( \@updated_biblionumbers,
168
            $indexer->index_records(
168
                        'specialUpdate', "biblioserver", undef );
169
                \@updated_biblionumbers,
170
                'specialUpdate', "biblioserver", undef
171
            );
169
172
170
                    Koha::BackgroundJob::BatchUpdateBiblioHoldsQueue->new->enqueue(
173
            Koha::BackgroundJob::BatchUpdateBiblioHoldsQueue->new->enqueue(
171
                        {
174
                { biblio_ids => \@updated_biblionumbers } )
172
                            biblio_ids => \@updated_biblionumbers
175
                if C4::Context->preference('RealTimeHoldsQueue');
173
                        }
176
        }
174
                    ) if C4::Context->preference('RealTimeHoldsQueue');
175
                }
176
            }
177
        );
178
    }
177
    }
179
    catch {
178
    catch {
180
179
181
- 

Return to bug 35815