=head3 delete
- Koha::Patrons->search({ some filters here })->delete({ move => 1, verbose => 1 });
+ Koha::Patrons->search({ some filters here })->delete({ move => 1 });
Delete passed set of patron objects.
Wrapper for Koha::Patron->delete. (We do not want to bypass Koha::Patron
$patrons_deleted++;
}
- warn "Deleted $count patrons\n" if $params->{verbose};
}, $self, $params );
return $patrons_deleted;
}
=head3 lock
- Koha::Patrons->search({ some filters })->lock({ expire => 1, remove => 1, verbose => 1 })
+ Koha::Patrons->search({ some filters })->lock({ expire => 1, remove => 1 })
Lock the passed set of patron objects. Optionally expire and remove holds.
- Optional verbose flag is used in cron job.
Wrapper around Koha::Patron->lock.
=cut
while( my $patron = $self->next ) {
$patron->lock($params);
}
- if( $params->{verbose} ) {
- warn "Locked $count patrons\n";
- }
}
=head3 anonymize
- Koha::Patrons->search({ some filters })->anonymize({ verbose => 1 });
+ Koha::Patrons->search({ some filters })->anonymize();
Anonymize passed set of patron objects.
- Optional verbose flag is used in cron job.
Wrapper around Koha::Patron->anonymize.
=cut
sub anonymize {
- my ( $self, $params ) = @_;
+ my ( $self ) = @_;
my $count = $self->count;
while( my $patron = $self->next ) {
$patron->anonymize;
}
- if( $params->{verbose} ) {
- warn "Anonymized $count patrons\n";
- }
}
=head3 search_patrons_to_update_category
}
# Handle unsubscribe requests from GDPR consent form, depends on UnsubscribeReflectionDelay preference
-Koha::Patrons->search_unsubscribed->lock({ expire => 1, remove => 1, verbose => $verbose });
+my $unsubscribed_patrons = Koha::Patrons->search_unsubscribed;
+$unsubscribed_patrons->lock( { expire => 1, remove => 1 } );
+say sprintf "Locked %d patrons", $unsubscribed_patrons->count if $verbose;
+
# Anonymize patron data, depending on PatronAnonymizeDelay
-Koha::Patrons->search_anonymize_candidates({ locked => 1 })->anonymize({ verbose => $verbose });
+my $anonymize_candidates = Koha::Patrons->search_anonymize_candidates( { locked => 1 } );
+$anonymize_candidates->anonymize;
+say sprintf "Anonymized %s patrons", $anonymize_candidates->count if $verbose;
+
# Remove patron data, depending on PatronRemovalDelay (will raise an exception if problem encountered
-eval { Koha::Patrons->search_anonymized->delete({ move => 1, verbose => $verbose }) };
-warn $@ if $@;
+my $anonymized_patrons = Koha::Patrons->search_anonymized;
+$anonymized_patrons->delete( { move => 1 } );
+if ($@) {
+ warn $@;
+}
+elsif ($verbose) {
+ say sprintf "Deleted %d patrons", $anonymized_patrons->count;
+}
if( $pExpSelfReg ) {
DeleteExpiredSelfRegs();