Lines 23-30
use C4::Log;
Link Here
|
23 |
use File::Basename qw( dirname ); |
23 |
use File::Basename qw( dirname ); |
24 |
use Koha::DateUtils; |
24 |
use Koha::DateUtils; |
25 |
|
25 |
|
26 |
my ( $stylesheet, $help, $split, $html, $csv, $ods, $delimiter, @letter_codes ); |
26 |
my ( |
27 |
|
27 |
$stylesheet, |
|
|
28 |
$help, |
29 |
$split, |
30 |
$html, |
31 |
$csv, |
32 |
$ods, |
33 |
$delimiter, |
34 |
@letter_codes, |
35 |
$send, |
36 |
); |
37 |
|
38 |
$send = 1; |
28 |
GetOptions( |
39 |
GetOptions( |
29 |
'h|help' => \$help, |
40 |
'h|help' => \$help, |
30 |
's|split' => \$split, |
41 |
's|split' => \$split, |
Lines 33-38
GetOptions(
Link Here
|
33 |
'ods' => \$ods, |
44 |
'ods' => \$ods, |
34 |
'd|delimiter:s' => \$delimiter, |
45 |
'd|delimiter:s' => \$delimiter, |
35 |
'letter_code:s' => \@letter_codes, |
46 |
'letter_code:s' => \@letter_codes, |
|
|
47 |
'send!' => \$send, |
36 |
) || pod2usage(1); |
48 |
) || pod2usage(1); |
37 |
|
49 |
|
38 |
pod2usage(0) if $help; |
50 |
pod2usage(0) if $help; |
Lines 76-82
my @all_messages = @{ GetPrintMessages() };
Link Here
|
76 |
( |
88 |
( |
77 |
grep { /^$letter_code$/ } @letter_codes |
89 |
grep { /^$letter_code$/ } @letter_codes |
78 |
) ? $_ : () |
90 |
) ? $_ : () |
79 |
} @all_messages; |
91 |
} @all_messages if @letter_codes; |
80 |
exit unless @all_messages; |
92 |
exit unless @all_messages; |
81 |
|
93 |
|
82 |
my ( $html_filenames, $csv_filenames, $ods_filenames ); |
94 |
my ( $html_filenames, $csv_filenames, $ods_filenames ); |
Lines 155-167
sub print_notices {
Link Here
|
155 |
}); |
167 |
}); |
156 |
} |
168 |
} |
157 |
|
169 |
|
158 |
foreach my $message ( @$branch_messages ) { |
170 |
if ( $send ) { |
159 |
C4::Letters::_set_message_status( |
171 |
foreach my $message ( @$branch_messages ) { |
160 |
{ |
172 |
C4::Letters::_set_message_status( |
161 |
message_id => $message->{'message_id'}, |
173 |
{ |
162 |
status => 'sent' |
174 |
message_id => $message->{'message_id'}, |
163 |
} |
175 |
status => 'sent' |
164 |
); |
176 |
} |
|
|
177 |
); |
178 |
} |
165 |
} |
179 |
} |
166 |
push @filenames, $filename; |
180 |
push @filenames, $filename; |
167 |
} |
181 |
} |
Lines 231-237
sub generate_ods {
Link Here
|
231 |
my $table = $doc->getTable(0); |
245 |
my $table = $doc->getTable(0); |
232 |
|
246 |
|
233 |
my @headers; |
247 |
my @headers; |
234 |
my ( $nb_rows, $nb_cols ) = ( scalar(@$messages), 0 ); |
248 |
my ( $nb_rows, $nb_cols, $i ) = ( scalar(@$messages), 0, 0 ); |
235 |
foreach my $message ( @$messages ) { |
249 |
foreach my $message ( @$messages ) { |
236 |
my @lines = split /\n/, $message->{content}; |
250 |
my @lines = split /\n/, $message->{content}; |
237 |
chomp for @lines; |
251 |
chomp for @lines; |
Lines 248-257
sub generate_ods {
Link Here
|
248 |
$doc->cellValue( $row, $j, Encode::encode( 'UTF8', $header ) ); |
262 |
$doc->cellValue( $row, $j, Encode::encode( 'UTF8', $header ) ); |
249 |
$j++; |
263 |
$j++; |
250 |
} |
264 |
} |
|
|
265 |
$i = 1; |
251 |
} |
266 |
} |
252 |
|
267 |
|
253 |
shift @lines; # remove headers |
268 |
shift @lines; # remove headers |
254 |
my $i = 1; |
|
|
255 |
for my $line ( @lines ) { |
269 |
for my $line ( @lines ) { |
256 |
my @row_data = split $delimiter, $line; |
270 |
my @row_data = split $delimiter, $line; |
257 |
my $row = $doc->getRow( $table, $i ); |
271 |
my $row = $doc->getRow( $table, $i ); |
Lines 286-291
The generated filename will be holdnotices-TODAY.[csv|html|ods] or holdnotices-T
Link Here
|
286 |
|
300 |
|
287 |
Define the output directory where the files will be generated. |
301 |
Define the output directory where the files will be generated. |
288 |
|
302 |
|
|
|
303 |
=item B<--send|--nosend> |
304 |
|
305 |
After files have been generated, messages status is changed from 'pending' to |
306 |
'sent'. This is the default action, without this parameter or with --send. |
307 |
Using --nosend, mesages status aren't changed. |
308 |
|
289 |
=item B<-s|--split> |
309 |
=item B<-s|--split> |
290 |
|
310 |
|
291 |
Split messages into separate file by borrower home library to OUTPUT_DIRECTORY/notices-CURRENT_DATE-BRANCHCODE.[csv|html|ods] |
311 |
Split messages into separate file by borrower home library to OUTPUT_DIRECTORY/notices-CURRENT_DATE-BRANCHCODE.[csv|html|ods] |
292 |
- |
|
|