Bugzilla – Attachment 2612 Details for
Bug 5212
Overdue_notices.pl grabbing wrong item information for parsing
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
0001-Fixes-bug-5212-Overdue-notices-pulling-in-wrong-ite.patch (text/plain), 4.58 KB, created by
Nicole C. Engard
on 2010-09-09 17:59:06 UTC
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Nicole C. Engard
Created:
2010-09-09 17:59:06 UTC
Size:
4.58 KB
patch
obsolete
>From 07b11dd759d0b1b1f25c67356fc362478462a0d9 Mon Sep 17 00:00:00 2001 >From: Ian Walls <ian.walls@bywatersolutions.com> >Date: Thu, 9 Sep 2010 11:56:56 -0400 >Subject: [PATCH] Fixes bug 5212: Overdue notices pulling in wrong item information >Content-Type: text/plain; charset="utf-8" > >Code was erroneously using the biblionumber as the key for the items table, resulting in incorrect information for any ><<items.--field-->> placed inside the <item> </item> tags of an Overdue Notice. > >This patch replaces the biblionumbers listed in the @items array param with hashes consisting of the biblionumber, >biblioitemnumber and itemnumber. These values are used as the correct keys for the substitution. > >Signed-off-by: Nicole Engard <nengard@bywatersolutions.com> >--- > misc/cronjobs/overdue_notices.pl | 26 ++++++++++++++++---------- > 1 files changed, 16 insertions(+), 10 deletions(-) > >diff --git a/misc/cronjobs/overdue_notices.pl b/misc/cronjobs/overdue_notices.pl >index 4de6cdd..d56c950 100755 >--- a/misc/cronjobs/overdue_notices.pl >+++ b/misc/cronjobs/overdue_notices.pl >@@ -486,14 +486,17 @@ 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'}); >+ my %item = (biblionumber => $item_info->{'biblionumber'}, >+ biblioitemnumber => $item_info->{'biblioitemnumber'}, >+ itemnumber => $item_info->{'itemnumber'}); >+ push (@items, \%item); > } > $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 >@@ -651,12 +654,15 @@ 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 $biblionumber = $item->{'biblionumber'}; >+ my $biblioitemnumber = $item->{'biblioitemnumber'}; >+ my $itemnumber = $item->{'itemnumber'}; >+ my $fine = GetFine($biblionumber, $params->{'borrowernumber'}); > if (!$item_format) { > $params->{'letter'}->{'content'} =~ m/(<item>.*<\/item>)/; > $item_format = $1; >@@ -668,10 +674,10 @@ sub parse_letter { # FIXME: this code should probably be moved to C4::Letters:pa > $formatted_fine = Encode::encode("utf8", $formatted_fine); > $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', $biblionumber ); >+ $params->{'letter'} = C4::Letters::parseletter( $params->{'letter'}, 'biblioitems', $biblioitemnumber ); >+ $params->{'letter'} = C4::Letters::parseletter( $params->{'letter'}, 'items', $itemnumber ); >+ $params->{'letter'}->{'content'} =~ s/(<item>.*<\/item>)/$1\n$item_format/ if scalar(@{$params->{'items'}} > 0); > > } > } >-- >1.5.6.5 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 5212
: 2612