RSS Git Download  Clone
Raw Blame History
#!/usr/bin/perl

use strict;
use warnings;

use lib '/home/raj/perl5/lib/perl5';
use Data::Dumper;

use FindBin qw($Bin); # warn $Bin;
use lib "$Bin/../../../lib";
use LIMS::Local::ScriptHelpers;

#-------------------------------------------------------------------------------
unless (@ARGV) { $ARGV[0] = 'leeds' }
#-------------------------------------------------------------------------------

my %db_map = ( leeds => 'hilis4' ); # map 'leeds' => 'hilis4, all others = $ARGV[0]

use constant DELTA => 6; # months since last login to inactivate account

# get tools from LIMS::Local::ScriptHelpers:
my $tools = LIMS::Local::ScriptHelpers->new();

my $filename = $tools->script_filename;
my $sql_lib  = $tools->sql_lib();
my $dbix     = $tools->dbix();
my $dbh      = $dbix->dbh();

# get sql statments:
my $sql = $sql_lib->retr( 'expire_user_accounts' ); # warn $sql; warn DELTA; exit;

for my $centre (@ARGV) { # print $fh Dumper $centre;
	my $i = 0; # numerical return from dbh->do()

    my $db = $db_map{$centre} || $centre;
	$dbh->do( 'use ' . $db ); # switch db

	# execute query:
	$i += $dbh->do($sql, undef, DELTA); # warn Dumper $i;
    print "$filename inactivated $i $centre HILIS4 accounts\n" if $i;

    next unless $db eq 'hilis4'; # only one currently using it
    # draft_report_users:
    $i = 0; # reset counter
    $sql =~ s/users/draft_report_users/;
	$i += $dbh->do($sql, undef, DELTA); # warn Dumper $i;
    print "$filename inactivated $i $centre draft-report-user accounts\n" if $i;
}