From cab53ae2da21d85b4205fedacd84cb2872c95b5a Mon Sep 17 00:00:00 2001 From: Chris Cormack Date: Tue, 12 Aug 2014 10:21:32 +1200 Subject: [PATCH] [PASSED QA] Bug 9530 making changes to virtualshelves/sendshelf.pl To Test 1/ Edit the new systempreferences (ReplytoDefault and ReturnpathDefault) 2/ Optionally edit the branch the mail will be sent from, adding email addresses 3/ Send a list from the staff client 4/ Check that the mails have the correct From, Replyto and ReturnPath set The rules are If the values are set in the branch use that, else use the syspref Signed-off-by: Owen Leonard Signed-off-by: Martin Renvoize --- virtualshelves/sendshelf.pl | 54 +++++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/virtualshelves/sendshelf.pl b/virtualshelves/sendshelf.pl index 9439609..1d41581 100755 --- a/virtualshelves/sendshelf.pl +++ b/virtualshelves/sendshelf.pl @@ -32,10 +32,11 @@ use C4::Biblio; use C4::Items; use C4::Output; use C4::VirtualShelves; +use Koha::Email; my $query = new CGI; -my ( $template, $borrowernumber, $cookie ) = get_template_and_user ( +my ( $template, $borrowernumber, $cookie ) = get_template_and_user( { template_name => "virtualshelves/sendshelfform.tt", query => $query, @@ -48,15 +49,15 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user ( my $shelfid = $query->param('shelfid'); my $email = $query->param('email'); -my $dbh = C4::Context->dbh; +my $dbh = C4::Context->dbh; -if ( $email ) { - my $email_from = C4::Context->preference('KohaAdminEmailAddress'); - my $comment = $query->param('comment'); - - my %mail = ( - To => $email, - From => $email_from +if ($email) { + my $comment = $query->param('comment'); + my $message = Koha::Email->new(); + my %mail = $message->create_message_headers( + { + to => $email + } ); my ( $template2, $borrowernumber, $cookie ) = get_template_and_user( @@ -69,9 +70,9 @@ if ( $email ) { } ); - my @shelf = GetShelf($shelfid); - my ($items, $totitems) = GetShelfContents($shelfid); - my $marcflavour = C4::Context->preference('marcflavour'); + my @shelf = GetShelf($shelfid); + my ( $items, $totitems ) = GetShelfContents($shelfid); + my $marcflavour = C4::Context->preference('marcflavour'); my $iso2709; my @results; @@ -84,9 +85,9 @@ if ( $email ) { my $marcnotesarray = GetMarcNotes( $record, $marcflavour ); my $marcauthorsarray = GetMarcAuthors( $record, $marcflavour ); my $marcsubjctsarray = GetMarcSubjects( $record, $marcflavour ); - my $subtitle = GetRecordValue('subtitle', $record, $fw); + my $subtitle = GetRecordValue( 'subtitle', $record, $fw ); - my @items = GetItemsInfo( $biblionumber ); + my @items = GetItemsInfo($biblionumber); $dat->{MARCNOTES} = $marcnotesarray; $dat->{MARCSUBJCTS} = $marcsubjctsarray; @@ -100,13 +101,14 @@ if ( $email ) { push( @results, $dat ); } - if (C4::Context->preference('OPACBaseURL')){ - $template2->param( OPACBaseURL => C4::Context->preference('OPACBaseURL') ); - } + if ( C4::Context->preference('OPACBaseURL') ) { + $template2->param( + OPACBaseURL => C4::Context->preference('OPACBaseURL') ); + } $template2->param( BIBLIO_RESULTS => \@results, - email_sender => $email_from, + email_sender => $mail{'from'}, comment => $comment, shelfname => $shelf[1], ); @@ -146,7 +148,7 @@ if ( $email ) { # We set and put the multipart content $mail{'content-type'} = "multipart/mixed; boundary=\"$boundary\""; - my $isofile = encode_base64(encode("UTF-8", $iso2709)); + my $isofile = encode_base64( encode( "UTF-8", $iso2709 ) ); $boundary = '--' . $boundary; $mail{body} = <param( SENT => "1" ); + $template->param( SENT => "1" ); } else { # do something if it doesnt work.... @@ -179,10 +182,11 @@ END_OF_BODY $template->param( email => $email ); output_html_with_http_headers $query, $cookie, $template->output; - -}else{ - $template->param( shelfid => $shelfid, - url => "/cgi-bin/koha/virtualshelves/sendshelf.pl", - ); +} +else { + $template->param( + shelfid => $shelfid, + url => "/cgi-bin/koha/virtualshelves/sendshelf.pl", + ); output_html_with_http_headers $query, $cookie, $template->output; } -- 1.7.10.4