Lines 350-356
if ( defined $csvfilename ) {
Link Here
|
350 |
} else { |
350 |
} else { |
351 |
open $csv_fh, ">", $csvfilename or die "unable to open $csvfilename: $!"; |
351 |
open $csv_fh, ">", $csvfilename or die "unable to open $csvfilename: $!"; |
352 |
} |
352 |
} |
353 |
if ( $csv->combine(qw(name surname address1 address2 zipcode city country email itemcount itemsinfo)) ) { |
353 |
if ( $csv->combine(qw(name surname address1 address2 zipcode city country email phone cardnumber itemcount itemsinfo)) ) { |
354 |
print $csv_fh $csv->string, "\n"; |
354 |
print $csv_fh $csv->string, "\n"; |
355 |
} else { |
355 |
} else { |
356 |
$verbose and warn 'combine failed on argument: ' . $csv->error_input; |
356 |
$verbose and warn 'combine failed on argument: ' . $csv->error_input; |
Lines 364-374
if ( defined $htmlfilename ) {
Link Here
|
364 |
$html_fh = *STDOUT; |
364 |
$html_fh = *STDOUT; |
365 |
} else { |
365 |
} else { |
366 |
my $today = DateTime->now(time_zone => C4::Context->tz ); |
366 |
my $today = DateTime->now(time_zone => C4::Context->tz ); |
367 |
open $html_fh, ">",File::Spec->catdir ($htmlfilename,"notices-".$today->ymd().".html"); |
367 |
open $html_fh, ">:utf8",File::Spec->catdir ($htmlfilename,"notices-".$today->ymd().".html"); |
368 |
} |
368 |
} |
369 |
|
369 |
|
370 |
print $html_fh "<html>\n"; |
370 |
print $html_fh "<html>\n"; |
371 |
print $html_fh "<head>\n"; |
371 |
print $html_fh "<head>\n"; |
|
|
372 |
print $html_fh "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n"; |
372 |
print $html_fh "<style type='text/css'>\n"; |
373 |
print $html_fh "<style type='text/css'>\n"; |
373 |
print $html_fh "pre {page-break-after: always;}\n"; |
374 |
print $html_fh "pre {page-break-after: always;}\n"; |
374 |
print $html_fh "pre {white-space: pre-wrap;}\n"; |
375 |
print $html_fh "pre {white-space: pre-wrap;}\n"; |
Lines 445-451
END_SQL
Link Here
|
445 |
# <date> <itemcount> <firstname> <lastname> <address1> <address2> <address3> <city> <postcode> |
446 |
# <date> <itemcount> <firstname> <lastname> <address1> <address2> <address3> <city> <postcode> |
446 |
|
447 |
|
447 |
my $borrower_sql = <<'END_SQL'; |
448 |
my $borrower_sql = <<'END_SQL'; |
448 |
SELECT distinct(issues.borrowernumber), firstname, surname, address, address2, city, zipcode, country, email |
449 |
SELECT distinct(issues.borrowernumber), firstname, surname, address, address2, city, zipcode, country, email, phone, cardnumber |
449 |
FROM issues,borrowers,categories |
450 |
FROM issues,borrowers,categories |
450 |
WHERE issues.borrowernumber=borrowers.borrowernumber |
451 |
WHERE issues.borrowernumber=borrowers.borrowernumber |
451 |
AND borrowers.categorycode=categories.categorycode |
452 |
AND borrowers.categorycode=categories.categorycode |
Lines 474-481
END_SQL
Link Here
|
474 |
$verbose and warn $borrower_sql . "\n $branchcode | " . $overdue_rules->{'categorycode'} . "\n ($mindays, $maxdays)\nreturns " . $sth->rows . " rows"; |
475 |
$verbose and warn $borrower_sql . "\n $branchcode | " . $overdue_rules->{'categorycode'} . "\n ($mindays, $maxdays)\nreturns " . $sth->rows . " rows"; |
475 |
|
476 |
|
476 |
while ( my ( $borrowernumber, $firstname, $lastname, |
477 |
while ( my ( $borrowernumber, $firstname, $lastname, |
477 |
$address1, $address2, $city, $postcode, $country, $email |
478 |
$address1, $address2, $city, $postcode, $country, $email, |
478 |
) = $sth->fetchrow ) |
479 |
$phone, $cardnumber) = $sth->fetchrow ) |
479 |
{ |
480 |
{ |
480 |
$verbose and warn "borrower $firstname, $lastname ($borrowernumber) has items triggering level $i."; |
481 |
$verbose and warn "borrower $firstname, $lastname ($borrowernumber) has items triggering level $i."; |
481 |
|
482 |
|
Lines 553-558
END_SQL
Link Here
|
553 |
postcode => $postcode, |
554 |
postcode => $postcode, |
554 |
email => $email, |
555 |
email => $email, |
555 |
itemcount => $itemcount, |
556 |
itemcount => $itemcount, |
|
|
557 |
phone => $phone, |
558 |
cardnumber => $cardnumber, |
556 |
titles => $titles, |
559 |
titles => $titles, |
557 |
outputformat => defined $csvfilename ? 'csv' : defined $htmlfilename ? 'html' : '', |
560 |
outputformat => defined $csvfilename ? 'csv' : defined $htmlfilename ? 'html' : '', |
558 |
} |
561 |
} |
Lines 744-750
sub prepare_letter_for_printing {
Link Here
|
744 |
if ( exists $params->{'outputformat'} && $params->{'outputformat'} eq 'csv' ) { |
747 |
if ( exists $params->{'outputformat'} && $params->{'outputformat'} eq 'csv' ) { |
745 |
if ($csv->combine( |
748 |
if ($csv->combine( |
746 |
$params->{'firstname'}, $params->{'lastname'}, $params->{'address1'}, $params->{'address2'}, $params->{'postcode'}, |
749 |
$params->{'firstname'}, $params->{'lastname'}, $params->{'address1'}, $params->{'address2'}, $params->{'postcode'}, |
747 |
$params->{'city'}, $params->{'email'}, $params->{'itemcount'}, $params->{'titles'} |
750 |
$params->{'city'}, $params->{'email'}, $params->{'phone'}, $params->{'cardnumber'}, $params->{'itemcount'}, $params->{'titles'} |
748 |
) |
751 |
) |
749 |
) { |
752 |
) { |
750 |
return $csv->string, "\n"; |
753 |
return $csv->string, "\n"; |
751 |
- |
|
|