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

(-)a/misc/cronjobs/automatic_renewals.pl (-19 / +43 lines)
Lines 215-220 sub _ProcessRenewals { Link Here
215
            $wants_digest   = 0;
215
            $wants_digest   = 0;
216
        }
216
        }
217
217
218
        # capture the last error before we start
219
        my $previous_error = $auto_renew->auto_renew_error;
220
218
        my ( $success, $error, $updated );
221
        my ( $success, $error, $updated );
219
        eval { ( $success, $error, $updated ) = $auto_renew->attempt_auto_renew( { confirm => $confirm } ); };
222
        eval { ( $success, $error, $updated ) = $auto_renew->attempt_auto_renew( { confirm => $confirm } ); };
220
        if ($@) {
223
        if ($@) {
Lines 255-286 sub _ProcessRenewals { Link Here
255
                    $confirm ? 'will' : 'would', $error;
258
                    $confirm ? 'will' : 'would', $error;
256
            }
259
            }
257
            if ($updated) {
260
            if ($updated) {
261
                my $skip_notice =
262
                       defined($previous_error)
263
                    && $previous_error ne ''
264
                    && $previous_error ne 'auto_too_soon';
265
258
                push @{ $report{ $auto_renew->borrowernumber } }, $auto_renew
266
                push @{ $report{ $auto_renew->borrowernumber } }, $auto_renew
259
                    if $error ne 'auto_too_soon'
267
                    if $error ne 'auto_too_soon'
268
                    && !$skip_notice
260
                    && ( $wants_messages && !$wants_digest );    # Do not notify if it's too soon
269
                    && ( $wants_messages && !$wants_digest );    # Do not notify if it's too soon
261
            }
270
            }
271
262
        }
272
        }
263
273
264
        if ($wants_digest) {
274
        if ($wants_digest) {
265
275
266
            # cache this one to process after we've run through all of the items.
276
            #if there is already an error that is not auto_too_soon dont tell the patron again
267
            if ($digest_per_branch) {
277
            my $skip_notice =
268
                $renew_digest->{ $auto_renew->branchcode }->{ $auto_renew->borrowernumber }->{success}++ if $success;
278
                   defined($previous_error)
269
                $renew_digest->{ $auto_renew->branchcode }->{ $auto_renew->borrowernumber }->{error}++
279
                && $previous_error ne ''
270
                    unless $success || $error eq 'auto_too_soon';
280
                && $previous_error ne 'auto_too_soon'
271
                $renew_digest->{ $auto_renew->branchcode }->{ $auto_renew->borrowernumber }->{results}
281
                && !$success;
272
                    ->{ defined $error ? $error : 'auto-renew' }++;
282
273
                push @{ $renew_digest->{ $auto_renew->branchcode }->{ $auto_renew->borrowernumber }->{issues} },
283
            unless ($skip_notice) {
274
                    $auto_renew->itemnumber;
284
275
                $renew_digest->{ $auto_renew->branchcode }->{ $auto_renew->borrowernumber }->{updated} = 1
285
                # cache this one to process after we've run through all of the items.
276
                    if $updated && ( !$error || $error ne 'auto_too_soon' );
286
                if ($digest_per_branch) {
277
            } else {
287
                    $renew_digest->{ $auto_renew->branchcode }->{ $auto_renew->borrowernumber }->{success}++
278
                $renew_digest->{ $auto_renew->borrowernumber }->{success}++ if $success;
288
                        if $success;
279
                $renew_digest->{ $auto_renew->borrowernumber }->{error}++ unless $success || $error eq 'auto_too_soon';
289
                    $renew_digest->{ $auto_renew->branchcode }->{ $auto_renew->borrowernumber }->{error}++
280
                $renew_digest->{ $auto_renew->borrowernumber }->{results}->{ defined $error ? $error : 'auto-renew' }++;
290
                        unless $success || $error eq 'auto_too_soon';
281
                $renew_digest->{ $auto_renew->borrowernumber }->{updated} = 1
291
                    $renew_digest->{ $auto_renew->branchcode }->{ $auto_renew->borrowernumber }->{results}
282
                    if $updated && ( !$error || $error ne 'auto_too_soon' );
292
                        ->{ defined $error ? $error : 'auto-renew' }++;
283
                push @{ $renew_digest->{ $auto_renew->borrowernumber }->{issues} }, $auto_renew->itemnumber;
293
294
                    push @{ $renew_digest->{ $auto_renew->branchcode }->{ $auto_renew->borrowernumber }->{issues} },
295
296
                        $auto_renew->itemnumber;
297
                    $renew_digest->{ $auto_renew->branchcode }->{ $auto_renew->borrowernumber }->{updated} = 1
298
                        if $updated && ( !$error || $error ne 'auto_too_soon' );
299
                } else {
300
                    $renew_digest->{ $auto_renew->borrowernumber }->{success}++ if $success;
301
                    $renew_digest->{ $auto_renew->borrowernumber }->{error}++
302
                        unless $success || $error eq 'auto_too_soon';
303
                    $renew_digest->{ $auto_renew->borrowernumber }->{results}
304
                        ->{ defined $error ? $error : 'auto-renew' }++;
305
                    $renew_digest->{ $auto_renew->borrowernumber }->{updated} = 1
306
                        if $updated && ( !$error || $error ne 'auto_too_soon' );
307
                    push @{ $renew_digest->{ $auto_renew->borrowernumber }->{issues} }, $auto_renew->itemnumber;
308
                }
284
            }
309
            }
285
        }
310
        }
286
311
287
- 

Return to bug 41437