Lines 93-120
unless ($confirm) {
Link Here
|
93 |
$verbose ||= 1; |
93 |
$verbose ||= 1; |
94 |
} |
94 |
} |
95 |
|
95 |
|
96 |
say scalar(@$members) . " patrons to delete" if $verbose;; |
96 |
say scalar(@$members) . " patrons match conditions" if $verbose;; |
97 |
|
97 |
|
98 |
my $anonymous_patron = C4::Context->preference("AnonymousPatron"); |
98 |
my $anonymous_patron = C4::Context->preference("AnonymousPatron"); |
99 |
my $deleted = 0; |
99 |
my $deleted = 0; |
100 |
for my $member (@$members) { |
100 |
for my $member (@$members) { |
101 |
print "Trying to delete patron $member->{borrowernumber}... " |
101 |
print "Testing that we can delete patron $member->{borrowernumber}... " |
102 |
if $verbose; |
102 |
if $verbose; |
103 |
|
103 |
|
104 |
my $borrowernumber = $member->{borrowernumber}; |
104 |
my $borrowernumber = $member->{borrowernumber}; |
105 |
my $patron = Koha::Patrons->find( $borrowernumber ); |
105 |
my $patron = Koha::Patrons->find( $borrowernumber ); |
106 |
unless ( $patron ) { |
106 |
unless ( $patron ) { |
107 |
say "Patron with borrowernumber $borrowernumber does not exist"; |
107 |
say "Cannot delete: Patron with borrowernumber $borrowernumber does not exist"; |
108 |
next; |
108 |
next; |
109 |
} |
109 |
} |
110 |
if ( my $charges = $patron->account->non_issues_charges ) { # And what if we owe to this patron? |
110 |
if ( my $charges = $patron->account->non_issues_charges ) { # And what if we owe to this patron? |
111 |
say "Failed to delete patron $borrowernumber: patron has $charges in fines" if $verbose; |
111 |
say "Cannot delete patron $borrowernumber: patron has $charges in fines" if $verbose; |
112 |
next; |
112 |
next; |
113 |
} |
113 |
} |
114 |
|
114 |
|
115 |
if ( $anonymous_patron ) { |
115 |
if ( $anonymous_patron ) { |
116 |
if ( $patron->id eq $anonymous_patron ) { |
116 |
if ( $patron->id eq $anonymous_patron ) { |
117 |
say "Failed to delete patron $borrowernumber: patron is AnonymousPatron"; |
117 |
say "Cannot delete patron $borrowernumber: patron is AnonymousPatron"; |
118 |
next; |
118 |
next; |
119 |
} |
119 |
} |
120 |
} |
120 |
} |
Lines 122-134
for my $member (@$members) {
Link Here
|
122 |
if ( $confirm ) { |
122 |
if ( $confirm ) { |
123 |
my $deleted = eval { $patron->move_to_deleted; }; |
123 |
my $deleted = eval { $patron->move_to_deleted; }; |
124 |
if ($@ or not $deleted) { |
124 |
if ($@ or not $deleted) { |
125 |
say "Failed to delete patron $borrowernumber, cannot move it" . ( $@ ? ": ($@)" : "" ) if $verbose; |
125 |
say "Cannot delete patron $borrowernumber, cannot move it" . ( $@ ? ": ($@)" : "" ) if $verbose; |
126 |
next; |
126 |
next; |
127 |
} |
127 |
} |
128 |
|
128 |
|
129 |
eval { $patron->delete }; |
129 |
eval { $patron->delete }; |
130 |
if ($@) { |
130 |
if ($@) { |
131 |
say "Failed to delete patron $borrowernumber: $@)"; |
131 |
say "Cannot delete patron $borrowernumber: $@)"; |
132 |
next; |
132 |
next; |
133 |
} |
133 |
} |
134 |
} |
134 |
} |
Lines 136-142
for my $member (@$members) {
Link Here
|
136 |
say "OK" if $verbose; |
136 |
say "OK" if $verbose; |
137 |
} |
137 |
} |
138 |
|
138 |
|
139 |
say "$deleted patrons deleted" if $verbose; |
139 |
|
|
|
140 |
say $confirm ? "$deleted patrons deleted" : "$deleted patrons would have been deleted" if $verbose; |
140 |
|
141 |
|
141 |
=head1 NAME |
142 |
=head1 NAME |
142 |
|
143 |
|
143 |
- |
|
|