|
Lines 21-28
use Getopt::Long;
Link Here
|
| 21 |
use File::Basename qw( dirname ); |
21 |
use File::Basename qw( dirname ); |
| 22 |
use Koha::DateUtils; |
22 |
use Koha::DateUtils; |
| 23 |
|
23 |
|
| 24 |
my ( $stylesheet, $help, $split, $html, $csv, $ods, $delimiter, @letter_codes ); |
24 |
my ( |
| 25 |
|
25 |
$stylesheet, |
|
|
26 |
$help, |
| 27 |
$split, |
| 28 |
$html, |
| 29 |
$csv, |
| 30 |
$ods, |
| 31 |
$delimiter, |
| 32 |
@letter_codes, |
| 33 |
$send, |
| 34 |
); |
| 35 |
|
| 36 |
$send = 1; |
| 26 |
GetOptions( |
37 |
GetOptions( |
| 27 |
'h|help' => \$help, |
38 |
'h|help' => \$help, |
| 28 |
's|split' => \$split, |
39 |
's|split' => \$split, |
|
Lines 31-36
GetOptions(
Link Here
|
| 31 |
'ods' => \$ods, |
42 |
'ods' => \$ods, |
| 32 |
'd|delimiter:s' => \$delimiter, |
43 |
'd|delimiter:s' => \$delimiter, |
| 33 |
'letter_code:s' => \@letter_codes, |
44 |
'letter_code:s' => \@letter_codes, |
|
|
45 |
'send!' => \$send, |
| 34 |
) || pod2usage(1); |
46 |
) || pod2usage(1); |
| 35 |
|
47 |
|
| 36 |
pod2usage(0) if $help; |
48 |
pod2usage(0) if $help; |
|
Lines 72-78
my @all_messages = @{ GetPrintMessages() };
Link Here
|
| 72 |
( |
84 |
( |
| 73 |
grep { /^$letter_code$/ } @letter_codes |
85 |
grep { /^$letter_code$/ } @letter_codes |
| 74 |
) ? $_ : () |
86 |
) ? $_ : () |
| 75 |
} @all_messages; |
87 |
} @all_messages if @letter_codes; |
| 76 |
exit unless @all_messages; |
88 |
exit unless @all_messages; |
| 77 |
|
89 |
|
| 78 |
my ( $html_filenames, $csv_filenames, $ods_filenames ); |
90 |
my ( $html_filenames, $csv_filenames, $ods_filenames ); |
|
Lines 151-163
sub print_notices {
Link Here
|
| 151 |
}); |
163 |
}); |
| 152 |
} |
164 |
} |
| 153 |
|
165 |
|
| 154 |
foreach my $message ( @$branch_messages ) { |
166 |
if ( $send ) { |
| 155 |
C4::Letters::_set_message_status( |
167 |
foreach my $message ( @$branch_messages ) { |
| 156 |
{ |
168 |
C4::Letters::_set_message_status( |
| 157 |
message_id => $message->{'message_id'}, |
169 |
{ |
| 158 |
status => 'sent' |
170 |
message_id => $message->{'message_id'}, |
| 159 |
} |
171 |
status => 'sent' |
| 160 |
); |
172 |
} |
|
|
173 |
); |
| 174 |
} |
| 161 |
} |
175 |
} |
| 162 |
push @filenames, $filename; |
176 |
push @filenames, $filename; |
| 163 |
} |
177 |
} |
|
Lines 227-233
sub generate_ods {
Link Here
|
| 227 |
my $table = $doc->getTable(0); |
241 |
my $table = $doc->getTable(0); |
| 228 |
|
242 |
|
| 229 |
my @headers; |
243 |
my @headers; |
| 230 |
my ( $nb_rows, $nb_cols ) = ( scalar(@$messages), 0 ); |
244 |
my ( $nb_rows, $nb_cols, $i ) = ( scalar(@$messages), 0, 0 ); |
| 231 |
foreach my $message ( @$messages ) { |
245 |
foreach my $message ( @$messages ) { |
| 232 |
my @lines = split /\n/, $message->{content}; |
246 |
my @lines = split /\n/, $message->{content}; |
| 233 |
chomp for @lines; |
247 |
chomp for @lines; |
|
Lines 244-253
sub generate_ods {
Link Here
|
| 244 |
$doc->cellValue( $row, $j, Encode::encode( 'UTF8', $header ) ); |
258 |
$doc->cellValue( $row, $j, Encode::encode( 'UTF8', $header ) ); |
| 245 |
$j++; |
259 |
$j++; |
| 246 |
} |
260 |
} |
|
|
261 |
$i = 1; |
| 247 |
} |
262 |
} |
| 248 |
|
263 |
|
| 249 |
shift @lines; # remove headers |
264 |
shift @lines; # remove headers |
| 250 |
my $i = 1; |
|
|
| 251 |
for my $line ( @lines ) { |
265 |
for my $line ( @lines ) { |
| 252 |
my @row_data = split $delimiter, $line; |
266 |
my @row_data = split $delimiter, $line; |
| 253 |
my $row = $doc->getRow( $table, $i ); |
267 |
my $row = $doc->getRow( $table, $i ); |
|
Lines 282-287
The generated filename will be holdnotices-TODAY.[csv|html|ods] or holdnotices-T
Link Here
|
| 282 |
|
296 |
|
| 283 |
Define the output directory where the files will be generated. |
297 |
Define the output directory where the files will be generated. |
| 284 |
|
298 |
|
|
|
299 |
=item B<--send|--nosend> |
| 300 |
|
| 301 |
After files have been generated, messages status is changed from 'pending' to |
| 302 |
'sent'. This is the default action, without this parameter or with --send. |
| 303 |
Using --nosend, mesages status aren't changed. |
| 304 |
|
| 285 |
=item B<-s|--split> |
305 |
=item B<-s|--split> |
| 286 |
|
306 |
|
| 287 |
Split messages into separate file by borrower home library to OUTPUT_DIRECTORY/notices-CURRENT_DATE-BRANCHCODE.[csv|html|ods] |
307 |
Split messages into separate file by borrower home library to OUTPUT_DIRECTORY/notices-CURRENT_DATE-BRANCHCODE.[csv|html|ods] |
| 288 |
- |
|
|