Bugzilla – Attachment 43939 Details for
Bug 11678
Gather print notices: send files by email
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
[PASSED QA] Bug 11678: Gather print notices: add --email parameter
PASSED-QA-Bug-11678-Gather-print-notices-add---ema.patch (text/plain), 4.05 KB, created by
Katrin Fischer
on 2015-10-24 22:23:08 UTC
(
hide
)
Description:
[PASSED QA] Bug 11678: Gather print notices: add --email parameter
Filename:
MIME Type:
Creator:
Katrin Fischer
Created:
2015-10-24 22:23:08 UTC
Size:
4.05 KB
patch
obsolete
>From 028d6b48f8ea8926ab110ced2faa27771f4bb7ba Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@biblibre.com> >Date: Thu, 23 Jan 2014 13:12:30 +0100 >Subject: [PATCH] [PASSED QA] Bug 11678: Gather print notices: add --email > parameter > >This patch add the ability to send generated files by email. > >You can specify several emails. > >Test plan: >- same as Bug 11603 >- call the script misc/cronjobs/gather_print_notices.pl with the > following parameters: > >perl misc/cronjobs/gather_print_notices.pl /tmp/test --csv --ods --html >--letter_code=CHECKIN -d=: --email="email_one@example.org" >--email="email_two@example.org" > >Signed-off-by: Frederic Demians <f.demians@tamil.fr> > - Works as desribed. Rebased upon bug-11603. > >Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> >--- > misc/cronjobs/gather_print_notices.pl | 68 ++++++++++++++++++++++++++++++++++- > 1 file changed, 67 insertions(+), 1 deletion(-) > >diff --git a/misc/cronjobs/gather_print_notices.pl b/misc/cronjobs/gather_print_notices.pl >index d573f04..a511326 100755 >--- a/misc/cronjobs/gather_print_notices.pl >+++ b/misc/cronjobs/gather_print_notices.pl >@@ -22,6 +22,7 @@ use C4::Log; > > use File::Basename qw( dirname ); > use Koha::DateUtils; >+use MIME::Lite; > > my ( > $stylesheet, >@@ -33,6 +34,7 @@ my ( > $delimiter, > @letter_codes, > $send, >+ @emails, > ); > > $send = 1; >@@ -45,6 +47,7 @@ GetOptions( > 'd|delimiter:s' => \$delimiter, > 'letter_code:s' => \@letter_codes, > 'send!' => \$send, >+ 'e|email:s' => \@emails, > ) || pod2usage(1); > > pod2usage(0) if $help; >@@ -123,6 +126,22 @@ if ( $html ) { > }); > } > >+if ( @emails ) { >+ my $files = { >+ html => $html_filenames, >+ csv => $csv_filenames, >+ ods => $ods_filenames, >+ }; >+ for my $email ( @emails ) { >+ send_files({ >+ directory => $output_directory, >+ files => $files, >+ to => $email, >+ from => C4::Context->preference('KohaAdminEmailAddress'), # Should be replaced if bug 8000 is pushed >+ }); >+ } >+} >+ > sub print_notices { > my ( $params ) = @_; > >@@ -280,13 +299,56 @@ sub generate_ods { > $doc->save(); > } > >+sub send_files { >+ my ( $params ) = @_; >+ my $directory = $params->{directory}; >+ my $files = $params->{files}; >+ my $to = $params->{to}; >+ my $from = $params->{from}; >+ return unless $to and $from; >+ >+ my $mail = MIME::Lite->new( >+ From => $from, >+ To => $to, >+ Subject => 'Print notices for ' . $today->output(), >+ Type => 'multipart/mixed', >+ ); >+ >+ while ( my ( $type, $filenames ) = each %$files ) { >+ for my $filename ( @$filenames ) { >+ my $mimetype = $type eq 'html' >+ ? 'text/html' >+ : $type eq 'csv' >+ ? 'text/csv' >+ : $type eq 'ods' >+ ? 'application/vnd.oasis.opendocument.spreadsheet' >+ : undef; >+ >+ next unless $mimetype; >+ >+ my $filepath = File::Spec->catdir( $directory, $filename ); >+ >+ next unless $filepath or -f $filepath; >+ >+ $mail->attach( >+ Type => $mimetype, >+ Path => $filepath, >+ Filename => $filename, >+ Encoding => 'base64', >+ ); >+ } >+ } >+ >+ $mail->send; >+} >+ > =head1 NAME > > gather_print_notices - Print waiting print notices > > =head1 SYNOPSIS > >-gather_print_notices output_directory [-s|--split] [--html] [--csv] [--ods] [--letter_code=LETTER_CODE] [-h|--help] >+gather_print_notices output_directory [-s|--split] [--html] [--csv] [--ods] [--letter_code=LETTER_CODE] [-e|--email=your_email@example.org] [-h|--help] > > Will print all waiting print notices to the output_directory. > >@@ -337,6 +399,10 @@ This is the same as the csv parameter but using csv2odf to generate an ods file > Filter print messages by letter_code. > Several letter_code parameters can be given. > >+=item B<-e|--email> >+ >+E-mail address to send generated files. >+ > =item B<-h|--help> > > Print a brief help message >-- >1.9.1
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 11678
:
25025
|
30984
|
37838
|
43581
|
43582
| 43939 |
43940
|
43941