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

(-)a/misc/cronjobs/delete_patrons.pl (-5 / +26 lines)
Lines 6-11 use Pod::Usage; Link Here
6
use Getopt::Long;
6
use Getopt::Long;
7
7
8
use C4::Members;
8
use C4::Members;
9
use C4::VirtualShelves;
9
use Koha::DateUtils;
10
use Koha::DateUtils;
10
11
11
my ( $help, $verbose, $not_borrowed_since, $expired_before, $category_code,
12
my ( $help, $verbose, $not_borrowed_since, $expired_before, $category_code,
Lines 44-71 my $members = GetBorrowersToExpunge( Link Here
44
    }
45
    }
45
);
46
);
46
47
48
unless ($confirm) {
49
    say "Doing a dry run; no patron records will actually be deleted.";
50
    say "Run again with --confirm to delete the records.";
51
}
52
47
say scalar(@$members) . " patrons to delete";
53
say scalar(@$members) . " patrons to delete";
48
54
49
my $dbh = C4::Context->dbh;
55
my $dbh = C4::Context->dbh;
50
$dbh->{RaiseError} = 1;
56
$dbh->{RaiseError} = 1;
51
$dbh->{PrintError} = 0;
57
$dbh->{PrintError} = 0;
52
58
59
@$members = ( { borrowernumber => 19 } );
60
61
$dbh->{AutoCommit} = 0; # use transactions to avoid partial deletes
53
for my $member (@$members) {
62
for my $member (@$members) {
54
    print "Trying to delete patron " . $member->{borrowernumber} . "... ";
63
    print "Trying to delete patron $member->{borrowernumber}... "
64
      if $verbose;
55
    eval {
65
    eval {
56
        C4::Members::MoveMemberToDeleted( $member->{borrowernumber} )
66
        C4::Members::MoveMemberToDeleted( $member->{borrowernumber} )
57
          if $confirm;
67
          if $confirm;
58
    };
68
    };
59
    if ($@) {
69
    if ($@) {
60
        say "Failed, cannot move this patron ($@)";
70
        say "Failed to delete patron $member->{borrowernumber}, cannot move it: ($@)";
71
        $dbh->rollback;
72
        next;
73
    }
74
    eval {
75
        C4::VirtualShelves::HandleDelBorrower( $member->{borrowernumber} )
76
          if $confirm;
77
    };
78
    if ($@) {
79
        say "Failed to delete patron $member->{borrowernumber}, error handling its lists: ($@)";
80
        $dbh->rollback;
61
        next;
81
        next;
62
    }
82
    }
63
    eval { C4::Members::DelMember( $member->{borrowernumber} ) if $confirm; };
83
    eval { C4::Members::DelMember( $member->{borrowernumber} ) if $confirm; };
64
    if ($@) {
84
    if ($@) {
65
        say "Failed, cannot delete this patron ($@)";
85
        say "Failed to delete patron $member->{borrowernumber}: $@)";
86
        $dbh->rollback;
66
        next;
87
        next;
67
    }
88
    }
68
    say "OK";
89
    $dbh->commit;
90
    say "OK" if $verbose;
69
}
91
}
70
92
71
=head1 NAME
93
=head1 NAME
72
- 

Return to bug 10419