From a7c53fa0ee5bc5c4878fd9e28e99aaaf9affadbf Mon Sep 17 00:00:00 2001 From: Koha user Date: Tue, 7 Aug 2012 08:09:19 -0400 Subject: [PATCH] Bug 8606 - Talking Tech broken by Bug 7001 The patches for bug 7001 removed the parseletter subroutine from C4::Letters without updating the talking tech script to use the new alternative. This patch rectifies that situation. --- C4/Letters.pm | 3 ++ .../thirdparty/TalkingTech_itiva_outbound.pl | 29 +++++++++----------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/C4/Letters.pm b/C4/Letters.pm index b17cb08..5186eac 100644 --- a/C4/Letters.pm +++ b/C4/Letters.pm @@ -120,9 +120,12 @@ my %letter; sub getletter { my ( $module, $code, $branchcode ) = @_; + $branchcode |= ''; + if ( C4::Context->preference('IndependantBranches') and $branchcode and C4::Context->userenv ) { + $branchcode = C4::Context->userenv->{'branch'}; } diff --git a/misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl b/misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl index 226f17e..6c26cb1 100755 --- a/misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl +++ b/misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl @@ -127,20 +127,17 @@ foreach my $type (@types) { my $date = C4::Dates->new( $issues->{'date_due'}, 'iso' ); my $due_date = $date->output('metric'); - # gets the placeholder message, and enqueues the letter - my $letter = getletter( $module, $code ); - die "No letter found for type $type!... dying\n" unless $letter; + my $letter = C4::Letters::GetPreparedLetter( + module => $module, + letter_code => $code, + tables => { + borrowers => $issues->{'borrowernumber'}, + biblio => $issues->{'biblionumber'}, + biblioitems => $issues->{'biblionumber'} + }, + ); - # covers basic variable parsing in letter - $letter = - C4::Letters::parseletter( $letter, 'borrowers', - $issues->{'borrowernumber'} ); - $letter = - C4::Letters::parseletter( $letter, 'biblio', - $issues->{'biblionumber'} ); - $letter = - C4::Letters::parseletter( $letter, 'biblioitems', - $issues->{'biblionumber'} ); + die "No letter found for type $type!... dying\n" unless $letter; my $message_id = 0; if ($outfile) { @@ -153,11 +150,11 @@ foreach my $type (@types) { ); } - print $OUT + print OUT "\"$format\",\"$language\",\"$type\",\"$issues->{level}\",\"$issues->{cardnumber}\",\"$issues->{patron_title}\",\"$issues->{firstname}\","; - print $OUT + print OUT "\"$issues->{surname}\",\"$issues->{phone}\",\"$issues->{email}\",\"$library_code\","; - print $OUT + print OUT "\"$issues->{site}\",\"$issues->{site_name}\",\"$issues->{barcode}\",\"$due_date\",\"$issues->{title}\",\"$message_id\"\n"; } } -- 1.7.2.5