Changeset 1729 for trunk/LATMOS-Accounts


Ignore:
Timestamp:
02/26/16 17:15:52 (8 years ago)
Author:
nanardon
Message:

Don't rebuild automember aliases if not need

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/Aliases.pm

    r1727 r1729  
    231231    } 
    232232 
    233     my %email = $self->base->attributes_summary_by_object('user', 'mail'); 
    234  
    235233    $self->base->log(LA_DEBUG, 
    236234        "Populating aliases %s from autoMemberFilter attribute", 
    237235        $self->id 
    238236    ); 
     237 
     238    my $listh = $self->base->db->prepare_cached(q{ 
     239        SELECT forward FROM aliases WHERE ikey = ? 
     240    }); 
     241 
     242    $listh->execute($self->Iid); 
     243    my $res = $listh->fetchrow_hashref; 
     244    $listh->finish; 
     245    my $currentForward = $res->{forward} || []; 
     246 
     247    my %email = $self->base->attributes_summary_by_object('user', 'mail'); 
     248 
    239249    my $filter = $self->get_field('autoMemberFilter'); 
    240250    my $autoex = $self->get_field('autoExclude'); 
     
    250260        my $mail = $email{$user}->[0] or next; 
    251261        $forward{$mail} = 1; 
     262    } 
     263 
     264    if (join(',', sort @$currentForward) eq join(',', sort keys %forward)) { 
     265        $self->base->log( 
     266            LA_DEBUG, 
     267            "No need to update alias %s for autoMemberFilter settings", 
     268            $self->id, 
     269        ); 
     270        return 0; 
    252271    } 
    253272 
Note: See TracChangeset for help on using the changeset viewer.