View | Details | Raw Unified | Return to bug 11603
Collapse All | Expand All

(-)a/misc/cronjobs/gather_print_notices.pl (-13 / +32 lines)
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
- 

Return to bug 11603