Changeset 58


Ignore:
Timestamp:
04/30/09 22:48:01 (15 years ago)
Author:
nanardon
Message:
  • unix base support memberUID attribute
Location:
LATMOS-Accounts
Files:
4 edited

Legend:

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

    r57 r58  
    141141            } 
    142142            # split user in the group 
    143             foreach (split(',', $ch[3] || '')) { 
     143            foreach (split(',', ($self->{groups}{$group}{'user_list'} || ''))) { 
    144144                $self->{groups}{$group}{'users'}{$_} = 1; 
    145145            } 
     
    171171            } 
    172172            # split user in the group 
    173             foreach (split(',', $ch[3] || '')) { 
     173            foreach (split(',', $self->{groups}{$group}{'suser_list'} || '')) { 
    174174                $self->{groups}{$group}{'susers'}{$_} = 1; 
    175175            } 
  • LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Unix/Group.pm

    r13 r58  
    4747sub get_field { 
    4848    my ($self, $field) = @_; 
     49    if ($field eq 'user_list') { 
     50        return [ keys %{ $self->{'users'} || {} } ]; 
     51    } 
    4952    $self->{$field} 
    5053} 
     
    5457    foreach my $field (keys %data) { 
    5558        # TODO check fields exists ! 
    56         $self->{$field} = $data{$field}; 
     59        if ($field eq 'user_list') { 
     60            $self->{'users'} = {}; 
     61            foreach (ref $data{$field} ? (@{ $data{$field} || [] }) : ($data{$field})) { 
     62                $self->{'users'}{$_} = 1; 
     63            } 
     64        } else { 
     65            $self->{$field} = $data{$field}; 
     66        } 
    5767    } 
    5868    1; 
  • LATMOS-Accounts/t/11_bases_unix.t

    r26 r58  
    11use strict; 
    22use warnings; 
    3 use Test::More tests => 21; 
     3use Test::More tests => 24; 
    44use File::Temp; 
    55 
     
    4545 
    4646ok($unixb->commit, "Can save unix base"); 
     47ok(eq_set($group->get_c_field('memberUID'), [ 'user' ]), 'can get group\'s member'); 
     48ok($group->set_c_fields('memberUID', [ 'admin' ]), 'can set group\'s member'); 
     49ok(eq_set($group->get_c_field('memberUID'), [ 'admin' ]), 'can get group\'s member after change'); 
    4750 
    4851 
  • LATMOS-Accounts/testdata/group

    r5 r58  
    1 root:x:0: 
     1root:x:0:user 
Note: See TracChangeset for help on using the changeset viewer.