|
Lines 153-162
if ( $op eq 'form' ) {
Link Here
|
| 153 |
# We want to modify selected records! |
153 |
# We want to modify selected records! |
| 154 |
my @record_ids = $input->param('record_id'); |
154 |
my @record_ids = $input->param('record_id'); |
| 155 |
|
155 |
|
|
|
156 |
my $job_size; |
| 156 |
my ( $job ); |
157 |
my ( $job ); |
| 157 |
if ( $runinbackground ) { |
158 |
if ( $runinbackground ) { |
| 158 |
my $job_size = scalar( @record_ids ); |
159 |
$job_size = scalar( @record_ids ); |
| 159 |
$job = C4::BackgroundJob->new( $sessionID, "FIXME", '/cgi-bin/koha/tools/batch_record_modification.pl', $job_size ); |
160 |
$job = C4::BackgroundJob->new( $sessionID, "FIXME", $ENV{SCRIPT_NAME}, $job_size ); |
| 160 |
my $job_id = $job->id; |
161 |
my $job_id = $job->id; |
| 161 |
if (my $pid = fork) { |
162 |
if (my $pid = fork) { |
| 162 |
$dbh->{InactiveDestroy} = 1; |
163 |
$dbh->{InactiveDestroy} = 1; |
|
Lines 178-186
if ( $op eq 'form' ) {
Link Here
|
| 178 |
total_records => 0, |
179 |
total_records => 0, |
| 179 |
total_success => 0, |
180 |
total_success => 0, |
| 180 |
}; |
181 |
}; |
|
|
182 |
my $has_errors; |
| 181 |
my $progress = 0; |
183 |
my $progress = 0; |
| 182 |
$dbh->{RaiseError} = 1; |
184 |
$dbh->{RaiseError} = 1; |
| 183 |
RECORD_IDS: for my $record_id ( sort { $a <=> $b } @record_ids ) { |
185 |
RECORD_IDS: for my $record_id ( sort { $a <=> $b } @record_ids ) { |
|
|
186 |
$progress++; |
| 187 |
$has_errors = 0; |
| 184 |
$report->{total_records}++; |
188 |
$report->{total_records}++; |
| 185 |
next unless $record_id; |
189 |
next unless $record_id; |
| 186 |
|
190 |
|
|
Lines 201-212
if ( $op eq 'form' ) {
Link Here
|
| 201 |
biblionumber => $biblionumber, |
205 |
biblionumber => $biblionumber, |
| 202 |
error => ($@ ? $@ : $error), |
206 |
error => ($@ ? $@ : $error), |
| 203 |
}; |
207 |
}; |
|
|
208 |
$has_errors++; |
| 204 |
} else { |
209 |
} else { |
| 205 |
push @messages, { |
|
|
| 206 |
type => 'success', |
| 207 |
code => 'biblio_modified', |
| 208 |
biblionumber => $biblionumber, |
| 209 |
}; |
| 210 |
$report->{total_success}++; |
210 |
$report->{total_success}++; |
| 211 |
} |
211 |
} |
| 212 |
} else { |
212 |
} else { |
|
Lines 225-246
if ( $op eq 'form' ) {
Link Here
|
| 225 |
authid => $authid, |
225 |
authid => $authid, |
| 226 |
error => ($@ ? $@ : 0), |
226 |
error => ($@ ? $@ : 0), |
| 227 |
}; |
227 |
}; |
|
|
228 |
$has_errors++; |
| 228 |
} else { |
229 |
} else { |
| 229 |
push @messages, { |
|
|
| 230 |
type => 'success', |
| 231 |
code => 'authority_modified', |
| 232 |
authid => $authid, |
| 233 |
}; |
| 234 |
$report->{total_success}++; |
230 |
$report->{total_success}++; |
| 235 |
} |
231 |
} |
| 236 |
} |
232 |
} |
| 237 |
|
233 |
|
| 238 |
$job->set({ |
234 |
if ($has_errors){ |
| 239 |
view => 'report', |
235 |
$job->set({ |
| 240 |
report => $report, |
236 |
view => 'report', |
| 241 |
messages => \@messages, |
237 |
report => $report, |
| 242 |
}); |
238 |
messages => \@messages, |
| 243 |
$job->progress( ++$progress ) if $runinbackground; |
239 |
}); |
|
|
240 |
} |
| 241 |
|
| 242 |
$job->progress( ++$progress ) if $runinbackground && (!($progress%10) || ($progress==$job_size)); |
| 243 |
|
| 244 |
} |
244 |
} |
| 245 |
|
245 |
|
| 246 |
if ($runinbackground) { |
246 |
if ($runinbackground) { |
| 247 |
- |
|
|