Bug 29984: Remove unused method Koha::Patrons->anonymise_issue_history
The method is no longer used, and replaced by Koha::Old::Checkouts->anonymize. To test: 1. Apply this patch 2. Run: $ kshell k$ prove t/db_dependent/Koha/Patrons.t => SUCCESS: Tests still pass 3. Run: $ git grep anonymise_issue_history => SUCCESS: The code doesn't mention it 4. Sign off :-D Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
parent
9e2432bc63
commit
4eec446302
2 changed files with 39 additions and 44 deletions
|
@ -158,45 +158,6 @@ sub search_patrons_to_anonymise {
|
|||
return Koha::Patrons->_new_from_dbic($rs);
|
||||
}
|
||||
|
||||
=head3 anonymise_issue_history
|
||||
|
||||
Koha::Patrons->search->anonymise_issue_history( { [ before => $older_than_date ] } );
|
||||
|
||||
Anonymise issue history (old_issues) for all patrons older than the given date (optional).
|
||||
To make sure all the conditions are met, the caller has the responsibility to
|
||||
call search_patrons_to_anonymise to filter the Koha::Patrons set
|
||||
|
||||
=cut
|
||||
|
||||
sub anonymise_issue_history {
|
||||
my ( $self, $params ) = @_;
|
||||
|
||||
my $older_than_date = $params->{before};
|
||||
|
||||
$older_than_date = dt_from_string $older_than_date if $older_than_date;
|
||||
|
||||
# The default of 0 does not work due to foreign key constraints
|
||||
# The anonymisation should not fail quietly if AnonymousPatron is not a valid entry
|
||||
# Set it to undef (NULL)
|
||||
my $dtf = Koha::Database->new->schema->storage->datetime_parser;
|
||||
my $nb_rows = 0;
|
||||
while ( my $patron = $self->next ) {
|
||||
my $old_issues_to_anonymise = $patron->old_checkouts->search(
|
||||
{
|
||||
(
|
||||
$older_than_date
|
||||
? ( returndate =>
|
||||
{ '<' => $dtf->format_datetime($older_than_date) } )
|
||||
: ()
|
||||
)
|
||||
}
|
||||
);
|
||||
my $anonymous_patron = C4::Context->preference('AnonymousPatron') || undef;
|
||||
$nb_rows += $old_issues_to_anonymise->update( { 'old_issues.borrowernumber' => $anonymous_patron } );
|
||||
}
|
||||
return $nb_rows;
|
||||
}
|
||||
|
||||
=head3 delete
|
||||
|
||||
Koha::Patrons->search({ some filters here })->delete({ move => 1 });
|
||||
|
|
|
@ -1018,7 +1018,8 @@ subtest 'notice_email_address' => sub {
|
|||
$patron->delete;
|
||||
};
|
||||
|
||||
subtest 'search_patrons_to_anonymise & anonymise_issue_history' => sub {
|
||||
subtest 'search_patrons_to_anonymise' => sub {
|
||||
|
||||
plan tests => 5;
|
||||
|
||||
# TODO create a subroutine in t::lib::Mocks
|
||||
|
@ -1079,7 +1080,16 @@ subtest 'search_patrons_to_anonymise & anonymise_issue_history' => sub {
|
|||
my $patrons_to_anonymise = Koha::Patrons->search_patrons_to_anonymise( { before => '2010-10-11' } )->search( { 'me.borrowernumber' => $patron->{borrowernumber} } );
|
||||
is( ref($patrons_to_anonymise), 'Koha::Patrons', 'search_patrons_to_anonymise should return Koha::Patrons' );
|
||||
|
||||
my $rows_affected = Koha::Patrons->search_patrons_to_anonymise( { before => '2011-11-12' } )->anonymise_issue_history( { before => '2010-10-11' } );
|
||||
my $rows_affected = Koha::Old::Checkouts->search(
|
||||
{
|
||||
borrowernumber => [
|
||||
Koha::Patrons->search_patrons_to_anonymise(
|
||||
{ before => '2011-11-12' }
|
||||
)->get_column('borrowernumber')
|
||||
],
|
||||
returndate => { '<' => '2011-10-11', }
|
||||
}
|
||||
)->anonymize;
|
||||
ok( $rows_affected > 0, 'AnonymiseIssueHistory should affect at least 1 row' );
|
||||
|
||||
$patrons_to_anonymise = Koha::Patrons->search_patrons_to_anonymise( { before => '2010-10-11' } );
|
||||
|
@ -1094,7 +1104,16 @@ subtest 'search_patrons_to_anonymise & anonymise_issue_history' => sub {
|
|||
($borrowernumber_used_to_anonymised) = $sth->fetchrow_array;
|
||||
is( $borrowernumber_used_to_anonymised, $patron->{borrowernumber}, 'The issue should not have been anonymised, the returned date is later' );
|
||||
|
||||
$rows_affected = Koha::Patrons->search_patrons_to_anonymise( { before => '2011-11-12' } )->anonymise_issue_history;
|
||||
$rows_affected = Koha::Old::Checkouts->search(
|
||||
{
|
||||
borrowernumber => [
|
||||
Koha::Patrons->search_patrons_to_anonymise(
|
||||
{ before => '2011-11-12' }
|
||||
)->get_column('borrowernumber')
|
||||
],
|
||||
returndate => { '<' => '2011-11-12', }
|
||||
}
|
||||
)->anonymize;
|
||||
$sth->execute($item_2->itemnumber);
|
||||
($borrowernumber_used_to_anonymised) = $sth->fetchrow_array;
|
||||
is( $borrowernumber_used_to_anonymised, $anonymous->{borrowernumber}, 'The issue should have been anonymised, the returned date is before' );
|
||||
|
@ -1102,7 +1121,14 @@ subtest 'search_patrons_to_anonymise & anonymise_issue_history' => sub {
|
|||
my $sth_reset = $dbh->prepare(q|UPDATE old_issues SET borrowernumber = ? WHERE itemnumber = ?|);
|
||||
$sth_reset->execute( $patron->{borrowernumber}, $item_1->itemnumber );
|
||||
$sth_reset->execute( $patron->{borrowernumber}, $item_2->itemnumber );
|
||||
$rows_affected = Koha::Patrons->search_patrons_to_anonymise->anonymise_issue_history;
|
||||
$rows_affected = Koha::Old::Checkouts->search(
|
||||
{
|
||||
borrowernumber => [
|
||||
Koha::Patrons->search_patrons_to_anonymise->get_column(
|
||||
'borrowernumber')
|
||||
]
|
||||
}
|
||||
)->anonymize;
|
||||
$sth->execute($item_1->itemnumber);
|
||||
($borrowernumber_used_to_anonymised) = $sth->fetchrow_array;
|
||||
is( $borrowernumber_used_to_anonymised, $anonymous->{borrowernumber}, 'The issue 1 should have been anonymised, before parameter was not passed' );
|
||||
|
@ -1166,7 +1192,15 @@ subtest 'search_patrons_to_anonymise & anonymise_issue_history' => sub {
|
|||
|
||||
my ( $returned, undef, undef ) = C4::Circulation::AddReturn( $item->barcode, undef, undef, dt_from_string('2010-10-10') );
|
||||
is( $returned, 1, 'The item should have been returned' );
|
||||
my $rows_affected = Koha::Patrons->search_patrons_to_anonymise( { before => '2010-10-11' } )->anonymise_issue_history( { before => '2010-10-11' } );
|
||||
my $rows_affected = Koha::Old::Checkouts->search(
|
||||
{
|
||||
borrowernumber => [
|
||||
Koha::Patrons->search_patrons_to_anonymise(
|
||||
{ before => '2010-10-11' }
|
||||
)->get_column('borrowernumber')
|
||||
]
|
||||
}
|
||||
)->anonymize;
|
||||
ok( $rows_affected > 0, 'AnonymiseIssueHistory should affect at least 1 row' );
|
||||
|
||||
my $dbh = C4::Context->dbh;
|
||||
|
|
Loading…
Reference in a new issue