Lines 39-45
sub usage {
Link Here
|
39 |
|
39 |
|
40 |
|
40 |
|
41 |
sub force_borrower_messaging_defaults { |
41 |
sub force_borrower_messaging_defaults { |
42 |
my ($doit, $truncate, $since, $not_expired) = @_; |
42 |
my ($doit, $truncate, $since, $not_expired, $no_overwrite) = @_; |
43 |
|
43 |
|
44 |
$since = '0000-00-00' if (!$since); |
44 |
$since = '0000-00-00' if (!$since); |
45 |
print "Since: $since\n"; |
45 |
print "Since: $since\n"; |
Lines 54-63
sub force_borrower_messaging_defaults {
Link Here
|
54 |
$dbh->do(q|SET FOREIGN_KEY_CHECKS = 1|); |
54 |
$dbh->do(q|SET FOREIGN_KEY_CHECKS = 1|); |
55 |
} |
55 |
} |
56 |
|
56 |
|
57 |
my $sql = "SELECT borrowernumber, categorycode FROM borrowers WHERE dateenrolled >= ?"; |
57 |
my $sql = "SELECT borrowernumber, categorycode FROM borrowers bo WHERE dateenrolled >= ?"; |
58 |
if ($not_expired) { |
58 |
if ($not_expired) { |
59 |
$sql .= " AND dateexpiry >= NOW()" |
59 |
$sql .= " AND dateexpiry >= NOW()" |
60 |
} |
60 |
} |
|
|
61 |
if( $no_overwrite ) { |
62 |
$sql .= " AND (SELECT COUNT(*) FROM borrower_message_preferences mp WHERE mp.borrowernumber=bo.borrowernumber) = 0" |
63 |
} |
61 |
my $sth = $dbh->prepare($sql); |
64 |
my $sth = $dbh->prepare($sql); |
62 |
$sth->execute($since); |
65 |
$sth->execute($since); |
63 |
while ( my ($borrowernumber, $categorycode) = $sth->fetchrow ) { |
66 |
while ( my ($borrowernumber, $categorycode) = $sth->fetchrow ) { |
Lines 72-89
sub force_borrower_messaging_defaults {
Link Here
|
72 |
} |
75 |
} |
73 |
|
76 |
|
74 |
|
77 |
|
75 |
my ($doit, $truncate, $since, $help, $not_expired); |
78 |
my ( $doit, $truncate, $since, $help, $not_expired, $no_overwrite ); |
76 |
my $result = GetOptions( |
79 |
my $result = GetOptions( |
77 |
'doit' => \$doit, |
80 |
'doit' => \$doit, |
78 |
'truncate' => \$truncate, |
81 |
'truncate' => \$truncate, |
79 |
'since:s' => \$since, |
82 |
'since:s' => \$since, |
80 |
'not-expired' => \$not_expired, |
83 |
'not-expired' => \$not_expired, |
|
|
84 |
'no_overwrite' => \$no_overwrite, |
81 |
'help|h' => \$help, |
85 |
'help|h' => \$help, |
82 |
); |
86 |
); |
83 |
|
87 |
|
84 |
usage() if $help; |
88 |
usage() if $help; |
85 |
|
89 |
|
86 |
force_borrower_messaging_defaults( $doit, $truncate, $since, $not_expired ); |
90 |
force_borrower_messaging_defaults( $doit, $truncate, $since, $not_expired, $no_overwrite ); |
87 |
|
91 |
|
88 |
=head1 NAME |
92 |
=head1 NAME |
89 |
|
93 |
|
Lines 105-112
preferences default values as defined for their borrower category. So you would
Link Here
|
105 |
have to modify each borrower one by one if you would like to send them 'Hold |
109 |
have to modify each borrower one by one if you would like to send them 'Hold |
106 |
Filled' notice for example. |
110 |
Filled' notice for example. |
107 |
|
111 |
|
108 |
This script create transport preferences for all existing borrowers and set |
112 |
This script creates/overwrites messaging preferences for all borrowers and sets |
109 |
them to default values defined for the category they belong to. |
113 |
them to default values defined for the category they belong to (unless you |
|
|
114 |
use the options -not-expired or -no_overwrite to update a subset). |
110 |
|
115 |
|
111 |
=over 8 |
116 |
=over 8 |
112 |
|
117 |
|
Lines 127-132
affects borrower_message_preferences table.
Link Here
|
127 |
|
132 |
|
128 |
Will only update active borrowers (borrowers who didn't pass their expiration date). |
133 |
Will only update active borrowers (borrowers who didn't pass their expiration date). |
129 |
|
134 |
|
|
|
135 |
=item B<--no_overwrite> |
136 |
|
137 |
Will only update patrons without messaging preferences and skip patrons that |
138 |
already set their preferences. |
139 |
|
130 |
=back |
140 |
=back |
131 |
|
141 |
|
132 |
=cut |
142 |
=cut |
133 |
- |
|
|