- if ($c->req->method eq 'POST' && exists($c->req->params->{handle})) {
- eval {
- if ($c->authenticate({
- username => $c->req->params->{handle},
- password => $c->req->params->{password}
- })) {
- $c->change_session_id;
- my $user = $c->user->get('username');
- $c->flash->{message} = "Hi, $user! You are now logged in.";
- $c->response->redirect($c->uri_for('/'));
- }
- else {
- $c->flash->{error} = "Log-in failed! Try again, I guess.";
- $c->response->redirect($c->uri_for('login'));
- }
+
+ $c->stash(form => $self->login_form);
+ $self->login_form->process($c->req->params);
+ return unless $self->login_form->is_valid;
+
+ eval {
+ if ($c->authenticate({
+ username => $self->login_form->value->{username},
+ password => $self->login_form->value->{password}
+ })) {
+ $c->change_session_id;
+ my $user = $c->user->get('username');
+ $c->flash->{message} .= "Hi, $user! You are now logged in.";
+ $c->response->redirect($c->uri_for('/'));
+ }
+ else {
+ $c->flash->{error} = "Log-in failed! Try again, I guess.";
+ $c->response->redirect($c->uri_for('login'));