Lines 25-31
This script allows to do 2 things.
Link Here
|
25 |
|
25 |
|
26 |
=item * Anonymise the borrowers' issues if issue is older than a given date. see C<datefilter1>. |
26 |
=item * Anonymise the borrowers' issues if issue is older than a given date. see C<datefilter1>. |
27 |
|
27 |
|
28 |
=item * Delete the borrowers who has not borrowered since a given date. see C<datefilter2>. |
28 |
=item * Delete the borrowers who has not borrowed since a given date. see C<datefilter2>. |
29 |
|
29 |
|
30 |
=back |
30 |
=back |
31 |
|
31 |
|
Lines 51-59
my $cgi = new CGI;
Link Here
|
51 |
my $params = $cgi->Vars; |
51 |
my $params = $cgi->Vars; |
52 |
|
52 |
|
53 |
my $step = $params->{step} || 1; |
53 |
my $step = $params->{step} || 1; |
54 |
my $not_borrowered_since = # the date which filter on issue history. |
54 |
my $not_borrowed_since = # the date which filter on issue history. |
55 |
$params->{not_borrowered_since} |
55 |
$params->{not_borrowed_since} |
56 |
? dt_from_string $params->{not_borrowered_since} |
56 |
? dt_from_string $params->{not_borrowed_since} |
57 |
: undef; |
57 |
: undef; |
58 |
my $last_issue_date = # the date which filter on borrowers last issue. |
58 |
my $last_issue_date = # the date which filter on borrowers last issue. |
59 |
$params->{last_issue_date} |
59 |
$params->{last_issue_date} |
Lines 84-90
if ( $step == 2 ) {
Link Here
|
84 |
my $membersToDelete; |
84 |
my $membersToDelete; |
85 |
if ( $checkboxes{borrower} ) { |
85 |
if ( $checkboxes{borrower} ) { |
86 |
$membersToDelete = GetBorrowersToExpunge( |
86 |
$membersToDelete = GetBorrowersToExpunge( |
87 |
_get_selection_params($not_borrowered_since, $borrower_dateexpiry, $borrower_categorycode) |
87 |
_get_selection_params($not_borrowed_since, $borrower_dateexpiry, $borrower_categorycode) |
88 |
); |
88 |
); |
89 |
_skip_borrowers_with_nonzero_balance( $membersToDelete ); |
89 |
_skip_borrowers_with_nonzero_balance( $membersToDelete ); |
90 |
$totalDel = scalar @$membersToDelete; |
90 |
$totalDel = scalar @$membersToDelete; |
Lines 114-120
elsif ( $step == 3 ) {
Link Here
|
114 |
# delete members |
114 |
# delete members |
115 |
if ($do_delete) { |
115 |
if ($do_delete) { |
116 |
my $membersToDelete = GetBorrowersToExpunge( |
116 |
my $membersToDelete = GetBorrowersToExpunge( |
117 |
_get_selection_params($not_borrowered_since, $borrower_dateexpiry, $borrower_categorycode) |
117 |
_get_selection_params($not_borrowed_since, $borrower_dateexpiry, $borrower_categorycode) |
118 |
); |
118 |
); |
119 |
_skip_borrowers_with_nonzero_balance( $membersToDelete ); |
119 |
_skip_borrowers_with_nonzero_balance( $membersToDelete ); |
120 |
$totalDel = scalar(@$membersToDelete); |
120 |
$totalDel = scalar(@$membersToDelete); |
Lines 149-155
elsif ( $step == 3 ) {
Link Here
|
149 |
|
149 |
|
150 |
$template->param( |
150 |
$template->param( |
151 |
step => $step, |
151 |
step => $step, |
152 |
not_borrowered_since => $not_borrowered_since, |
152 |
not_borrowed_since => $not_borrowed_since, |
153 |
borrower_dateexpiry => $borrower_dateexpiry, |
153 |
borrower_dateexpiry => $borrower_dateexpiry, |
154 |
last_issue_date => $last_issue_date, |
154 |
last_issue_date => $last_issue_date, |
155 |
borrower_categorycodes => GetBorrowercategoryList(), |
155 |
borrower_categorycodes => GetBorrowercategoryList(), |
Lines 169-182
sub _skip_borrowers_with_nonzero_balance {
Link Here
|
169 |
} |
169 |
} |
170 |
|
170 |
|
171 |
sub _get_selection_params { |
171 |
sub _get_selection_params { |
172 |
my ($not_borrowered_since, $borrower_dateexpiry, $borrower_categorycode) = @_; |
172 |
my ($not_borrowed_since, $borrower_dateexpiry, $borrower_categorycode) = @_; |
173 |
|
173 |
|
174 |
my $params = {}; |
174 |
my $params = {}; |
175 |
$params->{not_borrowered_since} = output_pref({ |
175 |
$params->{not_borrowed_since} = output_pref({ |
176 |
dt => $not_borrowered_since, |
176 |
dt => $not_borrowed_since, |
177 |
dateformat => 'iso', |
177 |
dateformat => 'iso', |
178 |
dateonly => 1 |
178 |
dateonly => 1 |
179 |
}) if $not_borrowered_since; |
179 |
}) if $not_borrowed_since; |
180 |
$params->{expired_before} = output_pref({ |
180 |
$params->{expired_before} = output_pref({ |
181 |
dt => $borrower_dateexpiry, |
181 |
dt => $borrower_dateexpiry, |
182 |
dateformat => 'iso', |
182 |
dateformat => 'iso', |
183 |
- |
|
|