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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
Fridolin Somers 2019-05-21 11:55:40 +02:00 committed by Martin Renvoize
parent 48e5713e6f
commit 66975364b6
Signed by: martin.renvoize
GPG key ID: 422B469130441A0F

View file

@ -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,