Ignore:
Timestamp:
05/14/09 03:08:41 (15 years ago)
Author:
nanardon
Message:
  • objects::set_fields is called also to terminate work, so always try update, but detect 'no update' error
File:
1 edited

Legend:

Unmodified
Added
Removed
  • LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Ad/Group.pm

    r106 r107  
    4848    ( 
    4949        qw(gidNumber description member memberUID), # sAMAccountName: conflict with user 
     50                                                    # must be uniq in AD 
    5051        ($mode !~ /w/ 
    5152            ? qw(cn dn) 
     
    110111    my ($self, %data) = @_; 
    111112    my %ndata; 
    112     my $need_change = 0; 
    113113    while (my ($f, $val) = each(%data)) { 
    114114        $f eq 'memberUID' and do { 
     
    121121                if ($users{$_}{e}) { 
    122122                    $self->{entry}->del(memberUID => $_); 
    123                     $need_change = 1; 
    124123                } elsif ($users{$_}{n}) { 
    125124                    $self->{entry}->add(memberUID => $_); 
    126                     $need_change = 1; 
    127125                } # else {} # can't happen 
    128126                my $mesg = $self->{entry}->update($self->base->ldap); 
     
    139137                if ($users{$_}{e}) { 
    140138                    $self->{entry}->del(member => $user->get_field('dn')); 
    141                     $need_change = 1; 
    142139                } elsif ($users{$_}{n}) { 
    143140                    $self->{entry}->add(member => $user->get_field('dn')); 
    144                     $need_change = 1; 
    145141                } # else {} # can't happen 
    146142            } 
     
    149145        $ndata{$f} = $val; 
    150146    } 
    151     $need_change || scalar(keys %ndata) or return '0E0'; 
    152147    $self->SUPER::set_fields(%ndata); 
    153148} 
Note: See TracChangeset for help on using the changeset viewer.