5 use Pod::Usage qw( pod2usage );
6 use Getopt::Long qw( GetOptions );
8 use Koha::Script -cron;
14 my ( $help, $verbose, $confirm, @days );
17 'v|verbose' => \$verbose,
19 'c|confirm' => \$confirm,
20 ) || pod2usage( verbose => 2 );
23 pod2usage( verbose => 2 );
27 pod2usage(q{At least one day parameter should be given});
32 say "Doing a dry run; no email will be sent.";
33 say "Run again with --confirm to send emails.";
34 $verbose = 1 unless $verbose;
37 for my $number_of_days (@days) {
38 say "Searching suggestions suggested $number_of_days days ago" if $verbose;
40 my $suggestions = C4::Suggestions::GetUnprocessedSuggestions($number_of_days);
42 say "No suggestion found" if $verbose and not @$suggestions;
44 for my $suggestion (@$suggestions) {
46 say "Suggestion $suggestion->{suggestionid} should be processed" if $verbose;
48 my $budget = C4::Budgets::GetBudget( $suggestion->{budgetid} );
49 my $patron = Koha::Patrons->find( $budget->{budget_owner_id} );
50 my $email_address = $patron->notice_email_address;
53 say "Patron " . $patron->borrowernumber . " is going to be notified" if $verbose;
54 my $letter = C4::Letters::GetPreparedLetter(
55 module => 'suggestions',
56 letter_code => 'TO_PROCESS',
57 branchcode => $patron->branchcode,
58 lang => $patron->lang,
60 suggestions => $suggestion->{suggestionid},
61 branches => $patron->branchcode,
62 borrowers => $patron->borrowernumber,
66 C4::Letters::EnqueueLetter(
69 borrowernumber => $patron->borrowernumber,
70 message_transport_type => 'email'
75 say "Patron " . $patron->borrowernumber . " does not have an email address" if $verbose;
83 notice_unprocessed_suggestions.pl - Generate notification for unprocessed suggestions.
85 The budget owner will be notified.
87 The letter template 'TO_PROCESS' will be used.
91 notice_unprocessed_suggestions.pl [-h|--help] [-v|--verbose] [-c|--confirm] [--days=NUMBER_OF_DAYS]
99 Print a brief help message
101 =item B<-c|--confirm>
103 This flag must be provided in order for the script to actually
104 generate notices. If it is not supplied, the script will
105 only report on the patron it would have noticed.
109 This parameter is mandatory.
110 It must contain an integer representing the number of days elapsed since the last modification of suggestions to process.
112 =item B<-v|--verbose>
120 Jonathan Druart <jonathan.druart@biblibre.com>
124 Copyright 2014 BibLibre
128 This file is part of Koha.
130 # Koha is free software; you can redistribute it and/or modify it
131 # under the terms of the GNU General Public License as published by
132 # the Free Software Foundation; either version 3 of the License, or
133 # (at your option) any later version.
135 # Koha is distributed in the hope that it will be useful, but
136 # WITHOUT ANY WARRANTY; without even the implied warranty of
137 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
138 # GNU General Public License for more details.
140 # You should have received a copy of the GNU General Public License
141 # along with Koha; if not, see <http://www.gnu.org/licenses>.