Bugzilla – Attachment 188345 Details for
Bug 13811
Add verbose option borrowers-force-messaging-defaults
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 13811: MOve POD and script to top
Bug-13811-MOve-POD-and-script-to-top.patch (text/plain), 5.72 KB, created by
Nick Clemens (kidclamp)
on 2025-10-23 12:07:22 UTC
(
hide
)
Description:
Bug 13811: MOve POD and script to top
Filename:
MIME Type:
Creator:
Nick Clemens (kidclamp)
Created:
2025-10-23 12:07:22 UTC
Size:
5.72 KB
patch
obsolete
>From 5c2c7f87572394a8e0903d1c8dfb5d75d9610856 Mon Sep 17 00:00:00 2001 >From: Nick Clemens <nick@bywatersolutions.com> >Date: Thu, 23 Oct 2025 12:04:26 +0000 >Subject: [PATCH] Bug 13811: MOve POD and script to top > >--- > .../borrowers-force-messaging-defaults.pl | 151 +++++++++--------- > 1 file changed, 76 insertions(+), 75 deletions(-) > >diff --git a/misc/maintenance/borrowers-force-messaging-defaults.pl b/misc/maintenance/borrowers-force-messaging-defaults.pl >index 5a65d9ed7d6..ec560f42893 100755 >--- a/misc/maintenance/borrowers-force-messaging-defaults.pl >+++ b/misc/maintenance/borrowers-force-messaging-defaults.pl >@@ -27,81 +27,6 @@ use C4::Members::Messaging; > use Getopt::Long qw( GetOptions ); > use Pod::Usage qw( pod2usage ); > >-sub usage { >- pod2usage( -verbose => 2 ); >- exit; >-} >- >-sub force_borrower_messaging_defaults { >- my ( $doit, $since, $not_expired, $no_overwrite, $category, $branchcode, $message_name, $verbose ) = @_; >- >- print "Since: $since\n" if $since; >- my $update_statement = $doit ? "Updating" : "Would have updated"; >- >- my $dbh = C4::Context->dbh; >- $dbh->{AutoCommit} = 0; >- >- my $sql = q|SELECT DISTINCT bo.borrowernumber, bo.categorycode FROM borrowers bo >-LEFT JOIN borrower_message_preferences mp USING (borrowernumber) >-WHERE 1|; >- >- if ($since) { >- $sql .= " AND bo.dateenrolled >= ?"; >- } >- if ($not_expired) { >- $sql .= " AND bo.dateexpiry >= NOW()"; >- } >- if ($no_overwrite) { >- $sql .= " AND mp.borrowernumber IS NULL"; >- } >- $sql .= " AND bo.categorycode = ?" if $category; >- $sql .= " AND bo.branchcode = ?" if $branchcode; >- my $sth = $dbh->prepare($sql); >- $sth->execute( $since || (), $category || (), $branchcode || () ); >- my $cnt = 0; >- while ( my ( $borrowernumber, $categorycode ) = $sth->fetchrow ) { >- print "$update_statement borrowernumber: $borrowernumber : category ($categorycode)\n" if $verbose; >- next unless $doit; >- my $options = { >- borrowernumber => $borrowernumber, >- categorycode => $categorycode, >- }; >- $options->{message_name} = $message_name if defined $message_name; >- C4::Members::Messaging::SetMessagingPreferencesFromDefaults($options); >- $cnt++; >- } >- $dbh->commit(); >- print "Total borrowers updated: $cnt\n" if $doit; >-} >- >-my ( $doit, $since, $help, $not_expired, $no_overwrite, $category, $branchcode, $message_name, $verbose ); >-my $result = GetOptions( >- 'doit' => \$doit, >- 'since:s' => \$since, >- 'not-expired' => \$not_expired, >- 'no-overwrite' => \$no_overwrite, >- 'category:s' => \$category, >- 'library:s' => \$branchcode, >- 'message-name:s' => \$message_name, >- 'help|h' => \$help, >- 'verbose|v+' => \$verbose, >-); >- >-my $command_line_options = join( " ", @ARGV ); >- >-if ($doit) { >- cronlogaction( { action => 'Run', info => $command_line_options } ); >-} else { >- print "Running in dry-run mode, provide --doit to apply the changes\n"; >-} >- >-usage() if $help; >- >-force_borrower_messaging_defaults( >- $doit, $since, $not_expired, $no_overwrite, $category, $branchcode, $message_name, >- $verbose >-); >- > =head1 NAME > > borrowers-force-messaging-defaults.pl >@@ -178,3 +103,79 @@ Examples: > =back > > =cut >+ >+my ( $doit, $since, $help, $not_expired, $no_overwrite, $category, $branchcode, $message_name, $verbose ); >+my $result = GetOptions( >+ 'doit' => \$doit, >+ 'since:s' => \$since, >+ 'not-expired' => \$not_expired, >+ 'no-overwrite' => \$no_overwrite, >+ 'category:s' => \$category, >+ 'library:s' => \$branchcode, >+ 'message-name:s' => \$message_name, >+ 'help|h' => \$help, >+ 'verbose|v+' => \$verbose, >+); >+ >+my $command_line_options = join( " ", @ARGV ); >+ >+if ($doit) { >+ cronlogaction( { action => 'Run', info => $command_line_options } ); >+} else { >+ print "Running in dry-run mode, provide --doit to apply the changes\n"; >+} >+ >+usage() if $help; >+ >+force_borrower_messaging_defaults( >+ $doit, $since, $not_expired, $no_overwrite, $category, $branchcode, $message_name, >+ $verbose >+); >+ >+sub usage { >+ pod2usage( -verbose => 2 ); >+ exit; >+} >+ >+sub force_borrower_messaging_defaults { >+ my ( $doit, $since, $not_expired, $no_overwrite, $category, $branchcode, $message_name, $verbose ) = @_; >+ >+ print "Since: $since\n" if $since; >+ my $update_statement = $doit ? "Updating" : "Would have updated"; >+ >+ my $dbh = C4::Context->dbh; >+ $dbh->{AutoCommit} = 0; >+ >+ my $sql = q|SELECT DISTINCT bo.borrowernumber, bo.categorycode FROM borrowers bo >+LEFT JOIN borrower_message_preferences mp USING (borrowernumber) >+WHERE 1|; >+ >+ if ($since) { >+ $sql .= " AND bo.dateenrolled >= ?"; >+ } >+ if ($not_expired) { >+ $sql .= " AND bo.dateexpiry >= NOW()"; >+ } >+ if ($no_overwrite) { >+ $sql .= " AND mp.borrowernumber IS NULL"; >+ } >+ $sql .= " AND bo.categorycode = ?" if $category; >+ $sql .= " AND bo.branchcode = ?" if $branchcode; >+ my $sth = $dbh->prepare($sql); >+ $sth->execute( $since || (), $category || (), $branchcode || () ); >+ my $cnt = 0; >+ while ( my ( $borrowernumber, $categorycode ) = $sth->fetchrow ) { >+ print "$update_statement borrowernumber: $borrowernumber : category ($categorycode)\n" if $verbose; >+ next unless $doit; >+ my $options = { >+ borrowernumber => $borrowernumber, >+ categorycode => $categorycode, >+ }; >+ $options->{message_name} = $message_name if defined $message_name; >+ C4::Members::Messaging::SetMessagingPreferencesFromDefaults($options); >+ $cnt++; >+ } >+ $dbh->commit(); >+ print "Total borrowers updated: $cnt\n" if $doit; >+} >+ >-- >2.39.5
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 13811
:
36749
|
36750
|
188344
| 188345 |
188346