Bug 25429: Cleanup Database - remove resolved claims returned from db after X days
Add option to cleanup_database script to removed 'resolved' return claims from the database after a specified number of days. Test Plan: 1) Apply this patch 2) Set the new syspref CleanUpDatabaseReturnClaims to a number of days 3) Run cleanup_database.pl 4) Note resolved claims older than the specified number of days are removed from the database Bug 25429: Implement system preference, remove command line switch Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com> Signed-off-by: Rebecca Coert <rcoert@arlingtonva.us> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
parent
478ffeae60
commit
e18cfe0731
4 changed files with 30 additions and 1 deletions
9
installer/data/mysql/atomicupdate/bug_25429.perl
Normal file
9
installer/data/mysql/atomicupdate/bug_25429.perl
Normal file
|
@ -0,0 +1,9 @@
|
|||
$DBversion = 'XXX'; # will be replaced by the RM
|
||||
if( CheckVersion( $DBversion ) ) {
|
||||
$dbh->do(q{
|
||||
INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES
|
||||
('CleanUpDatabaseReturnClaims', '', '', 'Sets the age of resolved return claims to delete from the database for cleanup_database.pl', 'Integer' );
|
||||
});
|
||||
|
||||
NewVersion( $DBversion, 25429, "Cleanup Database - remove resolved claims returned from db after X days");
|
||||
}
|
|
@ -139,6 +139,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `
|
|||
('ClaimReturnedChargeFee', 'ask', 'ask|charge|no_charge', 'Controls whether or not a lost item fee is charged for return claims', 'Choice'),
|
||||
('ClaimReturnedLostValue', '', '', 'Sets the LOST AV value that represents "Claims returned" as a lost value', 'Free'),
|
||||
('ClaimReturnedWarningThreshold', '', '', 'Sets the number of return claims past which the librarian will be warned the patron has many return claims', 'Integer'),
|
||||
('CleanUpDatabaseReturnClaims', '', '', 'Sets the age of resolved return claims to delete from the database for cleanup_database.pl', 'Integer' ),
|
||||
('CoceHost', '', NULL, 'Coce server URL', 'Free'),
|
||||
('CoceProviders', '', 'aws,gb,ol', 'Coce providers', 'multiple'),
|
||||
('COinSinOPACResults','1','','If ON, use COinS in OPAC search results page. NOTE: this can slow down search response time significantly','YesNo'),
|
||||
|
|
|
@ -1265,3 +1265,9 @@ Circulation:
|
|||
- pref: ClaimReturnedWarningThreshold
|
||||
class: integer
|
||||
- items.
|
||||
-
|
||||
- Remove resolved return claims older than
|
||||
- pref: CleanUpDatabaseReturnClaims
|
||||
class: integer
|
||||
- days.
|
||||
- <span class="hint">This system preference is used by the cleanup_database.pl cronjob.</span>
|
||||
|
|
|
@ -88,7 +88,7 @@ Usage: $0 [-h|--help] [--confirm] [--sessions] [--sessdays DAYS] [-v|--verbose]
|
|||
days. Defaults to 14 days if no days specified.
|
||||
--restrictions DAYS purge patrons restrictions expired since more than DAYS days.
|
||||
Defaults to 30 days if no days specified.
|
||||
--all-restrictions purge all expired patrons restrictions.
|
||||
--all-restrictions purge all expired patrons restrictions.
|
||||
--del-exp-selfreg Delete expired self registration accounts
|
||||
--del-unv-selfreg DAYS Delete unverified self registrations older than DAYS
|
||||
--unique-holidays DAYS Delete all unique holidays older than DAYS
|
||||
|
@ -129,6 +129,7 @@ my $pZ3950;
|
|||
my $pListShareInvites;
|
||||
my $pDebarments;
|
||||
my $allDebarments;
|
||||
my $return_claims = C4::Context->preference('CleanUpDatabaseReturnClaims');
|
||||
my $pExpSelfReg;
|
||||
my $pUnvSelfReg;
|
||||
my $fees_days;
|
||||
|
@ -526,6 +527,18 @@ if ($pStatistics) {
|
|||
}
|
||||
}
|
||||
|
||||
if ($return_claims) {
|
||||
print "Purging return claims older than $return_claims days.\n" if $verbose;
|
||||
$sth = $dbh->prepare(
|
||||
q{
|
||||
DELETE FROM return_claims
|
||||
WHERE resolved_on < DATE_SUB(CURDATE(), INTERVAL ? DAY)
|
||||
}
|
||||
);
|
||||
$sth->execute($return_claims);
|
||||
print "Done with purging return claims.\n" if $verbose;
|
||||
}
|
||||
|
||||
if ($pDeletedCatalog) {
|
||||
print "Purging deleted catalog older than $pDeletedCatalog days.\n"
|
||||
if $verbose;
|
||||
|
|
Loading…
Reference in a new issue