Ignore:
Timestamp:
02/02/16 09:26:38 (8 years ago)
Author:
nanardon
Message:

Add to cn both id and "real name" on ldap base

File:
1 edited

Legend:

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

    r1701 r1702  
    166166    $entry->replace(objectClass => 
    167167        [ $class->_my_ldap_classes ],); 
    168     $data{cn} ||= $data{sn} || $id; # cn is mandatory 
     168    $data{cn} ||= [ grep { $_ } 
     169        join(' ', $data{givenName},$data{sn}), 
     170        $id 
     171    ]; # cn is mandatory 
    169172    $data{sn} ||= $id; # sn is mandatory 
    170173    $data{uid} ||= $id; # uid is mandatory 
     
    220223    }; 
    221224    $self->SUPER::get_field($field); 
     225} 
     226 
     227sub set_fields { 
     228    my ($self, %fields) = @_; 
     229 
     230    if (exists($fields{givenName}) || exists($fields{sn})) { 
     231        my $gn = $fields{givename} || $self->_get_attributes('givenName'); 
     232        my $sn = $fields{sn} || $self->_get_attributes('sn'); 
     233        my @cn = grep { $_ } ( 
     234            join(' ', $gn, $sn), 
     235            $self->id); 
     236        $self->_populate_entry($self->{entry}, 'cn', \@cn); 
     237    } 
     238 
     239    $self->SUPER::set_fields(%fields); 
    222240} 
    223241 
Note: See TracChangeset for help on using the changeset viewer.