Changeset 1943


Ignore:
Timestamp:
02/03/17 18:49:37 (7 years ago)
Author:
nanardon
Message:

Wait a minimum of time before setting alias for expired accounts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Task/Expiredaliases.pm

    r1888 r1943  
    3838    my ($self) = @_; 
    3939 
     40    my $modifDelay = $self->{syncm}->ini->val($self->{name}, 'modifdelay', 60); 
     41    my $waitAfterModif = DateTime->now->subtract( minutes => $modifDelay  )->iso8601; 
     42 
    4043    # Unset aliases when user get active: 
    4144 
    42     my @aliases = $self->{_base}->search_objects('aliases', 'user.active=1', 'comment=EXPIREDACCOUNT'); 
     45    my @aliases = $self->{_base}->search_objects('aliases', 
     46        'user.active=1', 
     47        'comment=EXPIREDACCOUNT', 
     48        'user.date<' . $waitAfterModif, 
     49    ); 
    4350    foreach (@aliases) { 
    4451        $self->{_base}->log(LA_NOTICE, 'Deleting aliases %s because user is active', $_); 
     
    5360 
    5461    my %existedAliases = map { $_ => 1 } $self->{_base}->search_objects('aliases', 'user.active=0'); 
    55     foreach my $user ($self->{_base}->search_objects('user', 'status=expired')) { 
     62 
     63    foreach my $user ($self->{_base}->search_objects('user', 
     64            'status=expired', 
     65            'date<' . $waitAfterModif, 
     66            'oalias=NULL') 
     67        ) { 
    5668        $existedAliases{$user} and next; # An alias existed, doing nothing 
    5769        $self->{_base}->log(LA_NOTICE, "Adding alias to expired user $user"); 
Note: See TracChangeset for help on using the changeset viewer.