summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/JWebmail.pm4
-rw-r--r--lib/JWebmail/Controller/Webmail.pm8
2 files changed, 7 insertions, 5 deletions
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');
}