Changeset 105


Ignore:
Timestamp:
05/14/09 02:09:55 (15 years ago)
Author:
nanardon
Message:
  • ensure error are returned
Location:
LATMOS-Accounts/lib/LATMOS/Accounts
Files:
5 edited

Legend:

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

    r103 r105  
    284284sub sync_object { 
    285285    my ($self, $srcobj, %options) = @_; 
    286     $self->is_supported_object($srcobj->type) or return; 
     286    $self->is_supported_object($srcobj->type) or return ''; 
    287287    my @fields = $options{attrs} 
    288288        ? @{ $options{attrs} } 
     
    294294    } 
    295295    if (my $dstobj = $self->get_object($srcobj->type, $srcobj->id)) { 
    296         return $dstobj->set_c_fields(%data); 
     296        return 'SYNCHED' if ($dstobj->set_c_fields(%data)); 
    297297    } elsif(!$options{nocreate}) { 
    298         return $self->create_c_object($srcobj->type, $srcobj->id, %data); 
     298        return 'CREATE' if ($self->create_c_object($srcobj->type, $srcobj->id, %data)); 
    299299    } else { 
    300         return 0; 
     300        return ''; 
    301301    } 
     302 
     303    return; 
    302304} 
    303305 
  • LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Ad/Group.pm

    r93 r105  
    4747    my ($self, $base, $mode) = @_; 
    4848    ( 
    49         qw(gidNumber description sAMAccountName member memberUID), 
     49        qw(gidNumber description member memberUID), # sAMAccountName: conflict with user 
    5050        ($mode !~ /w/ 
    5151            ? qw(cn dn) 
     
    6969    } 
    7070    my $msg = $base->ldap->add($entry); 
     71    warn $msg->error if ($msg->code); 
    7172    return $msg->code ? 0 : 1; 
    7273} 
     
    115116                } # else {} # can't happen 
    116117                my $mesg = $self->{entry}->update($self->base->ldap); 
    117                 if ($mesg->code) { 
    118                     warn $mesg->error; 
    119                 } 
    120118            } 
    121119            next; 
     
    133131                    $self->{entry}->add(member => $user->get_field('dn')); 
    134132                } # else {} # can't happen 
    135                 my $mesg = $self->{entry}->update($self->base->ldap); 
    136                 if ($mesg->code) { 
    137                     warn $mesg->error; 
    138                 } 
    139133            } 
    140134            next; 
  • LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Ad/User.pm

    r93 r105  
    123123    my ($self, %data) = @_; 
    124124    my %ndata; 
     125    my $res = '0E0'; 
    125126    while (my ($f, $val) = each(%data)) { 
    126127        $f eq 'memberOf' and do { 
     
    137138                } # else {} # can't happen 
    138139                my $mesg = $self->{entry}->update($self->base->ldap); 
    139                 if ($mesg->code) { 
    140                     warn $mesg->error; 
    141                 } 
    142140            } 
    143141            next; 
  • LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Ad/objects.pm

    r92 r105  
    121121 
    122122    foreach (keys %fields) { 
    123         $self->get_field_name($_, 'w') or return; 
     123        $self->get_field_name($_, 'w') or next; 
    124124        $self->_populate_entry($self->{entry}, $_, $fields{$_}); 
    125125    } 
  • LATMOS-Accounts/lib/LATMOS/Accounts/Synchro.pm

    r103 r105  
    118118        # TODO optimize this, using rev of objects 
    119119 
    120         warn "Sync objects $otype\n"; 
    121120        foreach my $destbase (@obj_dest_base) { 
    122121            $callback->($otype, $destbase); 
     
    134133                $self->val($self->from->label, $destbase->label), 
    135134            ); 
    136             warn "objects $otype " . $self->from->label . " => " . $destbase->label . "\n"; 
    137135            my @common_fields = $options{attr_cb}->($self->from, $destbase, $otype) or return; 
    138             warn "Synching fields: " . join(', ', sort @common_fields) . "\n"; 
    139136            my %exists = map { $_ => 1 } $destbase->list_objects($otype); 
    140137            foreach my $uid (@lobjfrom) { 
    141138                my $sobj = $self->from->get_object($otype, $uid); 
    142                 $destbase->sync_object( 
    143                     $sobj, 
    144                     nocreate => ($self->{options}{nocreate} || $options{nocreate}), 
    145                 ) unless($self->{options}{test}); 
    146                 warn "  $otype $uid: synched\n"; 
     139                if (!$self->{options}{test}) { 
     140                    my $res = $destbase->sync_object( 
     141                        $sobj, 
     142                        nocreate => ($self->{options}{nocreate} || $options{nocreate}), 
     143                    ); 
     144                    if (defined $res) { 
     145                        printf( 
     146                            "%s::%s::%s => %s (%s)\n", 
     147                            $self->from->label, $otype, $uid, 
     148                            $destbase->label, $res 
     149                        ) if ($res); 
     150                    } else { 
     151                        warn sprintf( 
     152                            "Error syncing %s::%s::%s => %s\n", 
     153                            $self->from->label, $otype, $uid, $destbase->label 
     154                        );  
     155                    } 
     156                } 
    147157            } 
    148158        } 
     
    159169            foreach (keys %exists) { 
    160170                if (!$srcexists{$_}) { 
    161                     warn "delete $otype $_\n"; 
     171                    print "delete " . $destbase->name . '::' . $otype . '::' . "$_\n"; 
    162172                    $destbase->delete_object($otype, $_); 
    163173                } 
Note: See TracChangeset for help on using the changeset viewer.