[Koha-patches] [PATCH] Bug 5381 - Fines in notices prints always 0.00
Katrin Fischer
katrin.fischer at bsz-bw.de
Fri Nov 12 16:30:45 CET 2010
From: Chris Nighswonger <cnighswonger at foundations.edu>
This was due to passing off the biblionumber to GetFines rather than the itemnumber.
Signed-off-by: Katrin Fischer <katrin.fischer at bsz-bw.de>
---
misc/cronjobs/overdue_notices.pl | 24 ++++++++++++------------
1 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/misc/cronjobs/overdue_notices.pl b/misc/cronjobs/overdue_notices.pl
index 761644a..92bc786 100755
--- a/misc/cronjobs/overdue_notices.pl
+++ b/misc/cronjobs/overdue_notices.pl
@@ -19,7 +19,6 @@
use strict;
use warnings;
-use utf8;
BEGIN {
@@ -256,7 +255,7 @@ my $csvfilename;
my $htmlfilename;
my $triggered = 0;
my $listall = 0;
-my $itemscontent = join( ',', qw( issuedate title barcode author biblionumber ) );
+my $itemscontent = join( ',', qw( issuedate title barcode author itemnumber ) );
my @myborcat;
my @myborcatout;
@@ -476,6 +475,7 @@ 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);
my $itemcount = 0;
my $titles = "";
@@ -492,14 +492,14 @@ END_SQL
my @item_info = map { $_ =~ /^date|date$/ ? format_date( $item_info->{$_} ) : $item_info->{$_} || '' } @item_content_fields;
$titles .= join("\t", @item_info) . "\n";
$itemcount++;
- push (@items, $item_info->{'biblionumber'});
+ push @items, { itemnumber => $item_info->{'itemnumber'}, biblionumber => $item_info->{'biblionumber'} };
}
$sth2->finish;
$letter = parse_letter(
{ letter => $letter,
borrowernumber => $borrowernumber,
branchcode => $branchcode,
- biblionumber => \@items,
+ items => \@items,
substitute => { # this appears to be a hack to overcome incomplete features in this code.
bib => $branch_details->{'branchname'}, # maybe 'bib' is a typo for 'lib<rary>'?
'items.content' => $titles
@@ -657,12 +657,12 @@ sub parse_letter { # FIXME: this code should probably be moved to C4::Letters:pa
$params->{'letter'} = C4::Letters::parseletter( $params->{'letter'}, 'branches', $params->{'branchcode'} );
}
- if ( $params->{'biblionumber'} ) {
+ if ( $params->{'items'} ) {
my $item_format = '';
PROCESS_ITEMS:
- while (scalar(@{$params->{'biblionumber'}}) > 0) {
- my $item = shift @{$params->{'biblionumber'}};
- my $fine = GetFine($item, $params->{'borrowernumber'});
+ while (scalar(@{$params->{'items'}}) > 0) {
+ my $item = shift @{$params->{'items'}};
+ my $fine = GetFine($item->{'itemnumber'}, $params->{'borrowernumber'});
if (!$item_format) {
$params->{'letter'}->{'content'} =~ m/(<item>.*<\/item>)/;
$item_format = $1;
@@ -671,10 +671,10 @@ sub parse_letter { # FIXME: this code should probably be moved to C4::Letters:pa
my $formatted_fine = currency_format("$1", "$fine", FMT_SYMBOL);
$params->{'letter'}->{'content'} =~ s/<fine>.*<\/fine>/$formatted_fine/;
}
- $params->{'letter'} = C4::Letters::parseletter( $params->{'letter'}, 'biblio', $item );
- $params->{'letter'} = C4::Letters::parseletter( $params->{'letter'}, 'biblioitems', $item );
- $params->{'letter'} = C4::Letters::parseletter( $params->{'letter'}, 'items', $item );
- $params->{'letter'}->{'content'} =~ s/(<item>.*<\/item>)/$1\n$item_format/ if scalar(@{$params->{'biblionumber'}} > 0);
+ $params->{'letter'} = C4::Letters::parseletter( $params->{'letter'}, 'biblio', $item->{'biblionumber'} );
+ $params->{'letter'} = C4::Letters::parseletter( $params->{'letter'}, 'biblioitems', $item->{'biblionumber'} );
+ $params->{'letter'} = C4::Letters::parseletter( $params->{'letter'}, 'items', $item->{'itemnumber'} );
+ $params->{'letter'}->{'content'} =~ s/(<item>.*<\/item>)/$1\n$item_format/ if scalar(@{$params->{'items'}} > 0);
}
}
--
1.6.3.3
More information about the Koha-patches
mailing list