X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=tools%2Fcleanborrowers.pl;h=0b37c20140dadca19eecc931a7cbfff7b10bb7b4;hb=884c8a2b7cceeb13b2478ecd9b941a5ddec6470f;hp=ddfb7e36ee2e94fe599745070893bdd7049e93f9;hpb=fc6ccb1a616c96e8cddf57efd2195a0bec7bc976;p=koha_fer diff --git a/tools/cleanborrowers.pl b/tools/cleanborrowers.pl index ddfb7e36ee..0b37c20140 100755 --- a/tools/cleanborrowers.pl +++ b/tools/cleanborrowers.pl @@ -33,12 +33,14 @@ This script allows to do 2 things. =cut use strict; +#use warnings; FIXME - Bug 2505 use CGI; use C4::Auth; use C4::Output; use C4::Dates qw/format_date format_date_in_iso/; use C4::Members; # GetBorrowersWhoHavexxxBorrowed. use C4::Circulation; # AnonymiseIssueHistory. +use C4::VirtualShelves (); #no import use Date::Calc qw/Today Add_Delta_YM/; my $cgi = new CGI; @@ -66,18 +68,18 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( if ( $params->{'step2'} ) { $filterdate1 = format_date_in_iso($params->{'filterdate1'}); $filterdate2 = format_date_in_iso($params->{'filterdate2'}); - my $checkbox = $params->{'checkbox'}; + my %checkboxes = map { $_ => 1 } split /\0/, $params->{'checkbox'}; my $totalDel; my $membersToDelete; - if ($checkbox eq "borrower") { - $membersToDelete = GetBorrowersWhoHaveNotBorrowedSince($filterdate1); + if ($checkboxes{borrower}) { + $membersToDelete = GetBorrowersWhoHaveNotBorrowedSince($filterdate1, 1); $totalDel = scalar @$membersToDelete; } my $totalAno; my $membersToAnonymize; - if ($checkbox eq "issue") { + if ($checkboxes{issue}) { $membersToAnonymize = GetBorrowersWithIssuesHistoryOlderThan($filterdate2); $totalAno = scalar @$membersToAnonymize; @@ -109,20 +111,22 @@ if ( $params->{'step3'} ) { # delete members if ($do_delete) { - my $membersToDelete = GetBorrowersWhoHaveNotBorrowedSince($filterdate1); + my $membersToDelete = GetBorrowersWhoHaveNotBorrowedSince($filterdate1, 1); $totalDel = scalar(@$membersToDelete); $radio = $params->{'radio'}; if ( $radio eq 'trash' ) { my $i; for ( $i = 0 ; $i < $totalDel ; $i++ ) { MoveMemberToDeleted( $membersToDelete->[$i]->{'borrowernumber'} ); + C4::VirtualShelves::HandleDelBorrower($membersToDelete->[$i]->{'borrowernumber'}); DelMember( $membersToDelete->[$i]->{'borrowernumber'} ); } } else { # delete completly. my $i; for ( $i = 0 ; $i < $totalDel ; $i++ ) { - DelMember($membersToDelete->[$i]->{'borrowernumber'}); + C4::VirtualShelves::HandleDelBorrower($membersToDelete->[$i]->{'borrowernumber'}); + DelMember($membersToDelete->[$i]->{'borrowernumber'}); } } $template->param(