|
Lines 29-34
or, in crontab:
Link Here
|
| 29 |
|
29 |
|
| 30 |
0 1 * * * membership_expiry.pl -c |
30 |
0 1 * * * membership_expiry.pl -c |
| 31 |
|
31 |
|
|
|
32 |
Options: |
| 33 |
--help brief help message |
| 34 |
--man full documentation |
| 35 |
--where <conditions> where clause to add to the query |
| 36 |
-v -verbose verbose mode |
| 37 |
-n --nomail if supplied messages will be output to STDOUT and not sent |
| 38 |
-c --confirm commit changes to db, no action will be taken unless this switch is included |
| 39 |
-b --branch <branchname> only deal with patrons from this library/branch |
| 40 |
--before=X include patrons expiring a number of days BEFORE the date set by the preference |
| 41 |
--after=X include patrons expiring a number of days AFTER the date set by the preference |
| 42 |
-l --letter <lettercode> use a specific notice rather than the default |
| 43 |
|
| 32 |
=head1 DESCRIPTION |
44 |
=head1 DESCRIPTION |
| 33 |
|
45 |
|
| 34 |
This script sends membership expiry reminder notices to patrons. |
46 |
This script sends membership expiry reminder notices to patrons. |
|
Lines 75-89
the date set by the preference.
Link Here
|
| 75 |
Optional parameter to extend the selection with a number of days AFTER |
87 |
Optional parameter to extend the selection with a number of days AFTER |
| 76 |
the date set by the preference. |
88 |
the date set by the preference. |
| 77 |
|
89 |
|
|
|
90 |
=item B<-where> |
| 91 |
|
| 92 |
Use this option to specify a condition built with columns from the borrowers table |
| 93 |
|
| 94 |
e.g. |
| 95 |
--where 'lastseen IS NOT NULL' |
| 96 |
will only notify patrons who have been seen. |
| 97 |
|
| 78 |
=item B<-letter> |
98 |
=item B<-letter> |
| 79 |
|
99 |
|
| 80 |
Optional parameter to use another notice than the default one. |
100 |
Optional parameter to use another notice than the default: MEMBERSHIP_EXPIRY |
| 81 |
|
101 |
|
| 82 |
=back |
102 |
=back |
| 83 |
|
103 |
|
| 84 |
=head1 CONFIGURATION |
104 |
=head1 CONFIGURATION |
| 85 |
|
105 |
|
| 86 |
The content of the messages is configured in Tools -> Notices and slips. Use the MEMBERSHIP_EXPIRY notice. |
106 |
The content of the messages is configured in Tools -> Notices and slips. Use the MEMBERSHIP_EXPIRY notice or |
|
|
107 |
supply another via the parameters. |
| 87 |
|
108 |
|
| 88 |
Typically, messages are prepared for each patron when the memberships are going to expire. |
109 |
Typically, messages are prepared for each patron when the memberships are going to expire. |
| 89 |
|
110 |
|
|
Lines 141-146
my $man = 0;
Link Here
|
| 141 |
my $before = 0; |
162 |
my $before = 0; |
| 142 |
my $after = 0; |
163 |
my $after = 0; |
| 143 |
my ( $branch, $letter_type ); |
164 |
my ( $branch, $letter_type ); |
|
|
165 |
my @where; |
| 144 |
|
166 |
|
| 145 |
GetOptions( |
167 |
GetOptions( |
| 146 |
'help|?' => \$help, |
168 |
'help|?' => \$help, |
|
Lines 152-157
GetOptions(
Link Here
|
| 152 |
'before:i' => \$before, |
174 |
'before:i' => \$before, |
| 153 |
'after:i' => \$after, |
175 |
'after:i' => \$after, |
| 154 |
'letter:s' => \$letter_type, |
176 |
'letter:s' => \$letter_type, |
|
|
177 |
'where=s' => \@where, |
| 155 |
) or pod2usage(2); |
178 |
) or pod2usage(2); |
| 156 |
|
179 |
|
| 157 |
pod2usage( -verbose => 2 ) if $man; |
180 |
pod2usage( -verbose => 2 ) if $man; |
|
Lines 175-180
my $upcoming_mem_expires = Koha::Patrons->search_upcoming_membership_expires(
Link Here
|
| 175 |
after => $after, |
198 |
after => $after, |
| 176 |
} |
199 |
} |
| 177 |
); |
200 |
); |
|
|
201 |
|
| 202 |
my $where_literal = join ' AND ', @where; |
| 203 |
$upcoming_mem_expires = $upcoming_mem_expires->search( \$where_literal ) if @where; |
| 204 |
|
| 178 |
warn 'found ' . $upcoming_mem_expires->count . ' soon expiring members' |
205 |
warn 'found ' . $upcoming_mem_expires->count . ' soon expiring members' |
| 179 |
if $verbose; |
206 |
if $verbose; |
| 180 |
|
207 |
|
| 181 |
- |
|
|