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