- Timestamp:
- 04/27/17 21:38:04 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Controller/Users.pm
r1859 r2002 134 134 if ($base->check_acl($c->stash->{user}, 'userPassword', 'w')) { 135 135 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é'; 138 139 } else { 139 140 $c->stash->{pmerror} = 'Mot de passe différents'; … … 228 229 } 229 230 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 a243 # 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 258 231 =head1 AUTHOR 259 232
Note: See TracChangeset
for help on using the changeset viewer.