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' %>.