[Koha-patches] [PATCH] Bug 2660: Prevent duplication of overdue notices.
Ryan Higgins
ryan.higgins at liblime.com
Fri Oct 10 18:57:11 CEST 2008
Withdrawing this patch, and replacing with one that actually does what the
commit message advertises properly :)
On Wed, Oct 8, 2008 at 12:49 PM, Ryan Higgins <rch at liblime.com> wrote:
> This limits generation of notices to days that an overdue item actually
> hits the overdue trigger.
> ---
> misc/cronjobs/overdue_notices.pl | 11 ++++++++---
> 1 files changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/misc/cronjobs/overdue_notices.pl
> b/misc/cronjobs/overdue_notices.pl
> index 225a41f..97f6ae6 100755
> --- a/misc/cronjobs/overdue_notices.pl
> +++ b/misc/cronjobs/overdue_notices.pl
> @@ -285,7 +285,7 @@ foreach my $branchcode (@branches) {
> $verbose and warn sprintf "branchcode : '%s' using %s\n", $branchcode,
> $admin_email_address;
>
> my $sth2 = $dbh->prepare( <<'END_SQL' );
> -SELECT biblio.*, items.*, issues.*
> +SELECT biblio.*, items.*, issues.*, TO_DAYS(NOW())-TO_DAYS(date_due) AS
> days_overdue
> FROM issues,items,biblio
> WHERE items.itemnumber=issues.itemnumber
> AND biblio.biblionumber = items.biblionumber
> @@ -340,11 +340,12 @@ END_SQL
> push @borrower_parameters, $mindays, $maxdays;
> my $sth = $dbh->prepare($borrower_sql);
> $sth->execute(@borrower_parameters);
> - $verbose and warn $borrower_sql . "\n\n ($mindays,
> $maxdays)\nreturns " . $sth->rows . " rows";
> + $verbose and warn $borrower_sql . "\n $branchcode | " .
> $overdue_rules->{'categorycode'} . "\n ($mindays, $maxdays)\nreturns " .
> $sth->rows . " rows";
>
> while ( my ( $itemcount, $borrowernumber, $firstname,
> $lastname, $address1, $address2, $city, $postcode, $email ) = $sth->fetchrow
> ) {
> warn "borrower $firstname, $lastname ($borrowernumber) has
> $itemcount items overdue." if $verbose;
>
> + my $notify = 0;
> my $letter = C4::Letters::getletter( 'circulation',
> $overdue_rules->{"letter$i"} );
> unless ($letter) {
> $verbose and warn "Message '$overdue_rules->{letter$i}'
> content not found";
> @@ -365,6 +366,8 @@ END_SQL
> while ( my $item_info = $sth2->fetchrow_hashref() ) {
> my @item_info = map { $_ =~ /date$/ ? format_date(
> $item_info->{$_} ) : $item_info->{$_} || '' } @item_content_fields;
> $titles .= join("\t", @item_info) . "\n";
> + # only send the notice if at least one of the items
> hits the delay trigger.
> + $notify++ if( ($maxdays != $MAX) &&
> ($item_info->{'days_overdue'} == $mindays) );
> }
> $sth2->finish;
>
> @@ -386,7 +389,8 @@ END_SQL
> $letter->{'content'} =~ s/\<[^<>]*?\>//g; # Now that
> we've warned about them, remove them.
> $letter->{'content'} =~ s/\<[^<>]*?\>//g; # 2nd pass for
> the double nesting.
>
> - if ($nomail) {
> + if($notify) {
> + if ($nomail) {
>
> push @output_chunks,
> prepare_letter_for_printing(
> @@ -433,6 +437,7 @@ END_SQL
> }
> );
> }
> + }
> }
>
> }
> --
> 1.5.5.GIT
>
>
--
Ryan Higgins
LibLime * Open-Source Solutions for Libraries
Featuring KohaZOOM ILS
888-564-2457 x704
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/koha-patches/attachments/20081010/922f4c79/attachment-0001.htm>
More information about the Koha-patches
mailing list