From ebe37a68d39dbc1cc4f6af1c05301d5a5fc29c13 Mon Sep 17 00:00:00 2001 From: "Jannis M. Hoffmann" Date: Sun, 1 May 2022 22:35:48 +0200 Subject: mostly renamed 'noaction' to 'login' be carefult with GET vs POST --- lib/JWebmail.pm | 4 +-- lib/JWebmail/Controller/Webmail.pm | 8 +++-- templates/not_found_.html.ep | 4 +-- templates/webmail/about.html.ep | 2 +- templates/webmail/login.html.ep | 60 ++++++++++++++++++++++++++++++++++++++ templates/webmail/noaction.html.ep | 60 -------------------------------------- 6 files changed, 70 insertions(+), 68 deletions(-) create mode 100644 templates/webmail/login.html.ep delete mode 100644 templates/webmail/noaction.html.ep diff --git a/lib/JWebmail.pm b/lib/JWebmail.pm index 9899b05..98001a1 100644 --- a/lib/JWebmail.pm +++ b/lib/JWebmail.pm @@ -83,9 +83,9 @@ sub route { my $r = shift || $self->routes; - $r->get('/' => 'noaction')->to('Webmail#noaction'); + $r->get('/' => 'login')->to('Webmail#noaction'); + $r->post('/' => 'login')->to('Webmail#login'); $r->get('/about')->to('Webmail#about'); - $r->post('/login')->to('Webmail#login'); $r->get('/logout')->to('Webmail#logout'); my $a = $r->under('/')->to('Webmail#auth'); diff --git a/lib/JWebmail/Controller/Webmail.pm b/lib/JWebmail/Controller/Webmail.pm index d01abae..ee4a532 100644 --- a/lib/JWebmail/Controller/Webmail.pm +++ b/lib/JWebmail/Controller/Webmail.pm @@ -20,7 +20,9 @@ sub noaction { if ($user) { $self->res->code(307); $self->redirect_to('home'); + return; } + $self->render(action => 'login'); } @@ -71,7 +73,8 @@ sub login { my $passwd = $v->required('password')->size(4, 50)->like(qr/^.+$/)->param; # no new-lines if ($v->has_error) { - return $self->render(action => 'noaction', status => 400); + $self->render(status => 400); + return; } my $auth = $self->users->Auth(user => $user, password => $passwd); @@ -87,7 +90,6 @@ sub login { else { $self->render( status => 401, - action => 'noaction', warning => $self->l('login') . ' ' . $self->l('failed') . '!', ); } @@ -103,7 +105,7 @@ sub logout { # $self->session(expires => 1); $self->res->code(303); - $self->redirect_to('noaction'); + $self->redirect_to('login'); } diff --git a/templates/not_found_.html.ep b/templates/not_found_.html.ep index d1b353f..b96e46e 100644 --- a/templates/not_found_.html.ep +++ b/templates/not_found_.html.ep @@ -9,8 +9,8 @@ Not the page you are looking for.

- Go back or go to the start page. + Go back or go to the <%= link_to 'start page' => 'login' %>.

- \ No newline at end of file + diff --git a/templates/webmail/about.html.ep b/templates/webmail/about.html.ep index 60fe549..5cee603 100644 --- a/templates/webmail/about.html.ep +++ b/templates/webmail/about.html.ep @@ -64,7 +64,7 @@ diff --git a/templates/webmail/login.html.ep b/templates/webmail/login.html.ep new file mode 100644 index 0000000..4b2da5d --- /dev/null +++ b/templates/webmail/login.html.ep @@ -0,0 +1,60 @@ +% layout 'mainlayout'; + + + + + + + + + +% if (my $msg = flash('message') || stash('warning')) { + + +% } + + + + + + +
JWebmail – <%= ucfirst l 'login' %>
+ %= $msg + +
+ +%= javascript begin + if (!document.login1.userid.value) { + document.login1.userid.focus(); + } else { + document.login1.password.focus(); + } +% end diff --git a/templates/webmail/noaction.html.ep b/templates/webmail/noaction.html.ep deleted file mode 100644 index 2608bda..0000000 --- a/templates/webmail/noaction.html.ep +++ /dev/null @@ -1,60 +0,0 @@ -% layout 'mainlayout'; - - - - - - - - - -% if (my $msg = flash('message') || stash('warning')) { - - -% } - - - - - - -
JWebmail – <%= ucfirst l 'login' %>
- %= $msg - -
- -%= javascript begin - if (!document.login1.userid.value) { - document.login1.userid.focus(); - } else { - document.login1.password.focus(); - } -% end -- cgit v1.2.3