View | Details | Raw Unified | Return to bug 28001
Collapse All | Expand All

(-)a/misc/cronjobs/delete_patrons.pl (-9 / +9 lines)
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
- 

Return to bug 28001