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