Changeset 181


Ignore:
Timestamp:
05/25/09 02:29:23 (15 years ago)
Author:
nanardon
Message:
  • cleanup
File:
1 edited

Legend:

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

    r74 r181  
    220220        $page->cookie($cookie); 
    221221        $page->size(0); 
    222         $self->search(@args, control => [ $page ]); 
     222        $self->ldap->search(@args, control => [ $page ]); 
    223223    } 
    224224    return 1; 
     
    233233} 
    234234 
    235 sub get_group_users { 
    236     my ($self, $groupname, @searchargs) = @_; 
    237     my $gr = $self->get_group($groupname, attrs => [ qw(cn member) ]); 
    238  
    239     my @res; 
    240     foreach my $dnu (@{ $gr->get_value('member', asref => 1) || [] }) { 
    241         my $mesg = $self->search( 
    242             filter => '(objectClass=*)', # TODO can we get something else than user ? 
    243             @searchargs, 
    244             base => $dnu, 
    245         ); 
    246  
    247         $mesg->code and return; # ensure error is propagate here 
    248         foreach my $entry ($mesg->entries) { 
    249            push(@res, $entry); 
    250        }  
    251     } 
    252     @res 
    253 } 
    254  
    255 sub get_user_groups { 
    256     my ($self, $username, @searchargs) = @_; 
    257     my $user = $self->get_user($username); 
    258  
    259     my @res; 
    260     $self->unlimited_search( 
    261         base => $self->top_dn, 
    262         filter => sprintf( 
    263             '(&(objectClass=group)(member=%s))', 
    264             escape_filter_value($user->dn), 
    265         ), 
    266         @searchargs, 
    267         callback => sub { 
    268             my ($mesg, $entry) = @_; 
    269             ref $entry eq 'Net::LDAP::Entry' or return; 
    270             push(@res, $entry); 
    271         }, 
    272     ); 
    273  
    274     @res 
    275 } 
    276  
    277 sub add_user_group { 
    278     my ($self, $username, $groupname) = @_; 
    279  
    280     my $user = $self->get_user($username) or return; 
    281     my $group = $self->get_group($groupname) or return; 
    282  
    283     $group->add(member => $user->dn); 
    284  
    285     my $mesg = $group->update($self); 
    286     if ($mesg->code) { 
    287         warn $mesg->error; 
    288         return; 
    289     } else { return 1 }; 
    290 } 
    291  
    2922351; 
    293236 
Note: See TracChangeset for help on using the changeset viewer.