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

(-)a/misc/maintenance/borrowers-force-messaging-defaults.pl (-18 / +3 lines)
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, $since, $not_expired) = @_;
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 47-59 sub force_borrower_messaging_defaults { Link Here
47
    my $dbh = C4::Context->dbh;
47
    my $dbh = C4::Context->dbh;
48
    $dbh->{AutoCommit} = 0;
48
    $dbh->{AutoCommit} = 0;
49
49
50
    if ( $doit && $truncate ) {
51
        $dbh->do(q|SET FOREIGN_KEY_CHECKS = 0|);
52
        $dbh->do(q|TRUNCATE borrower_message_transport_preferences|);
53
        $dbh->do(q|TRUNCATE borrower_message_preferences|);
54
        $dbh->do(q|SET FOREIGN_KEY_CHECKS = 1|);
55
    }
56
57
    my $sql = "SELECT borrowernumber, categorycode FROM borrowers WHERE dateenrolled >= ?";
50
    my $sql = "SELECT borrowernumber, categorycode FROM borrowers WHERE dateenrolled >= ?";
58
    if ($not_expired) {
51
    if ($not_expired) {
59
        $sql .= " AND dateexpiry >= NOW()"
52
        $sql .= " AND dateexpiry >= NOW()"
Lines 72-81 sub force_borrower_messaging_defaults { Link Here
72
}
65
}
73
66
74
67
75
my ($doit, $truncate, $since, $help, $not_expired);
68
my ($doit, $since, $help, $not_expired);
76
my $result = GetOptions(
69
my $result = GetOptions(
77
    'doit'        => \$doit,
70
    'doit'        => \$doit,
78
    'truncate'    => \$truncate,
79
    'since:s'     => \$since,
71
    'since:s'     => \$since,
80
    'not-expired' => \$not_expired,
72
    'not-expired' => \$not_expired,
81
    'help|h'      => \$help,
73
    'help|h'      => \$help,
Lines 83-89 my $result = GetOptions( Link Here
83
75
84
usage() if $help;
76
usage() if $help;
85
77
86
force_borrower_messaging_defaults( $doit, $truncate, $since, $not_expired );
78
force_borrower_messaging_defaults( $doit, $since, $not_expired );
87
79
88
=head1 NAME
80
=head1 NAME
89
81
Lines 94-100 borrowers-force-messaging-defaults.pl Link Here
94
  borrowers-force-messaging-defaults.pl
86
  borrowers-force-messaging-defaults.pl
95
  borrowers-force-messaging-defaults.pl --help
87
  borrowers-force-messaging-defaults.pl --help
96
  borrowers-force-messaging-defaults.pl --doit
88
  borrowers-force-messaging-defaults.pl --doit
97
  borrowers-force-messaging-defaults.pl --doit --truncate
98
  borrowers-force-messaging-defaults.pl --doit --not-expired
89
  borrowers-force-messaging-defaults.pl --doit --not-expired
99
90
100
=head1 DESCRIPTION
91
=head1 DESCRIPTION
Lines 118-128 Prints this help Link Here
118
109
119
Actually update the borrowers.
110
Actually update the borrowers.
120
111
121
=item B<--truncate>
122
123
Truncate all borrowers transport preferences before (re-)creating them. It
124
affects borrower_message_preferences table.
125
126
=item B<--not-expired>
112
=item B<--not-expired>
127
113
128
Will only update active borrowers (borrowers who didn't pass their expiration date).
114
Will only update active borrowers (borrowers who didn't pass their expiration date).
129
- 

Return to bug 19452