Lines 79-84
if ( $params->{'step2'} ) {
Link Here
|
79 |
if ( $checkboxes{borrower} ) { |
79 |
if ( $checkboxes{borrower} ) { |
80 |
$membersToDelete = |
80 |
$membersToDelete = |
81 |
GetBorrowersToExpunge( { not_borrowered_since => $filterdate1, expired_before => $borrower_dateexpiry, category_code => $borrower_categorycode } ); |
81 |
GetBorrowersToExpunge( { not_borrowered_since => $filterdate1, expired_before => $borrower_dateexpiry, category_code => $borrower_categorycode } ); |
|
|
82 |
_skip_borrowers_with_nonzero_balance( $membersToDelete ); |
82 |
$totalDel = scalar @$membersToDelete; |
83 |
$totalDel = scalar @$membersToDelete; |
83 |
|
84 |
|
84 |
} |
85 |
} |
Lines 97-103
if ( $params->{'step2'} ) {
Link Here
|
97 |
memberstoanonymize_list => $membersToAnonymize, |
98 |
memberstoanonymize_list => $membersToAnonymize, |
98 |
filterdate1 => format_date($filterdate1), |
99 |
filterdate1 => format_date($filterdate1), |
99 |
filterdate2 => format_date($filterdate2), |
100 |
filterdate2 => format_date($filterdate2), |
100 |
borrower_dateexpiry => $borrower_dateexpiry, |
101 |
borrower_dateexpiry => format_date($borrower_dateexpiry), |
101 |
borrower_categorycode => $borrower_categorycode, |
102 |
borrower_categorycode => $borrower_categorycode, |
102 |
); |
103 |
); |
103 |
|
104 |
|
Lines 121-141
if ( $params->{'step3'} ) {
Link Here
|
121 |
if ($do_delete) { |
122 |
if ($do_delete) { |
122 |
my $membersToDelete = |
123 |
my $membersToDelete = |
123 |
GetBorrowersToExpunge( { not_borrowered_since => $filterdate1, expired_before => $borrower_dateexpiry, category_code => $borrower_categorycode } ); |
124 |
GetBorrowersToExpunge( { not_borrowered_since => $filterdate1, expired_before => $borrower_dateexpiry, category_code => $borrower_categorycode } ); |
|
|
125 |
_skip_borrowers_with_nonzero_balance( $membersToDelete ); |
124 |
$totalDel = scalar(@$membersToDelete); |
126 |
$totalDel = scalar(@$membersToDelete); |
125 |
$radio = $params->{'radio'}; |
127 |
$radio = $params->{'radio'}; |
126 |
if ( $radio eq 'trash' ) { |
128 |
for ( my $i = 0 ; $i < $totalDel ; $i++ ) { |
127 |
my $i; |
129 |
$radio eq 'testrun' && last; |
128 |
for ( $i = 0 ; $i < $totalDel ; $i++ ) { |
130 |
my $borrowernumber = $membersToDelete->[$i]->{'borrowernumber'}; |
129 |
MoveMemberToDeleted( $membersToDelete->[$i]->{'borrowernumber'} ); |
131 |
$radio eq 'trash' && MoveMemberToDeleted( $borrowernumber ); |
130 |
C4::VirtualShelves::HandleDelBorrower( $membersToDelete->[$i]->{'borrowernumber'} ); |
132 |
C4::VirtualShelves::HandleDelBorrower( $borrowernumber ); |
131 |
DelMember( $membersToDelete->[$i]->{'borrowernumber'} ); |
133 |
DelMember( $borrowernumber ); |
132 |
} |
|
|
133 |
} else { # delete completly. |
134 |
my $i; |
135 |
for ( $i = 0 ; $i < $totalDel ; $i++ ) { |
136 |
C4::VirtualShelves::HandleDelBorrower( $membersToDelete->[$i]->{'borrowernumber'} ); |
137 |
DelMember( $membersToDelete->[$i]->{'borrowernumber'} ); |
138 |
} |
139 |
} |
134 |
} |
140 |
$template->param( |
135 |
$template->param( |
141 |
do_delete => '1', |
136 |
do_delete => '1', |
Lines 156-161
if ( $params->{'step3'} ) {
Link Here
|
156 |
$template->param( |
151 |
$template->param( |
157 |
step3 => '1', |
152 |
step3 => '1', |
158 |
trash => ( $radio eq "trash" ) ? (1) : (0), |
153 |
trash => ( $radio eq "trash" ) ? (1) : (0), |
|
|
154 |
testrun => ( $radio eq "testrun" ) ? 1: 0, |
159 |
); |
155 |
); |
160 |
|
156 |
|
161 |
#writing the template |
157 |
#writing the template |
Lines 172-174
$template->param(
Link Here
|
172 |
|
168 |
|
173 |
#writing the template |
169 |
#writing the template |
174 |
output_html_with_http_headers $cgi, $cookie, $template->output; |
170 |
output_html_with_http_headers $cgi, $cookie, $template->output; |
175 |
- |
171 |
|
|
|
172 |
sub _skip_borrowers_with_nonzero_balance { |
173 |
my $borrowers = shift; |
174 |
my $balance; |
175 |
@$borrowers = map { |
176 |
(undef, undef, $balance) = GetMemberIssuesAndFines( $_->{borrowernumber} ); |
177 |
($balance != 0) ? (): ($_); |
178 |
} @$borrowers; |
179 |
} |