From bbcfbb61b900ea95addfa25d186c7e7ffc05f761 Mon Sep 17 00:00:00 2001 From: Fridolin Somers Date: Tue, 21 May 2019 11:55:40 +0200 Subject: [PATCH] Bug 22944: avoid AnonymousPatron in search_patrons_to_anonymise In Koha::Patrons::search_patrons_to_anonymise() old issues already affected to the anonymous patron should be avoided. It is useless and can impact performance. It is already working if AnymousPatron is not defined or 0 because of : 'old_issues.borrowernumber' => { 'not' => undef } In theory the anymous patron should have privacy=0 but in case its not it should be explicitly avoided. Test plan : Run t/db_dependent/Koha/Patrons.t --- Koha/Patrons.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Koha/Patrons.pm b/Koha/Patrons.pm index 7510093185..c113c2c465 100644 --- a/Koha/Patrons.pm +++ b/Koha/Patrons.pm @@ -154,6 +154,7 @@ sub search_patrons_to_anonymise { ( C4::Context->preference('IndependentBranches') && C4::Context->userenv && !C4::Context->IsSuperLibrarian() && C4::Context->userenv->{branch} ) ? C4::Context->userenv->{branch} : undef; + my $anonymous_patron = C4::Context->preference('AnonymousPatron') || undef; my $dtf = Koha::Database->new->schema->storage->datetime_parser; my $rs = $class->_resultset->search( @@ -161,6 +162,7 @@ sub search_patrons_to_anonymise { 'old_issues.borrowernumber' => { 'not' => undef }, privacy => { '<>' => 0 }, # Keep forever ( $library ? ( 'old_issues.branchcode' => $library ) : () ), + ( $anonymous_patron ? ( 'old_issues.borrowernumber' => { '!=' => $anonymous_patron } ) : () ), }, { join => ["old_issues"], distinct => 1, -- 2.17.1