X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FLetters.pm;h=712514896e1024650c0bd800716e6a2a3c228953;hb=e52b493611766b61a0018350adc590ab07e9c94b;hp=ff5b4419b92fd78da5f1bc9ade2f8877a75bb4f2;hpb=fe54d7ca248b5f12914bd53f1703bb73c871cbdb;p=koha_fer diff --git a/C4/Letters.pm b/C4/Letters.pm index ff5b4419b9..712514896e 100644 --- a/C4/Letters.pm +++ b/C4/Letters.pm @@ -128,7 +128,7 @@ sub getletter { $branchcode ||= ''; - if ( C4::Context->preference('IndependantBranches') + if ( C4::Context->preference('IndependentBranches') and $branchcode and C4::Context->userenv ) { @@ -288,6 +288,7 @@ sub SendAlerts { # warn "sending issues..."; my $userenv = C4::Context->userenv; + my $branchdetails = GetBranchDetail($_->{'branchcode'}); my $letter = GetPreparedLetter ( module => 'serial', letter_code => $letter_code, @@ -304,7 +305,7 @@ sub SendAlerts { # ... then send mail my %mail = ( To => $email, - From => $email, + From => $branchdetails->{'branchemail'} || C4::Context->preference("KohaAdminEmailAddress"), Subject => Encode::encode( "utf8", "" . $letter->{title} ), Message => Encode::encode( "utf8", "" . $letter->{content} ), 'Content-Type' => 'text/plain; charset="utf8"', @@ -323,7 +324,7 @@ sub SendAlerts { FROM aqorders LEFT JOIN aqbasket ON aqbasket.basketno=aqorders.basketno LEFT JOIN biblio ON aqorders.biblionumber=biblio.biblionumber - LEFT JOIN biblioitems ON aqorders.biblioitemnumber=biblioitems.biblioitemnumber + LEFT JOIN biblioitems ON aqorders.biblionumber=biblioitems.biblionumber LEFT JOIN aqbooksellers ON aqbasket.booksellerid=aqbooksellers.id WHERE aqorders.ordernumber IN ( } @@ -550,6 +551,7 @@ sub _substitute_tables { $sth->execute( $ref ? @$param : $param ); $values = $sth->fetchrow_hashref; + $sth->finish(); } _parseletter ( $letter, $table, $values ); @@ -611,10 +613,10 @@ sub _parseletter { my @waitingdate = split /-/, $values->{'waitingdate'}; my $dt = dt_from_string(); - $dt->add( days => C4::Context->preference('ReservesMaxPickUpDelay') ); - $values->{'expirationdate'} = output_pref( $dt, undef, 1 ); + $dt->add( days => C4::Context->preference('ReservesMaxPickUpDelay') || 0); + $values->{'expirationdate'} = output_pref({ dt => $dt, dateonly => 1 }); - $values->{'waitingdate'} = output_pref( dt_from_string( $values->{'waitingdate'} ), undef, 1 ); + $values->{'waitingdate'} = output_pref({ dt => dt_from_string( $values->{'waitingdate'} ), dateonly => 1 }); } @@ -918,9 +920,9 @@ sub _send_message_by_email { my $message = shift or return; my ($username, $password, $method) = @_; - my $to_address = $message->{to_address}; + my $member = C4::Members::GetMember( 'borrowernumber' => $message->{'borrowernumber'} ); + my $to_address = $message->{'to_address'}; unless ($to_address) { - my $member = C4::Members::GetMember( 'borrowernumber' => $message->{'borrowernumber'} ); unless ($member) { warn "FAIL: No 'to_address' and INVALID borrowernumber ($message->{borrowernumber})"; _set_message_status( { message_id => $message->{'message_id'}, @@ -943,9 +945,12 @@ sub _send_message_by_email { my $content = encode('utf8', $message->{'content'}); my $content_type = $message->{'content_type'} || 'text/plain; charset="UTF-8"'; my $is_html = $content_type =~ m/html/io; + + my $branch_email = ( $member ) ? GetBranchDetail( $member->{'branchcode'} )->{'branchemail'} : undef; + my %sendmail_params = ( To => $to_address, - From => $message->{'from_address'} || C4::Context->preference('KohaAdminEmailAddress'), + From => $message->{'from_address'} || $branch_email || C4::Context->preference('KohaAdminEmailAddress'), Subject => $subject, charset => 'utf8', Message => $is_html ? _wrap_html($content, $subject) : $content,