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

(-)a/misc/cronjobs/fix_patron_dates.pl (-1 / +53 lines)
Line 0 Link Here
0
- 
1
#!/usr/bin/perl
2
3
# This file is part of Koha.
4
#
5
# Koha is free software; you can redistribute it and/or modify it
6
# under the terms of the GNU General Public License as published by
7
# the Free Software Foundation; either version 3 of the License, or
8
# (at your option) any later version.
9
#
10
# Koha is distributed in the hope that it will be useful, but
11
# WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
# GNU General Public License for more details.
14
#
15
# You should have received a copy of the GNU General Public License
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
17
18
use Modern::Perl;
19
20
use C4::Context;
21
use C4::Log qw(cronlogaction);
22
use Getopt::Long qw( GetOptions );
23
use Pod::Usage qw( pod2usage );
24
use Koha::Logger;
25
use Koha::Patrons;
26
use Koha::DateUtils qw( dt_from_string );
27
use Koha::Script -cron;
28
use Data::Dumper;
29
30
my $verbose = 0;
31
my $doit = 0;
32
33
GetOptions(
34
    'v|verbose'       => \$verbose,
35
    'c|confirm'       => \$doit,
36
);
37
38
my $count;
39
40
# search patrons that have date fields that are 0000-00-00
41
foreach my $date_type (qw(dateofbirth dateenrolled dateexpiry date_renewed)) {
42
    my $borrowers = Koha::Patrons->search( { $date_type=>'0000-00-00' } );
43
44
    if ($doit) { # if confirm flag was run with cronjob
45
        while (my $borrower = $borrowers->next()) {
46
            $count++;
47
            $borrower->$date_type(undef)->store();
48
        }
49
    }
50
}
51
52
if ($verbose) {
53
  print "$count wrong dates found";

Return to bug 31143