|
Lines 94-102
sub process {
Link Here
|
| 94 |
@deleted_biblionumbers ); |
94 |
@deleted_biblionumbers ); |
| 95 |
|
95 |
|
| 96 |
try { |
96 |
try { |
| 97 |
my $schema = Koha::Database->new->schema; |
|
|
| 98 |
$schema->txn_do( |
| 99 |
sub { |
| 100 |
my (@biblionumbers); |
97 |
my (@biblionumbers); |
| 101 |
for my $record_id ( sort { $a <=> $b } @record_ids ) { |
98 |
for my $record_id ( sort { $a <=> $b } @record_ids ) { |
| 102 |
|
99 |
|
|
Lines 107-113
sub process {
Link Here
|
| 107 |
my $return = $item->safe_delete({ skip_record_index => 1, skip_holds_queue => 1 }); |
104 |
my $return = $item->safe_delete({ skip_record_index => 1, skip_holds_queue => 1 }); |
| 108 |
unless ( $return ) { |
105 |
unless ( $return ) { |
| 109 |
|
106 |
|
| 110 |
# FIXME Do we need to rollback the whole transaction if a deletion failed? |
|
|
| 111 |
push @not_deleted_itemnumbers, $item->itemnumber; |
107 |
push @not_deleted_itemnumbers, $item->itemnumber; |
| 112 |
push @messages, |
108 |
push @messages, |
| 113 |
{ |
109 |
{ |
|
Lines 173-180
sub process {
Link Here
|
| 173 |
} |
169 |
} |
| 174 |
) if C4::Context->preference('RealTimeHoldsQueue'); |
170 |
) if C4::Context->preference('RealTimeHoldsQueue'); |
| 175 |
} |
171 |
} |
| 176 |
} |
|
|
| 177 |
); |
| 178 |
} |
172 |
} |
| 179 |
catch { |
173 |
catch { |
| 180 |
|
174 |
|
|
Lines 187-194
sub process {
Link Here
|
| 187 |
error => $_, |
181 |
error => $_, |
| 188 |
}; |
182 |
}; |
| 189 |
|
183 |
|
| 190 |
die "Something terrible has happened!" |
|
|
| 191 |
if ( $_ =~ /Rollback failed/ ); # Rollback failed |
| 192 |
}; |
184 |
}; |
| 193 |
|
185 |
|
| 194 |
$report->{deleted_itemnumbers} = \@deleted_itemnumbers; |
186 |
$report->{deleted_itemnumbers} = \@deleted_itemnumbers; |
| 195 |
- |
|
|