Changeset 916


Ignore:
Timestamp:
03/22/12 18:49:38 (12 years ago)
Author:
nanardon
Message:
  • change exported/unexported attributes of revaliases in same time than user, meaning destroyed user don't have revalias anymore
Location:
LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql
Files:
2 edited

Legend:

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

    r861 r916  
    5757    my ($class, $base, $id, %data) = @_; 
    5858 
    59     $base->get_object('user', $id) or do { 
     59    my $uobj = $base->get_object('user', $id) or do { 
    6060        $base->log(LA_ERR, 'Cannot create revaliases %s: no such user', $id); 
    6161        return; 
    6262    }; 
     63    $data{exported} = $uobj->get_attributes('exported') || 0; 
    6364 
    6465    $class->SUPER::_create($base, $id, %data); 
  • LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/User.pm

    r910 r916  
    106106            }, 
    107107            revaliases => { 
    108                 reference => 'revaliases', 
    109108                formtype => 'TEXT', 
    110109            }, 
     
    416415    my $res = 0; 
    417416    foreach my $attr (keys %data) { 
     417        $attr =~ /^(un)?exported$/ and do { 
     418            if (my $obj = $self->base-> 
     419                get_object('revaliases', $self->id)) { 
     420                my $ares = $obj->set_c_fields( 
     421                    ($attr eq 'exported' ? 'exported' : 'unexported') => $data{$attr} 
     422                ); 
     423                if (defined($ares)) { 
     424                    $res+=$ares; 
     425                } else { 
     426                    $self->base->log(LA_ERR, 
     427                        'Cannot set revaliases exported attribute for user %s', 
     428                        $self->id); 
     429                } 
     430            } 
     431        }; 
    418432        $attr eq 'gidnumber' && $data{$attr} !~ /^\d+$/ and do { 
    419433            my $group = $self->base->get_object('group', $data{$attr}) or do { 
     
    515529                if (my $obj = $self->base-> 
    516530                        get_object('revaliases', $self->id)) { 
    517                     my $ares = $obj->set_c_fields('as', $data{$attr}); 
     531                    my $ares = $obj->set_c_fields( 
     532                        'as' => $data{$attr}, 
     533                        'exported' => ($self->get_attributes('exported') || 0) 
     534                    ); 
    518535                    if (defined($ares)) { 
    519536                        $res+=$ares; 
     
    526543                        'revaliases', 
    527544                        $self->id, as => $data{$attr}, 
     545                        'exported' => ($self->get_attributes('exported') || 0) 
    528546                    )) { 
    529547                        $res++; 
Note: See TracChangeset for help on using the changeset viewer.