package LATMOS::Accounts::Web::Controller::Remote::PwReset; use Moose; use namespace::autoclean; BEGIN { extends 'Catalyst::Controller'; } =head1 NAME LATMOS::Accounts::Web::Controller::Remote::AskPwReset - Catalyst Controller =head1 DESCRIPTION Catalyst Controller. =head1 METHODS =cut =head2 index =cut sub index :Path :Args(0) { my ( $self, $c ) = @_; my $username = $c->req->param('user') or do { $c->stash->{data}{err} = 'Invalid request'; return; }; my $user = $c->model('Accounts')->db->get_object('user', $username) or do { $c->stash->{data}{err} = 'No such user'; return; }; if (!$user->_get_attributes('active')) { $c->stash->{data}{err} = 'No such user'; return; } my $resetid = $c->req->param('id'); my $password = $c->req->param('password'); if (!$user->CheckPasswordResetId($resetid)) { $c->stash->{data}{err} = 'Invalid request'; return; } my $error = $c->forward('/users/change_password', [ $username, $password ]); if ($error) { $c->stash->{data}{err} = $error; return } else { $user->DeletePasswordId($resetid); $user->base->commit; $c->stash->{data}{ok} = 'Done'; return 1; } } =encoding utf8 =head1 AUTHOR Olivier Thauvin,Guyancourt - B1428,+33 1 80285052, =head1 LICENSE This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself. =cut __PACKAGE__->meta->make_immutable; 1;