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

(-)a/C4/Overdues.pm (-1 / +1 lines)
Lines 817-823 sub GetOverdueMessageTransportTypes { Link Here
817
    }
817
    }
818
818
819
    # Put 'print' in first if exists
819
    # Put 'print' in first if exists
820
    # It avoid to sent a print notice with an email or sms template is no email or sms is defined
820
    # It avoids sending a print notice with an email or sms template if no email or sms is defined
821
    @mtts = uniq( 'print', @mtts )
821
    @mtts = uniq( 'print', @mtts )
822
        if grep { $_ eq 'print' } @mtts;
822
        if grep { $_ eq 'print' } @mtts;
823
823
(-)a/misc/cronjobs/overdue_notices.pl (-14 / +13 lines)
Lines 501-507 foreach my $branchcode (@branches) { Link Here
501
    $verbose and print "======================================\n";
501
    $verbose and print "======================================\n";
502
    $verbose and warn sprintf "branchcode : '%s' using %s\n", $branchcode, $branch_email_address;
502
    $verbose and warn sprintf "branchcode : '%s' using %s\n", $branchcode, $branch_email_address;
503
503
504
    my $sql2 = <<"END_SQL";
504
    my $item_sql = <<"END_SQL";
505
SELECT biblio.*, items.*, issues.*, biblioitems.itemtype, branchname
505
SELECT biblio.*, items.*, issues.*, biblioitems.itemtype, branchname
506
  FROM issues,items,biblio, biblioitems, branches b
506
  FROM issues,items,biblio, biblioitems, branches b
507
  WHERE items.itemnumber=issues.itemnumber
507
  WHERE items.itemnumber=issues.itemnumber
Lines 514-524 SELECT biblio.*, items.*, issues.*, biblioitems.itemtype, branchname Link Here
514
END_SQL
514
END_SQL
515
515
516
    if ($owning_library) {
516
    if ($owning_library) {
517
        $sql2 .= ' AND items.homebranch = ? ' unless ($patron_homelibrary);
517
        $item_sql .= ' AND items.homebranch = ? ' unless ($patron_homelibrary);
518
    } else {
518
    } else {
519
        $sql2 .= ' AND issues.branchcode = ? ' unless ($patron_homelibrary);
519
        $item_sql .= ' AND issues.branchcode = ? ' unless ($patron_homelibrary);
520
    }
520
    }
521
    my $sth2 = $dbh->prepare($sql2);
521
    my $item_statement = $dbh->prepare($item_sql);
522
522
523
    my $query = "SELECT * FROM overduerules WHERE delay1 IS NOT NULL AND branchcode = ? ";
523
    my $query = "SELECT * FROM overduerules WHERE delay1 IS NOT NULL AND branchcode = ? ";
524
    $query .= " AND categorycode IN (" . join( ',', ('?') x @myborcat ) . ") "        if (@myborcat);
524
    $query .= " AND categorycode IN (" . join( ',', ('?') x @myborcat ) . ") "        if (@myborcat);
Lines 589-597 END_SQL Link Here
589
            }
589
            }
590
            $borrower_sql .= '  AND categories.overduenoticerequired=1 ORDER BY issues.borrowernumber';
590
            $borrower_sql .= '  AND categories.overduenoticerequired=1 ORDER BY issues.borrowernumber';
591
591
592
            # $sth gets borrower info iff at least one overdue item has triggered the overdue action.
592
            # $borrower_statement gets borrower info if at least one overdue item has triggered the overdue action.
593
            my $sth = $dbh->prepare($borrower_sql);
593
            my $borrower_statement = $dbh->prepare($borrower_sql);
594
            $sth->execute(@borrower_parameters);
594
            $borrower_statement->execute(@borrower_parameters);
595
595
596
            if ( $verbose > 1 ) {
596
            if ( $verbose > 1 ) {
597
                warn sprintf "--------Borrower SQL------\n";
597
                warn sprintf "--------Borrower SQL------\n";
Lines 602-610 END_SQL Link Here
602
                    . $date_to_run->datetime() . ")\n";
602
                    . $date_to_run->datetime() . ")\n";
603
                warn sprintf "--------------------------\n";
603
                warn sprintf "--------------------------\n";
604
            }
604
            }
605
            $verbose and warn sprintf "Found %s borrowers with overdues\n", $sth->rows;
605
            $verbose and warn sprintf "Found %s borrowers with overdues\n", $borrower_statement->rows;
606
            my $borrowernumber;
606
            my $borrowernumber;
607
            while ( my $data = $sth->fetchrow_hashref ) {
607
            while ( my $data = $borrower_statement->fetchrow_hashref ) {
608
608
609
                # check the borrower has at least one item that matches
609
                # check the borrower has at least one item that matches
610
                my $days_between;
610
                my $days_between;
Lines 697-710 END_SQL Link Here
697
                }
697
                }
698
                my @params = $patron_homelibrary ? ($borrowernumber) : ( $borrowernumber, $branchcode );
698
                my @params = $patron_homelibrary ? ($borrowernumber) : ( $borrowernumber, $branchcode );
699
699
700
                $sth2->execute(@params);
700
                $item_statement->execute(@params);
701
                my $itemcount = 0;
701
                my $itemcount = 0;
702
                my $titles    = "";
702
                my $titles    = "";
703
                my @items     = ();
703
                my @items     = ();
704
704
705
                my $j                            = 0;
705
                my $j                            = 0;
706
                my $exceededPrintNoticesMaxLines = 0;
706
                my $exceededPrintNoticesMaxLines = 0;
707
                while ( my $item_info = $sth2->fetchrow_hashref() ) {
707
                while ( my $item_info = $item_statement->fetchrow_hashref() ) {
708
                    if ( C4::Context->preference('OverdueNoticeCalendar') ) {
708
                    if ( C4::Context->preference('OverdueNoticeCalendar') ) {
709
                        $days_between =
709
                        $days_between =
710
                            $calendar->days_between( dt_from_string( $item_info->{date_due} ), $date_to_run );
710
                            $calendar->days_between( dt_from_string( $item_info->{date_due} ), $date_to_run );
Lines 745-751 END_SQL Link Here
745
                    $itemcount++;
745
                    $itemcount++;
746
                    push @items, $item_info;
746
                    push @items, $item_info;
747
                }
747
                }
748
                $sth2->finish;
748
                $item_statement->finish;
749
749
750
                my @message_transport_types =
750
                my @message_transport_types =
751
                    @{ GetOverdueMessageTransportTypes( $notice_branchcode, $overdue_rules->{categorycode}, $i ) };
751
                    @{ GetOverdueMessageTransportTypes( $notice_branchcode, $overdue_rules->{categorycode}, $i ) };
Lines 887-893 END_SQL Link Here
887
                }
887
                }
888
                $already_queued{"$borrowernumber$i"} = 1;
888
                $already_queued{"$borrowernumber$i"} = 1;
889
            }
889
            }
890
            $sth->finish;
890
            $borrower_statement->finish;
891
        }
891
        }
892
    }
892
    }
893
893
894
- 

Return to bug 41315