diff --git a/lib/NGCP/Panel/Controller/Login.pm b/lib/NGCP/Panel/Controller/Login.pm index c6e5701859..f247dde14b 100644 --- a/lib/NGCP/Panel/Controller/Login.pm +++ b/lib/NGCP/Panel/Controller/Login.pm @@ -34,12 +34,13 @@ sub index :Path Form { $form->process( posted => ($c->req->method eq 'POST'), params => $c->request->params, + action => $c->uri_for($c->controller('Login')->action_for('index')), ); if($form->validated) { print ">>>>>> login form validated\n"; - my $user = $form->field('username'); - my $pass = $form->field('password'); + my $user = $form->field('username')->value; + my $pass = $form->field('password')->value; $c->log->debug("*** Login::index user=$user, pass=$pass, realm=$realm"); if($c->authenticate({ username => $user, password => $pass }, $realm)) { # auth ok @@ -49,7 +50,7 @@ sub index :Path Form { $c->response->redirect($target); } else { $c->log->debug("*** Login::index auth failed"); - $c->stash->{error}->{message} = 'login failed'; + $form->add_form_error('Invalid username/password'); } } elsif($c->req->method eq 'POST') { print ">>>>>> login form NOT validated\n"; diff --git a/lib/NGCP/Panel/Form/Login.pm b/lib/NGCP/Panel/Form/Login.pm index 772bf29f90..19e09891ae 100644 --- a/lib/NGCP/Panel/Form/Login.pm +++ b/lib/NGCP/Panel/Form/Login.pm @@ -4,15 +4,16 @@ use HTML::FormHandler::Moose; extends 'HTML::FormHandler'; use Moose::Util::TypeConstraints; +with 'HTML::FormHandler::Widget::Form::Simple'; - +sub build_form_tags {{ error_class => 'label label-secondary'}} has_field 'username' => ( type => 'Text', required => 1, element_attr => { placeholder => 'Username' }, element_class => [qw/login username-field/], - wrapper_class => [qw/field control-group/], + wrapper_class => [qw/login-fields field control-group/], error_class => [qw/error/], messages => { required => 'Please provide a username' @@ -24,12 +25,20 @@ has_field 'password' => ( required => 1, element_attr => { placeholder => 'Password' }, element_class => [qw/login password-field/], - wrapper_class => [qw/field control-group/], + wrapper_class => [qw/login-fields field control-group/], error_class => [qw/error/], messages => { required => 'Please provide a password' }, ); +has_field 'submit' => ( + type => 'Submit', + value => 'Sign In', + label => '', + element_class => [qw/button btn btn-primary btn-large/], + wrapper_class => [qw/login-actions/], +); + 1; # vim: set tabstop=4 expandtab: diff --git a/share/templates/login.tt b/share/templates/login.tt index 2a02350bec..00f521618f 100644 --- a/share/templates/login.tt +++ b/share/templates/login.tt @@ -1,29 +1,8 @@
- - [% IF error.message -%] -