@@ -, +, @@
---
koha-tmpl/intranet-tmpl/prog/en/columns.def | 6 +++
misc/cronjobs/overdue_notices.pl | 49 +++++++++++++++++++-------
2 files changed, 42 insertions(+), 13 deletions(-)
--- a/koha-tmpl/intranet-tmpl/prog/en/columns.def
+++ a/koha-tmpl/intranet-tmpl/prog/en/columns.def
@@ -66,6 +66,11 @@ borrowers.privacy Privacy settings
items.itemnumber Item number (internal)
items.biblionumber Biblio number (internal)
items.biblioitemnumber Biblioitem number (internal)
+issues.date_due Due date
+items.itemnumber Item Number (koha internal)
+items.biblionumber Biblio Number (koha internal)
+items.multivolumepart Item one part of a Multi volume set
+items.biblioitemnumber Biblioitem Number (koha internal)
items.barcode Barcode
items.dateaccessioned Date acquired
items.booksellerid Source of acquisition
@@ -112,6 +117,7 @@ statistics.itemnumber Item number
statistics.itemtype Itemtype
statistics.borrowernumber Borrower number
biblio.frameworkcode Framework code
+biblio.title Title
biblio.author Author
biblio.datecreated Creation date
biblio.timestamp Modification date
--- a/misc/cronjobs/overdue_notices.pl
+++ a/misc/cronjobs/overdue_notices.pl
@@ -38,8 +38,10 @@ use Encode;
use C4::Context;
use C4::Dates qw/format_date/;
use C4::Debug;
+use C4::Charset;
use C4::Letters;
use C4::Overdues qw(GetFine);
+use C4::Reports::Guided;
=head1 NAME
@@ -256,7 +258,7 @@ my $verbose = 0;
my $nomail = 0;
my $MAX = 90;
my @branchcodes; # Branch(es) passed as parameter
-my $csvfilename;
+my $csvfilename = '';
my $htmlfilename;
my $triggered = 0;
my $listall = 0;
@@ -284,7 +286,21 @@ GetOptions(
pod2usage(1) if $help;
pod2usage( -verbose => 2 ) if $man;
-if ( defined $csvfilename && $csvfilename =~ /^-/ ) {
+my $columns_def_hashref = C4::Reports::Guided::_get_column_defs();
+
+# get column header definitions
+foreach my $key ( keys %$columns_def_hashref ) {
+ my $initkey = $key;
+ $key =~ s/[^\.]*\.//;
+ #warn "KEY : $initkey = ".$columns_def_hashref->{$initkey};
+ if ($columns_def_hashref->{$initkey}) {
+ $columns_def_hashref->{$initkey}=NormalizeString($columns_def_hashref->{$initkey});
+ $columns_def_hashref->{$initkey}=~s# #
#;
+ }
+ $columns_def_hashref->{$key} = $columns_def_hashref->{$initkey};
+}
+
+if ( $csvfilename =~ /^-/ ) {
warn qq(using "$csvfilename" as filename, that seems odd);
}
@@ -341,7 +357,7 @@ binmode( STDOUT, ':encoding(UTF-8)' );
our $csv; # the Text::CSV_XS object
our $csv_fh; # the filehandle to the CSV file.
-if ( defined $csvfilename ) {
+if ( $csvfilename ) {
my $sep_char = C4::Context->preference('delimiter') || ',';
$sep_char = "\t" if ($sep_char eq 'tabulation');
$csv = Text::CSV_XS->new( { binary => 1 , sep_char => $sep_char } );
@@ -350,7 +366,7 @@ if ( defined $csvfilename ) {
} else {
open $csv_fh, ">", $csvfilename or die "unable to open $csvfilename: $!";
}
- if ( $csv->combine(qw(name surname address1 address2 zipcode city country email itemcount itemsinfo)) ) {
+ if ( $csvfilename && $csv->combine(qw(name surname address1 address2 zipcode city country email itemcount itemsinfo)) ) {
print $csv_fh $csv->string, "\n";
} else {
$verbose and warn 'combine failed on argument: ' . $csv->error_input;
@@ -486,8 +502,8 @@ END_SQL
$verbose and warn "debarring $borrowernumber $firstname $lastname\n";
}
my @params = ($listall ? ( $borrowernumber , 1 , $MAX ) : ( $borrowernumber, $mindays, $maxdays ));
- $verbose and warn "STH2 PARAMS: borrowernumber = $borrowernumber, mindays = $mindays, maxdays = $maxdays";
$sth2->execute(@params);
+ $verbose and warn "STH2 PARAMS: borrowernumber = $borrowernumber, mindays = $mindays, maxdays = $maxdays returns ".$sth2->rows." rows";
my $itemcount = 0;
my $titles;
if ($htmlfilename) {
@@ -506,10 +522,16 @@ END_SQL
}
$j++;
my @item_info = map { $_ =~ /^date|date$/ ? format_date( $item_info->{$_} ) : $item_info->{$_} || '' } @item_content_fields;
- $titles .= join("\t", @item_info) . "\n";
+ if ($htmlfilename) {
+ $titles .= "
\n"; + $params->{'letter'}->{'content'} =~ s# #\n"; } else { --
#g; $return .= "$params->{'letter'}->{'content'}\n"; $return .= "\n