@@ -, +, @@ force_borrower_messaging_defaults script --- --- .../maintenance/borrowers-force-messaging-defaults | 28 +++++++++++++++------- 1 file changed, 19 insertions(+), 9 deletions(-) --- a/misc/maintenance/borrowers-force-messaging-defaults +++ a/misc/maintenance/borrowers-force-messaging-defaults @@ -39,7 +39,7 @@ sub usage { sub force_borrower_messaging_defaults { - my ($doit, $truncate, $since) = @_; + my ($doit, $truncate, $since, $actives) = @_; $since = '0000-00-00' if (!$since); print $since; @@ -52,7 +52,11 @@ sub force_borrower_messaging_defaults { $sth->execute(); } - my $sth = $dbh->prepare("SELECT borrowernumber, categorycode FROM borrowers WHERE dateenrolled >= ?"); + my $sql = "SELECT borrowernumber, categorycode FROM borrowers WHERE dateenrolled >= ?"; + if ($actives) { + $sql .= " AND dateexpiry > NOW()" + } + my $sth = $dbh->prepare($sql); $sth->execute($since); while ( my ($borrowernumber, $categorycode) = $sth->fetchrow ) { print "$borrowernumber: $categorycode\n"; @@ -66,17 +70,18 @@ sub force_borrower_messaging_defaults { } -my ($doit, $truncate, $since, $help); +my ($doit, $truncate, $since, $help, $actives); my $result = GetOptions( - 'doit' => \$doit, - 'truncate' => \$truncate, - 'since:s' => \$since, - 'help|h' => \$help, + 'doit' => \$doit, + 'truncate' => \$truncate, + 'since:s' => \$since, + 'actives' => \$actives, + 'help|h' => \$help, ); usage() if $help; -force_borrower_messaging_defaults( $doit, $truncate, $since ); +force_borrower_messaging_defaults( $doit, $truncate, $since, $actives ); =head1 NAME @@ -88,6 +93,7 @@ force-borrower-messaging-defaults force-borrower-messaging-defaults --help force-borrower-messaging-defaults --doit force-borrower-messaging-defaults --doit --truncate + force-borrower-messaging-defaults --doit --actives =head1 DESCRIPTION @@ -108,13 +114,17 @@ Prints this help =item B<--doit> -Process actually the borrowers. +Actually update the borrowers. =item B<--truncate> Truncate all borrowers transport preferences before (re-)creating them. It affects borrower_message_preferences table. +=item B<--actives> + +Will only update active borrowers (borrowers who didn't pass their expiration date). + =back =cut --