Bugzilla – Attachment 159102 Details for
Bug 26831
Enable librarians to control when unaccepted private list share invites are removed by the cleanup_database.pl cronjob
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 26831: (follow-up) Tidy cleanup_database.pl
Bug-26831-follow-up-Tidy-cleanupdatabasepl.patch (text/plain), 29.74 KB, created by
Kyle M Hall (khall)
on 2023-11-17 17:28:13 UTC
(
hide
)
Description:
Bug 26831: (follow-up) Tidy cleanup_database.pl
Filename:
MIME Type:
Creator:
Kyle M Hall (khall)
Created:
2023-11-17 17:28:13 UTC
Size:
29.74 KB
patch
obsolete
>From e5996c766edda8a01ed5dc064d8796b6e29aaf01 Mon Sep 17 00:00:00 2001 >From: Kyle M Hall <kyle@bywatersolutions.com> >Date: Fri, 17 Nov 2023 12:26:56 -0500 >Subject: [PATCH] Bug 26831: (follow-up) Tidy cleanup_database.pl > >Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> >--- > misc/cronjobs/cleanup_database.pl | 323 +++++++++++++++--------------- > 1 file changed, 167 insertions(+), 156 deletions(-) > >diff --git a/misc/cronjobs/cleanup_database.pl b/misc/cronjobs/cleanup_database.pl >index 73edddc1383..74b5296447a 100755 >--- a/misc/cronjobs/cleanup_database.pl >+++ b/misc/cronjobs/cleanup_database.pl >@@ -172,7 +172,7 @@ my @jobs_types; > my $reports; > my $edifact_msg_days; > >-my $command_line_options = join(" ",@ARGV); >+my $command_line_options = join( " ", @ARGV ); > > GetOptions( > 'h|help' => \$help, >@@ -221,17 +221,17 @@ GetOptions( > ) || usage(1); > > # Use default values >-$sessions = 1 if $sess_days && $sess_days > 0; >-$pImport = DEFAULT_IMPORT_PURGEDAYS if defined($pImport) && $pImport == 0; >-$pLogs = DEFAULT_LOGS_PURGEDAYS if defined($pLogs) && $pLogs == 0; >-$zebraqueue_days = DEFAULT_ZEBRAQ_PURGEDAYS if defined($zebraqueue_days) && $zebraqueue_days == 0; >-$mail = DEFAULT_MAIL_PURGEDAYS if defined($mail) && $mail == 0; >-$pSearchhistory = DEFAULT_SEARCHHISTORY_PURGEDAYS if defined($pSearchhistory) && $pSearchhistory == 0; >-$pDebarments = DEFAULT_DEBARMENTS_PURGEDAYS if defined($pDebarments) && $pDebarments == 0; >-$pMessages = DEFAULT_MESSAGES_PURGEDAYS if defined($pMessages) && $pMessages == 0; >-$jobs_days = DEFAULT_JOBS_PURGEDAYS if defined($jobs_days) && $jobs_days == 0; >-@jobs_types = (DEFAULT_JOBS_PURGETYPES) if $jobs_days && @jobs_types == 0; >-$edifact_msg_days = DEFAULT_EDIFACT_MSG_PURGEDAYS if defined($edifact_msg_days) && $edifact_msg_days == 0; >+$sessions = 1 if $sess_days && $sess_days > 0; >+$pImport = DEFAULT_IMPORT_PURGEDAYS if defined($pImport) && $pImport == 0; >+$pLogs = DEFAULT_LOGS_PURGEDAYS if defined($pLogs) && $pLogs == 0; >+$zebraqueue_days = DEFAULT_ZEBRAQ_PURGEDAYS if defined($zebraqueue_days) && $zebraqueue_days == 0; >+$mail = DEFAULT_MAIL_PURGEDAYS if defined($mail) && $mail == 0; >+$pSearchhistory = DEFAULT_SEARCHHISTORY_PURGEDAYS if defined($pSearchhistory) && $pSearchhistory == 0; >+$pDebarments = DEFAULT_DEBARMENTS_PURGEDAYS if defined($pDebarments) && $pDebarments == 0; >+$pMessages = DEFAULT_MESSAGES_PURGEDAYS if defined($pMessages) && $pMessages == 0; >+$jobs_days = DEFAULT_JOBS_PURGEDAYS if defined($jobs_days) && $jobs_days == 0; >+@jobs_types = (DEFAULT_JOBS_PURGETYPES) if $jobs_days && @jobs_types == 0; >+$edifact_msg_days = DEFAULT_EDIFACT_MSG_PURGEDAYS if defined($edifact_msg_days) && $edifact_msg_days == 0; > > # Choose the number of days at which to purge unaccepted list invites: > # - DAYS defined in the list-invites parameter is prioritised first >@@ -283,20 +283,20 @@ unless ( $sessions > || $return_claims > || $jobs_days > || $reports >- || $edifact_msg_days >-) { >+ || $edifact_msg_days ) >+{ > print "You did not specify any cleanup work for the script to do.\n\n"; > usage(1); > } > >-if ($pDebarments && $allDebarments) { >+if ( $pDebarments && $allDebarments ) { > print "You can not specify both --restrictions and --all-restrictions.\n\n"; > usage(1); > } > > say "Confirm flag not passed, running in dry-run mode..." unless $confirm; > >-cronlogaction({ info => $command_line_options }); >+cronlogaction( { info => $command_line_options } ); > > my $dbh = C4::Context->dbh(); > my $sth; >@@ -310,17 +310,16 @@ if ( $sessions && !$sess_days ) { > my @count_arr = $sth->fetchrow_array; > say $confirm ? "$count_arr[0] entries will be deleted." : "$count_arr[0] entries would be deleted."; > } >- if ( $confirm ) { >+ if ($confirm) { > $sth = $dbh->prepare(q{ TRUNCATE sessions }); > $sth->execute() or die $dbh->errstr; > } > if ($verbose) { > print "Done with session purge.\n"; > } >-} >-elsif ( $sessions && $sess_days > 0 ) { >+} elsif ( $sessions && $sess_days > 0 ) { > print "Session purge triggered with days>$sess_days.\n" if $verbose; >- RemoveOldSessions() if $confirm; >+ RemoveOldSessions() if $confirm; > print "Done with session purge with days>$sess_days.\n" if $verbose; > } > >@@ -337,12 +336,12 @@ if ($zebraqueue_days) { > $sth->execute($zebraqueue_days) or die $dbh->errstr; > $sth2 = $dbh->prepare(q{ DELETE FROM zebraqueue WHERE id=? }); > while ( my $record = $sth->fetchrow_hashref ) { >- if ( $confirm ) { >+ if ($confirm) { > $sth2->execute( $record->{id} ) or die $dbh->errstr; > } > $count++; > } >- if ( $verbose ) { >+ if ($verbose) { > say $confirm ? "$count records were deleted." : "$count records would have been deleted."; > say "Done with zebraqueue purge."; > } >@@ -357,19 +356,21 @@ if ($mail) { > WHERE time_queued < date_sub(curdate(), INTERVAL ? DAY) > } > ); >- if ( $confirm ) { >+ if ($confirm) { > $sth->execute($mail) or die $dbh->errstr; > $count = $sth->rows; > } >- if ( $verbose ) { >- say $confirm ? "$count messages were deleted from the mail queue." : "Message from message_queue would have been deleted"; >+ if ($verbose) { >+ say $confirm >+ ? "$count messages were deleted from the mail queue." >+ : "Message from message_queue would have been deleted"; > say "Done with message_queue purge."; > } > } > > if ($purge_merged) { > print "Purging completed entries from need_merge_authorities.\n" if $verbose; >- if ( $confirm ) { >+ if ($confirm) { > $sth = $dbh->prepare(q{ DELETE FROM need_merge_authorities WHERE done=1 }); > $sth->execute() or die $dbh->errstr; > } >@@ -378,13 +379,13 @@ if ($purge_merged) { > > if ($pImport) { > print "Purging records from import tables.\n" if $verbose; >- PurgeImportTables() if $confirm; >- print "Done with purging import tables.\n" if $verbose; >+ PurgeImportTables() if $confirm; >+ print "Done with purging import tables.\n" if $verbose; > } > > if ($pZ3950) { >- print "Purging Z39.50 records from import tables.\n" if $verbose; >- PurgeZ3950() if $confirm; >+ print "Purging Z39.50 records from import tables.\n" if $verbose; >+ PurgeZ3950() if $confirm; > print "Done with purging Z39.50 records from import tables.\n" if $verbose; > } > >@@ -395,21 +396,21 @@ if ($pLogs) { > WHERE timestamp < date_sub(curdate(), INTERVAL ? DAY) > }; > my @query_params = (); >- if( @preserve_logs ){ >- $log_query .= " AND module NOT IN (" . join(',',('?') x @preserve_logs ) . ")"; >+ if (@preserve_logs) { >+ $log_query .= " AND module NOT IN (" . join( ',', ('?') x @preserve_logs ) . ")"; > push @query_params, @preserve_logs; > } >- if( @log_modules ){ >- $log_query .= " AND module IN (" . join(',',('?') x @log_modules ) . ")"; >+ if (@log_modules) { >+ $log_query .= " AND module IN (" . join( ',', ('?') x @log_modules ) . ")"; > push @query_params, @log_modules; > } >- if( @log_actions ){ >- $log_query .= " AND action IN (" . join(',',('?') x @log_actions ) . ")"; >+ if (@log_actions) { >+ $log_query .= " AND action IN (" . join( ',', ('?') x @log_actions ) . ")"; > push @query_params, @log_actions; > } >- $sth = $dbh->prepare( $log_query ); >- if ( $confirm ) { >- $sth->execute($pLogs, @query_params) or die $dbh->errstr; >+ $sth = $dbh->prepare($log_query); >+ if ($confirm) { >+ $sth->execute( $pLogs, @query_params ) or die $dbh->errstr; > } > print "Done with purging action_logs.\n" if $verbose; > } >@@ -420,23 +421,23 @@ if ($pMessages) { > { timestamp_column_name => 'message_date', days => $pMessages } ); > my $count = $messages->count; > $messages->delete if $confirm; >- if ( $verbose ) { >+ if ($verbose) { > say $confirm >- ? sprintf( "Done with purging %d messages", $count ) >- : sprintf( "%d messages would have been removed", $count ); >+ ? sprintf( "Done with purging %d messages", $count ) >+ : sprintf( "%d messages would have been removed", $count ); > } > } > > if ($fees_days) { >- print "Purging records from accountlines.\n" if $verbose; >- purge_zero_balance_fees( $fees_days ) if $confirm; >+ print "Purging records from accountlines.\n" if $verbose; >+ purge_zero_balance_fees($fees_days) if $confirm; > print "Done purging records from accountlines.\n" if $verbose; > } > > if ($pSearchhistory) { > print "Purging records older than $pSearchhistory from search_history.\n" if $verbose; >- C4::Search::History::delete({ interval => $pSearchhistory }) if $confirm; >- print "Done with purging search_history.\n" if $verbose; >+ C4::Search::History::delete( { interval => $pSearchhistory } ) if $confirm; >+ print "Done with purging search_history.\n" if $verbose; > } > > if ($pListShareInvites) { >@@ -448,7 +449,7 @@ if ($pListShareInvites) { > AND (sharedate + INTERVAL ? DAY) < NOW() > } > ); >- if ( $confirm ) { >+ if ($confirm) { > $sth->execute($pListShareInvites); > } > print "Done with purging unaccepted list share invites.\n" if $verbose; >@@ -456,108 +457,115 @@ if ($pListShareInvites) { > > if ($pDebarments) { > print "Expired patrons restrictions purge triggered for $pDebarments days.\n" if $verbose; >- my $count = PurgeDebarments($pDebarments, $confirm); >- if ( $verbose ) { >+ my $count = PurgeDebarments( $pDebarments, $confirm ); >+ if ($verbose) { > say $confirm ? "$count restrictions were deleted." : "$count restrictions would have been deleted"; > say "Done with restrictions purge."; > } > } > >-if($allDebarments) { >+if ($allDebarments) { > print "All expired patrons restrictions purge triggered.\n" if $verbose; >- my $count = PurgeDebarments(0, $confirm); >- if ( $verbose ) { >+ my $count = PurgeDebarments( 0, $confirm ); >+ if ($verbose) { > say $confirm ? "$count restrictions were deleted." : "$count restrictions would have been deleted"; > say "Done with all restrictions purge."; > } > } > > # Lock expired patrons? >-if( defined $lock_days && $lock_days ne q{} ) { >+if ( defined $lock_days && $lock_days ne q{} ) { > say "Start locking expired patrons" if $verbose; >- my $expired_patrons = Koha::Patrons->filter_by_expiration_date({ days => $lock_days })->search({ login_attempts => { '!=' => -1 } }); >+ my $expired_patrons = Koha::Patrons->filter_by_expiration_date( { days => $lock_days } ) >+ ->search( { login_attempts => { '!=' => -1 } } ); > my $count = $expired_patrons->count; >- $expired_patrons->lock({ remove => 1 }) if $confirm; >- if( $verbose ) { >- say $confirm ? sprintf("Locked %d patrons", $count) : sprintf("Found %d patrons", $count); >+ $expired_patrons->lock( { remove => 1 } ) if $confirm; >+ if ($verbose) { >+ say $confirm ? sprintf( "Locked %d patrons", $count ) : sprintf( "Found %d patrons", $count ); > } > } > > # Handle unsubscribe requests from GDPR consent form, depends on UnsubscribeReflectionDelay preference > say "Start lock unsubscribed, anonymize and delete" if $verbose; > my $unsubscribed_patrons = Koha::Patrons->search_unsubscribed; >-my $count = $unsubscribed_patrons->count; >+my $count = $unsubscribed_patrons->count; > $unsubscribed_patrons->lock( { expire => 1, remove => 1 } ) if $confirm; >-say $confirm ? sprintf("Locked %d patrons", $count) : sprintf("%d patrons would have been locked", $count) if $verbose; >+say $confirm ? sprintf( "Locked %d patrons", $count ) : sprintf( "%d patrons would have been locked", $count ) >+ if $verbose; > > # Anonymize patron data, depending on PatronAnonymizeDelay > my $anonymize_candidates = Koha::Patrons->search_anonymize_candidates( { locked => 1 } ); > $count = $anonymize_candidates->count; > $anonymize_candidates->anonymize if $confirm; >-say $confirm ? sprintf("Anonymized %d patrons", $count) : sprintf("%d patrons would have been anonymized", $count) if $verbose; >+say $confirm ? sprintf( "Anonymized %d patrons", $count ) : sprintf( "%d patrons would have been anonymized", $count ) >+ if $verbose; > > # Remove patron data, depending on PatronRemovalDelay (will raise an exception if problem encountered > my $anonymized_patrons = Koha::Patrons->search_anonymized; > $count = $anonymized_patrons->count; >-if ( $confirm ) { >+if ($confirm) { > $anonymized_patrons->delete( { move => 1 } ); > if ($@) { > warn $@; > } > } > if ($verbose) { >- say $confirm ? sprintf("Deleted %d patrons", $count) : sprintf("%d patrons would have been deleted", $count); >+ say $confirm ? sprintf( "Deleted %d patrons", $count ) : sprintf( "%d patrons would have been deleted", $count ); > } > > # FIXME The output for dry-run mode needs to be improved > # But non trivial changes to C4::Members need to be done before. >-if( $pExpSelfReg ) { >- if ( $confirm ) { >+if ($pExpSelfReg) { >+ if ($confirm) { > DeleteExpiredSelfRegs(); >- } elsif ( $verbose ) { >+ } elsif ($verbose) { > say "self-registered borrowers may be deleted"; > } > } >-if( $pUnvSelfReg ) { >- if ( $confirm ) { >- DeleteUnverifiedSelfRegs( $pUnvSelfReg ); >- } elsif ( $verbose ) { >+if ($pUnvSelfReg) { >+ if ($confirm) { >+ DeleteUnverifiedSelfRegs($pUnvSelfReg); >+ } elsif ($verbose) { > say "unverified self-registrations may be deleted"; > } > } > > if ($special_holidays_days) { >- if ( $confirm ) { >+ if ($confirm) { > DeleteSpecialHolidays( abs($special_holidays_days) ); >- } elsif ( $verbose ) { >+ } elsif ($verbose) { > say "self-registered borrowers may be deleted"; > } > } > >-if( $temp_uploads ) { >+if ($temp_uploads) { >+ > # Delete temporary uploads, governed by a pref (unless you override) > print "Purging temporary uploads.\n" if $verbose; >- if ( $confirm ) { >- Koha::UploadedFiles->delete_temporary({ >- defined($temp_uploads_days) >+ if ($confirm) { >+ Koha::UploadedFiles->delete_temporary( >+ { >+ defined($temp_uploads_days) > ? ( override_pref => $temp_uploads_days ) > : () >- }); >+ } >+ ); > } > print "Done purging temporary uploads.\n" if $verbose; > } > >-if( defined $uploads_missing ) { >+if ( defined $uploads_missing ) { > print "Looking for missing uploads\n" if $verbose; >- if ( $confirm ) { >- my $keep = $uploads_missing == 1 ? 0 : 1; >- my $count = Koha::UploadedFiles->delete_missing({ keep_record => $keep }); >- if( $keep ) { >+ if ($confirm) { >+ my $keep = $uploads_missing == 1 ? 0 : 1; >+ my $count = Koha::UploadedFiles->delete_missing( { keep_record => $keep } ); >+ if ($keep) { > print "Counted $count missing uploaded files\n"; > } else { > print "Removed $count records for missing uploads\n"; > } > } else { >+ > # FIXME need to create a filter_by_missing method (then call ->delete) instead of delete_missing > say "Dry-run mode cannot guess how many uploads would have been deleted"; > } >@@ -566,36 +574,36 @@ if( defined $uploads_missing ) { > if ($oauth_tokens) { > require Koha::OAuthAccessTokens; > >- my $tokens = Koha::OAuthAccessTokens->search({ expires => { '<=', time } }); >- my $count = $tokens->count; >+ my $tokens = Koha::OAuthAccessTokens->search( { expires => { '<=', time } } ); >+ my $count = $tokens->count; > $tokens->delete if $confirm; >- if ( $verbose ) { >+ if ($verbose) { > say $confirm >- ? sprintf( "Removed %d expired OAuth2 tokens", $count ) >- : sprintf( "%d expired OAuth tokens would have been removed", $count ); >+ ? sprintf( "Removed %d expired OAuth2 tokens", $count ) >+ : sprintf( "%d expired OAuth tokens would have been removed", $count ); > } > } > > if ($pStatistics) { > print "Purging statistics older than $pStatistics days.\n" if $verbose; >- my $statistics = Koha::Statistics->filter_by_last_update( >- { timestamp_column_name => 'datetime', days => $pStatistics } ); >+ my $statistics = >+ Koha::Statistics->filter_by_last_update( { timestamp_column_name => 'datetime', days => $pStatistics } ); > my $count = $statistics->count; > $statistics->delete if $confirm; >- if ( $verbose ) { >+ if ($verbose) { > say $confirm >- ? sprintf( "Done with purging %d statistics", $count ) >- : sprintf( "%d statistics would have been removed", $count ); >+ ? sprintf( "Done with purging %d statistics", $count ) >+ : sprintf( "%d statistics would have been removed", $count ); > } > } > >-if( $return_claims && ( my $days = C4::Context->preference('CleanUpDatabaseReturnClaims') )) { >+if ( $return_claims && ( my $days = C4::Context->preference('CleanUpDatabaseReturnClaims') ) ) { > print "Purging return claims older than $days days.\n" if $verbose; > > $return_claims = Koha::Checkouts::ReturnClaims->filter_by_last_update( > { > timestamp_column_name => 'resolved_on', >- days => $days, >+ days => $days, > } > ); > >@@ -611,12 +619,11 @@ if( $return_claims && ( my $days = C4::Context->preference('CleanUpDatabaseRetur > > if ($pDeletedCatalog) { > print "Purging deleted catalog older than $pDeletedCatalog days.\n" >- if $verbose; >- my $old_items = Koha::Old::Items->filter_by_last_update( { days => $pDeletedCatalog } ); >+ if $verbose; >+ my $old_items = Koha::Old::Items->filter_by_last_update( { days => $pDeletedCatalog } ); > my $old_biblioitems = Koha::Old::Biblioitems->filter_by_last_update( { days => $pDeletedCatalog } ); >- my $old_biblios = Koha::Old::Biblios->filter_by_last_update( { days => $pDeletedCatalog } ); >- my ( $c_i, $c_bi, $c_b ) = >- ( $old_items->count, $old_biblioitems->count, $old_biblios->count ); >+ my $old_biblios = Koha::Old::Biblios->filter_by_last_update( { days => $pDeletedCatalog } ); >+ my ( $c_i, $c_bi, $c_b ) = ( $old_items->count, $old_biblioitems->count, $old_biblios->count ); > if ($confirm) { > $old_items->delete; > $old_biblioitems->delete; >@@ -627,7 +634,8 @@ if ($pDeletedCatalog) { > $confirm > ? "Done with purging deleted catalog (%d items, %d biblioitems, %d biblios)." > : "Deleted catalog would have been removed (%d items, %d biblioitems, %d biblios).", >- $c_i, $c_bi, $c_b); >+ $c_i, $c_bi, $c_b >+ ); > } > } > >@@ -639,32 +647,32 @@ if ($pDeletedPatrons) { > $old_patrons->delete if $confirm; > if ($verbose) { > say $confirm >- ? sprintf "Done with purging %d deleted patrons.", $count >- : sprintf "%d deleted patrons would have been purged.", $count; >+ ? sprintf "Done with purging %d deleted patrons.", $count >+ : sprintf "%d deleted patrons would have been purged.", $count; > } > } > > if ($pOldIssues) { > print "Purging old checkouts older than $pOldIssues days.\n" if $verbose; > my $old_checkouts = Koha::Old::Checkouts->filter_by_last_update( { days => $pOldIssues } ); >- my $count = $old_checkouts->count; >+ my $count = $old_checkouts->count; > $old_checkouts->delete if $confirm; > if ($verbose) { > say $confirm >- ? sprintf "Done with purging %d old checkouts.", $count >- : sprintf "%d old checkouts would have been purged.", $count; >+ ? sprintf "Done with purging %d old checkouts.", $count >+ : sprintf "%d old checkouts would have been purged.", $count; > } > } > > if ($pOldReserves) { > print "Purging old reserves older than $pOldReserves days.\n" if $verbose; > my $old_reserves = Koha::Old::Holds->filter_by_last_update( { days => $pOldReserves } ); >- my $count = $old_reserves->count; >+ my $count = $old_reserves->count; > $old_reserves->delete if $confirm; > if ($verbose) { > say $confirm >- ? sprintf "Done with purging %d old reserves.", $count >- : sprintf "%d old reserves would have been purged.", $count; >+ ? sprintf "Done with purging %d old reserves.", $count >+ : sprintf "%d old reserves would have been purged.", $count; > } > } > >@@ -673,19 +681,19 @@ if ($pTransfers) { > my $transfers = Koha::Item::Transfers->filter_by_last_update( > { > timestamp_column_name => 'datearrived', >- days => $pTransfers, >+ days => $pTransfers, > } > ); > my $count = $transfers->count; > $transfers->delete if $confirm; > if ($verbose) { > say $confirm >- ? sprintf "Done with purging %d transfers.", $count >- : sprintf "%d transfers would have been purged.", $count; >+ ? sprintf "Done with purging %d transfers.", $count >+ : sprintf "%d transfers would have been purged.", $count; > } > } > >-if (defined $pPseudoTransactions or $pPseudoTransactionsFrom or $pPseudoTransactionsTo ) { >+if ( defined $pPseudoTransactions or $pPseudoTransactionsFrom or $pPseudoTransactionsTo ) { > print "Purging pseudonymized transactions\n" if $verbose; > if ($pPseudoTransactionsTo) { > $pPseudoTransactionsTo = dt_from_string($pPseudoTransactionsTo); >@@ -696,43 +704,44 @@ if (defined $pPseudoTransactions or $pPseudoTransactionsFrom or $pPseudoTransact > my $anonymized_transactions = Koha::PseudonymizedTransactions->filter_by_last_update( > { > timestamp_column_name => 'datetime', >- ( defined $pPseudoTransactions ? ( days => $pPseudoTransactions ) : () ), >- ( $pPseudoTransactionsFrom ? ( from => $pPseudoTransactionsFrom ) : () ), >- ( $pPseudoTransactionsTo ? ( to => $pPseudoTransactionsTo ) : () ), >+ ( defined $pPseudoTransactions ? ( days => $pPseudoTransactions ) : () ), >+ ( $pPseudoTransactionsFrom ? ( from => $pPseudoTransactionsFrom ) : () ), >+ ( $pPseudoTransactionsTo ? ( to => $pPseudoTransactionsTo ) : () ), > } > ); > my $count = $anonymized_transactions->count; > $anonymized_transactions->delete if $confirm; > if ($verbose) { > say $confirm >- ? sprintf "Done with purging %d pseudonymized transactions.", $count >- : sprintf "%d pseudonymized transactions would have been purged.", $count; >+ ? sprintf "Done with purging %d pseudonymized transactions.", $count >+ : sprintf "%d pseudonymized transactions would have been purged.", $count; > } > } > > if ($labels) { > print "Purging item label batches last added to more than $labels days ago.\n" if $verbose; >- my $count = PurgeCreatorBatches($labels, 'labels', $confirm); >+ my $count = PurgeCreatorBatches( $labels, 'labels', $confirm ); > if ($verbose) { > say $confirm >- ? sprintf "Done with purging %d item label batches last added to more than %d days ago.\n", $count, $labels >- : sprintf "%d item label batches would have been purged.", $count; >+ ? sprintf "Done with purging %d item label batches last added to more than %d days ago.\n", $count, $labels >+ : sprintf "%d item label batches would have been purged.", $count; > } > } > > if ($cards) { > print "Purging card creator batches last added to more than $cards days ago.\n" if $verbose; >- my $count = PurgeCreatorBatches($labels, 'patroncards', $confirm); >+ my $count = PurgeCreatorBatches( $labels, 'patroncards', $confirm ); > if ($verbose) { > say $confirm >- ? sprintf "Done with purging %d card creator batches last added to more than %d days ago.\n", $count, $labels >- : sprintf "%d card creator batches would have been purged.", $count; >+ ? sprintf "Done with purging %d card creator batches last added to more than %d days ago.\n", $count, >+ $labels >+ : sprintf "%d card creator batches would have been purged.", $count; > } > } > > if ($jobs_days) { > print "Purging background jobs more than $jobs_days days ago.\n" >- if $verbose; >+ if $verbose; > my $jobs = Koha::BackgroundJobs->search( > { > status => 'finished', >@@ -741,39 +750,40 @@ if ($jobs_days) { > )->filter_by_last_update( > { > timestamp_column_name => 'ended_on', >- days => $jobs_days, >+ days => $jobs_days, > } > ); > my $count = $jobs->count; > $jobs->delete if $confirm; > if ($verbose) { > say $confirm >- ? sprintf "Done with purging %d background jobs of type(s): %s added more than %d days ago.\n", >- $count, join( ',', @jobs_types ), $jobs_days >- : sprintf "%d background jobs of type(s): %s added more than %d days ago would have been purged.", >- $count, join( ',', @jobs_types ), $jobs_days; >+ ? sprintf "Done with purging %d background jobs of type(s): %s added more than %d days ago.\n", >+ $count, join( ',', @jobs_types ), $jobs_days >+ : sprintf "%d background jobs of type(s): %s added more than %d days ago would have been purged.", >+ $count, join( ',', @jobs_types ), $jobs_days; > } > } > > if ($reports) { >- if ( $confirm ) { >+ if ($confirm) { > PurgeSavedReports($reports); >- } if ( $verbose ) { >+ } >+ if ($verbose) { > say "Purging reports data saved more than $reports days ago.\n"; > } > } > >-if($edifact_msg_days) { >+if ($edifact_msg_days) { > print "Purging EDIFACT messages older than $edifact_msg_days days.\n" if $verbose; >- my $count = PurgeEdifactMessages($edifact_msg_days, $confirm); >- if ( $verbose ) { >+ my $count = PurgeEdifactMessages( $edifact_msg_days, $confirm ); >+ if ($verbose) { > say $confirm >- ? sprintf( "Done with purging %d EDIFACT messages", $count ) >- : sprintf( "%d EDIFACT messages would have been removed", $count ); >+ ? sprintf( "Done with purging %d EDIFACT messages", $count ) >+ : sprintf( "%d EDIFACT messages would have been removed", $count ); > } > } > >-cronlogaction({ action => 'End', info => "COMPLETED" }); >+cronlogaction( { action => 'End', info => "COMPLETED" } ); > > exit(0); > >@@ -784,15 +794,14 @@ sub RemoveOldSessions { > $sth = $dbh->prepare(q{ SELECT id, a_session FROM sessions }); > $sth->execute or die $dbh->errstr; > $sth->bind_columns( \$id, \$a_session ); >- $sth2 = $dbh->prepare(q{ DELETE FROM sessions WHERE id=? }); >+ $sth2 = $dbh->prepare(q{ DELETE FROM sessions WHERE id=? }); > my $count = 0; > > while ( $sth->fetch ) { > $lasttime = 0; > if ( $a_session =~ /lasttime:\s+'?(\d+)/ ) { > $lasttime = $1; >- } >- elsif ( $a_session =~ /(ATIME|CTIME):\s+'?(\d+)/ ) { >+ } elsif ( $a_session =~ /(ATIME|CTIME):\s+'?(\d+)/ ) { > $lasttime = $2; > } > if ( $lasttime && $lasttime < $limit ) { >@@ -848,7 +857,7 @@ sub PurgeDebarments { > require Koha::Patron::Debarments; > my ( $days, $doit ) = @_; > my $count = 0; >- $sth = $dbh->prepare( >+ $sth = $dbh->prepare( > q{ > SELECT borrower_debarment_id > FROM borrower_debarments >@@ -891,47 +900,49 @@ sub PurgeCreatorBatches { > } > > sub DeleteExpiredSelfRegs { >- my $cnt= C4::Members::DeleteExpiredOpacRegistrations(); >+ my $cnt = C4::Members::DeleteExpiredOpacRegistrations(); > print "Removed $cnt expired self-registered borrowers\n" if $verbose; > } > > sub DeleteUnverifiedSelfRegs { >- my $cnt= C4::Members::DeleteUnverifiedOpacRegistrations( $_[0] ); >+ my $cnt = C4::Members::DeleteUnverifiedOpacRegistrations( $_[0] ); > print "Removed $cnt unverified self-registrations\n" if $verbose; > } > > sub DeleteSpecialHolidays { >- my ( $days ) = @_; >+ my ($days) = @_; > >- my $sth = $dbh->prepare(q{ >+ my $sth = $dbh->prepare( >+ q{ > DELETE FROM special_holidays > WHERE DATE( CONCAT( year, '-', month, '-', day ) ) < DATE_SUB( CAST(NOW() AS DATE), INTERVAL ? DAY ); >- }); >- my $count = $sth->execute( $days ) + 0; >+ } >+ ); >+ my $count = $sth->execute($days) + 0; > print "Removed $count unique holidays\n" if $verbose; > } > > sub PurgeSavedReports { >- my ( $reports ) = @_; >+ my ($reports) = @_; > >- my $sth = $dbh->prepare(q{ >+ my $sth = $dbh->prepare( >+ q{ > DELETE FROM saved_reports > WHERE date(date_run) < DATE_SUB(CURDATE(),INTERVAL ? DAY ); >- }); >- $sth->execute( $reports ); >+ } >+ ); >+ $sth->execute($reports); > } > > sub PurgeEdifactMessages { > my ( $days, $doit ) = @_; > >- my $schema = Koha::Database->new()->schema(); >- my $dtf = $schema->storage->datetime_parser; >+ my $schema = Koha::Database->new()->schema(); >+ my $dtf = $schema->storage->datetime_parser; > my $resultset = $schema->resultset('EdifactMessage')->search( > { >- transfer_date => { >- '<' => $dtf->format_datetime(dt_from_string->subtract( days => $days )) >- }, >- status => { '!=' => 'new' }, >+ transfer_date => { '<' => $dtf->format_datetime( dt_from_string->subtract( days => $days ) ) }, >+ status => { '!=' => 'new' }, > } > ); > my $count = $resultset->count; >-- >2.30.2
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 26831
:
112634
|
140747
|
140748
|
140749
|
140750
|
140751
|
140752
|
157684
|
157685
|
157686
|
157711
|
157712
|
157713
|
157714
|
159097
|
159098
|
159099
|
159100
|
159101
| 159102