From 763d69732e518272b8537ce3d3f781b84370b4da Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 10 Apr 2012 10:06:59 +0200 Subject: [PATCH] Bug 7756: FIX send email for late orders Signed-off-by: Katrin Fischer - sending claim mails works now - claim counter is not increased when vendor has no email address Signed-off-by: Paul Poulain --- C4/Letters.pm | 8 +++++--- acqui/lateorders.pl | 6 ++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/C4/Letters.pm b/C4/Letters.pm index 5a929d01ae..89213fe6dd 100644 --- a/C4/Letters.pm +++ b/C4/Letters.pm @@ -307,7 +307,8 @@ sub SendAlerts { # search the biblionumber my $strsth = $type eq 'claimacquisition' ? qq{ - SELECT aqorders.*,aqbasket.*,biblio.*,biblioitems.*,aqbooksellers.* + SELECT aqorders.*,aqbasket.*,biblio.*,biblioitems.*,aqbooksellers.*, + aqbooksellers.id AS booksellerid FROM aqorders LEFT JOIN aqbasket ON aqbasket.basketno=aqorders.basketno LEFT JOIN biblio ON aqorders.biblionumber=biblio.biblionumber @@ -316,7 +317,8 @@ sub SendAlerts { WHERE aqorders.ordernumber IN ( } : qq{ - SELECT serial.*,subscription.*, biblio.*, aqbooksellers.* + SELECT serial.*,subscription.*, biblio.*, aqbooksellers.*, + aqbooksellers.id AS booksellerid FROM serial LEFT JOIN subscription ON serial.subscriptionid=subscription.subscriptionid LEFT JOIN biblio ON serial.biblionumber=biblio.biblionumber @@ -356,7 +358,7 @@ sub SendAlerts { # ... then send mail my %mail = ( - To => join( ','. @email), + To => join( ',', @email), From => $userenv->{emailaddress}, Subject => Encode::encode( "utf8", "" . $letter->{title} ), Message => Encode::encode( "utf8", "" . $letter->{content} ), diff --git a/acqui/lateorders.pl b/acqui/lateorders.pl index 21ee186678..031fc88443 100755 --- a/acqui/lateorders.pl +++ b/acqui/lateorders.pl @@ -81,11 +81,13 @@ if ($op and $op eq "send_alert"){ my $err; eval { $err = SendAlerts( 'claimacquisition', \@ordernums, $input->param("letter_code") ); # FIXME: Fallback value? - AddClaim ( $_ ) for @ordernums; + if ( not ref $err or not exists $err->{error} ) { + AddClaim ( $_ ) for @ordernums; + } }; if ( $@ ) { $template->param(error_claim => $@); - } elsif ( defined $err->{error} and $err->{error} eq "no_email" ) { + } elsif ( ref $err and exists $err->{error} and $err->{error} eq "no_email" ) { $template->{VARS}->{'error_claim'} = "no_email"; } else { $template->{VARS}->{'info_claim'} = 1; -- 2.39.5