From 72248e7420d2394538e3f5debdcd723611418c90 Mon Sep 17 00:00:00 2001 From: David Cook Date: Wed, 26 May 2021 01:21:32 +0000 Subject: [PATCH] Bug 28457: Add configuration to cleanup_database.pl for self-registration This patch fixes the --del-unv-selfreg option so that it can actually accept a DAYS parameter. (Note that backwards compatibility is preserved so that not specifying DAYS will still work.) This patch also uses the following self registration system preferences to trigger the cleanup: PatronSelfRegistrationExpireTemporaryAccountsDelay PatronSelfRegistrationVerifyByEmail Note that --del-unv-selfreg will override an instance's system preference. This means that on a package install the cleanup will just work. Test plan: 0. Apply patch 1. perl ./misc/cronjobs/cleanup_database.pl -v You did not specify any cleanup work for the script to do. 2. perl ./misc/cronjobs/cleanup_database.pl -v --del-exp-selfreg Confirm flag not passed, running in dry-run mode... Start lock unsubscribed, anonymize and delete 0 patrons would have been locked 0 patrons would have been anonymized 0 patrons would have been deleted self-registered borrowers may be deleted 3. perl ./misc/cronjobs/cleanup_database.pl -v --del-unv-selfreg Confirm flag not passed, running in dry-run mode... Start lock unsubscribed, anonymize and delete 0 patrons would have been locked 0 patrons would have been anonymized 0 patrons would have been deleted unverified self-registrations may be deleted after 1 days 4. perl ./misc/cronjobs/cleanup_database.pl -v --del-unv-selfreg 3 Confirm flag not passed, running in dry-run mode... Start lock unsubscribed, anonymize and delete 0 patrons would have been locked 0 patrons would have been anonymized 0 patrons would have been deleted unverified self-registrations may be deleted after 3 days 5. Set "PatronSelfRegistrationExpireTemporaryAccountsDelay" to 1 6. Set "PatronSelfRegistrationVerifyByEmail" to "Require" 7. perl ./misc/cronjobs/cleanup_database.pl -v Confirm flag not passed, running in dry-run mode... Start lock unsubscribed, anonymize and delete 0 patrons would have been locked 0 patrons would have been anonymized 0 patrons would have been deleted self-registered borrowers may be deleted unverified self-registrations may be deleted after 1 days 8. perl ./misc/cronjobs/cleanup_database.pl -v --del-unv-selfreg 2 Confirm flag not passed, running in dry-run mode... Start lock unsubscribed, anonymize and delete 0 patrons would have been locked 0 patrons would have been anonymized 0 patrons would have been deleted self-registered borrowers may be deleted unverified self-registrations may be deleted after 2 days --- misc/cronjobs/cleanup_database.pl | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/misc/cronjobs/cleanup_database.pl b/misc/cronjobs/cleanup_database.pl index 6681a0b3bc..ef66424254 100755 --- a/misc/cronjobs/cleanup_database.pl +++ b/misc/cronjobs/cleanup_database.pl @@ -143,7 +143,20 @@ my $pDebarments; my $allDebarments; my $return_claims; my $pExpSelfReg; +if ( + C4::Context->preference('PatronSelfRegistrationExpireTemporaryAccountsDelay') && + C4::Context->preference('PatronSelfRegistrationExpireTemporaryAccountsDelay') > 0 + ){ + $pExpSelfReg = 1; +} my $pUnvSelfReg; +if ( + C4::Context->preference('PatronSelfRegistrationVerifyByEmail') + ){ + #Default to 1 day expiry, which can be overriden by CLI option + #FIXME: Add a system preference for specifying this value + $pUnvSelfReg = 1; +} my $fees_days; my $special_holidays_days; my $temp_uploads; @@ -508,7 +521,7 @@ if( $pUnvSelfReg ) { if ( $confirm ) { DeleteUnverifiedSelfRegs( $pUnvSelfReg ); } elsif ( $verbose ) { - say "unverified self-registrations may be deleted"; + say "unverified self-registrations may be deleted after $pUnvSelfReg days"; } } -- 2.34.1