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

(-)a/misc/cronjobs/overdue_notices.pl (-10 / +22 lines)
Lines 143-148 Default items.content lists only those items that fall in the Link Here
143
range of the currently processing notice.
143
range of the currently processing notice.
144
Choose list-all to include all overdue items in the list (limited by B<-max> setting).
144
Choose list-all to include all overdue items in the list (limited by B<-max> setting).
145
145
146
=item B<-date>
147
148
use it in order to send overdues on a specific date and not Now.
149
146
=back
150
=back
147
151
148
=head1 DESCRIPTION
152
=head1 DESCRIPTION
Lines 259-264 my $listall = 0; Link Here
259
my $itemscontent = join( ',', qw( date_due title barcode author itemnumber ) );
263
my $itemscontent = join( ',', qw( date_due title barcode author itemnumber ) );
260
my @myborcat;
264
my @myborcat;
261
my @myborcatout;
265
my @myborcatout;
266
my $date;
262
267
263
GetOptions(
268
GetOptions(
264
    'help|?'         => \$help,
269
    'help|?'         => \$help,
Lines 268-279 GetOptions( Link Here
268
    'max=s'          => \$MAX,
273
    'max=s'          => \$MAX,
269
    'library=s'      => \@branchcodes,
274
    'library=s'      => \@branchcodes,
270
    'csv:s'          => \$csvfilename,    # this optional argument gets '' if not supplied.
275
    'csv:s'          => \$csvfilename,    # this optional argument gets '' if not supplied.
271
    'html:s'          => \$htmlfilename,    # this optional argument gets '' if not supplied.
276
    'html:s'         => \$htmlfilename,    # this optional argument gets '' if not supplied.
272
    'itemscontent=s' => \$itemscontent,
277
    'itemscontent=s' => \$itemscontent,
273
    'list-all'      => \$listall,
278
    'list-all'       => \$listall,
274
    't|triggered'             => \$triggered,
279
    't|triggered'    => \$triggered,
275
    'borcat=s'      => \@myborcat,
280
    'date'           => \$date,
276
    'borcatout=s'   => \@myborcatout,
281
    'borcat=s'       => \@myborcat,
282
    'borcatout=s'    => \@myborcatout,
277
) or pod2usage(2);
283
) or pod2usage(2);
278
pod2usage(1) if $help;
284
pod2usage(1) if $help;
279
pod2usage( -verbose => 2 ) if $man;
285
pod2usage( -verbose => 2 ) if $man;
Lines 320-325 if (@branchcodes) { Link Here
320
    }
326
    }
321
}
327
}
322
328
329
if ($date){
330
    $date=$dbh->quote($date);
331
}
332
else {
333
    $date="NOW()";
334
}
335
323
# these are the fields that will be substituted into <<item.content>>
336
# these are the fields that will be substituted into <<item.content>>
324
my @item_content_fields = split( /,/, $itemscontent );
337
my @item_content_fields = split( /,/, $itemscontent );
325
338
Lines 376-388 foreach my $branchcode (@branches) { Link Here
376
    $verbose and warn sprintf "branchcode : '%s' using %s\n", $branchcode, $admin_email_address;
389
    $verbose and warn sprintf "branchcode : '%s' using %s\n", $branchcode, $admin_email_address;
377
390
378
    my $sth2 = $dbh->prepare( <<'END_SQL' );
391
    my $sth2 = $dbh->prepare( <<'END_SQL' );
379
SELECT biblio.*, items.*, issues.*, biblioitems.itemtype, TO_DAYS(NOW())-TO_DAYS(date_due) AS days_overdue
392
SELECT biblio.*, items.*, issues.*, biblioitems.itemtype, TO_DAYS($date)-TO_DAYS(date_due) AS days_overdue
380
  FROM issues,items,biblio, biblioitems
393
  FROM issues,items,biblio, biblioitems
381
  WHERE items.itemnumber=issues.itemnumber
394
  WHERE items.itemnumber=issues.itemnumber
382
    AND biblio.biblionumber   = items.biblionumber
395
    AND biblio.biblionumber   = items.biblionumber
383
    AND biblio.biblionumber   = biblioitems.biblionumber
396
    AND biblio.biblionumber   = biblioitems.biblionumber
384
    AND issues.borrowernumber = ?
397
    AND issues.borrowernumber = ?
385
    AND TO_DAYS(NOW())-TO_DAYS(date_due) BETWEEN ? and ?
398
    AND TO_DAYS($date)-TO_DAYS(date_due) BETWEEN ? and ?
386
END_SQL
399
END_SQL
387
400
388
    my $query = "SELECT * FROM overduerules WHERE delay1 IS NOT NULL AND branchcode = ? ";
401
    my $query = "SELECT * FROM overduerules WHERE delay1 IS NOT NULL AND branchcode = ? ";
Lines 442-451 END_SQL Link Here
442
            }
455
            }
443
            $borrower_sql .= '  AND categories.overduenoticerequired=1 ';
456
            $borrower_sql .= '  AND categories.overduenoticerequired=1 ';
444
            if($triggered) {
457
            if($triggered) {
445
                $borrower_sql .= ' AND TO_DAYS(NOW())-TO_DAYS(date_due) = ?';
458
                $borrower_sql .= ' AND TO_DAYS($date)-TO_DAYS(date_due) = ?';
446
                push @borrower_parameters, $mindays;
459
                push @borrower_parameters, $mindays;
447
            } else {
460
            } else {
448
                $borrower_sql .= ' AND TO_DAYS(NOW())-TO_DAYS(date_due) BETWEEN ? and ? ' ;
461
                $borrower_sql .= ' AND TO_DAYS($date)-TO_DAYS(date_due) BETWEEN ? and ? ' ;
449
                push @borrower_parameters, $mindays, $maxdays;
462
                push @borrower_parameters, $mindays, $maxdays;
450
            }
463
            }
451
464
452
- 

Return to bug 7447