Ignore:
Timestamp:
04/27/17 21:38:04 (7 years ago)
Author:
nanardon
Message:

Move code to model to make it reusable

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Controller/Users.pm

    r1859 r2002  
    134134        if ($base->check_acl($c->stash->{user}, 'userPassword', 'w')) { 
    135135            if ($c->req->param('passwd') eq ($c->req->param('cpasswd') || '')) { 
    136                 $c->stash->{pmerror} = $c->forward('change_password', 
    137                     [ $username, $c->req->param('passwd') ] ) || 'Mot de passe changé'; 
     136                $c->stash->{pmerror} = $c->model('Accounts')->ChangeUserPassword( 
     137                    $username, $c->req->param('passwd')  
     138                ) || 'Mot de passe changé'; 
    138139            } else { 
    139140                $c->stash->{pmerror} = 'Mot de passe différents'; 
     
    228229} 
    229230 
    230 sub change_password : Private { 
    231     my ($self, $c, $username, $password) = @_; 
    232  
    233     my $base = $c->model('Accounts')->db; 
    234     $c->stash->{user} = $base->get_object('user', $username) or do { 
    235         $c->forward('/no_object'); 
    236         return "Cannot get user object"; 
    237     }; 
    238  
    239     my $sync = $c->model('Accounts')->sync_access; 
    240  
    241     # This is widelly burk: 
    242     # synchaccess do not manage connect() at time, opening a 
    243     # backdoor then :\ 
    244     foreach ($sync->bases) { $_->{_user} = undef } 
    245  
    246     my $suser = $sync->get_object_ifexists('user', $username); 
    247     my $msg = $c->stash->{user}->check_password($password); 
    248     if ($msg ne 'ok') { 
    249         return $msg . ', mot de passe inchangé'; 
    250     } elsif ($suser && $suser->_set_password($password)) { 
    251         $sync->commit; 
    252         return; 
    253     } else { 
    254         return 'Erreur lors du changement de mot de passe'; 
    255     } 
    256 } 
    257  
    258231=head1 AUTHOR 
    259232 
Note: See TracChangeset for help on using the changeset viewer.