|
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 |
- |
|
|