$log->execute($c->user->id,$c->req->address
,$country,$c->sessionid,$remember);
- my $ref = $c->req->referer;
- $ref =~ s/^http:/https:/ unless $c->debug;
- $c->res->redirect($ref);
+ $c->forward('redirect');
return;
+ } elsif ($c->req->method eq 'POST'){
+ $c->res->status(400);
}
}
}else{
$c->stash(UID => -4);
}
+}
+sub redirect : Private {
+ my ($self, $c) = @_;
+ $c->res->redirect($c->uri_for('/'.$c->flash->{referrer}));
}
sub access_denied : Private {
my ($self, $c, $action) = @_;
$c->stash->{template} = 'access_denied.tt2';
+ $c->res->status(403);
}
sub end : ActionClass('RenderView') {
my ($self, $c) = @_;
+ if ($c->res->status == 302){
+ return;
+ }
+
my $dbh = $c ->model;
if (scalar @{ $c->error } ){
if ($c->error->[0] =~ m/Can't call method "id" on an undefined value at/){
$c->stash->{template} = 'access_denied.tt2';
+ $c->res->status(403);
$c->clear_errors;
}elsif ($c->error->[0] =~ m/Missing roles: /){
$c->stash->{template} = 'access_denied.tt2';
+ $c->res->status(403);
$c->clear_errors;
}
}
- if ($c->user_exists && $c->res->status == 200){
+ if ($c->user_exists){
my $fleetupdate = 0;
if ($c->check_user_roles(qw/member_menu/)){
$fleetupdate = $dbh->selectrow_array(q{SELECT tick FROM fleets WHERE sender = ?
|| $c->check_user_roles(qw/no_fleet_update/)))),
$c->forward('listTargets');
}
- if ($c->res->status == 200){
- my $birthdays = $dbh->prepare(q{SELECT username
+ my $birthdays = $dbh->prepare(q{SELECT username
,date_part('year',age(birthday)) AS age
FROM users WHERE birthday IS NOT NULL
AND mmdd(birthday) = mmdd(CURRENT_DATE)
});
- $birthdays->execute;
- $c->stash(birthdays => $birthdays->fetchall_arrayref({}));
+ $birthdays->execute;
+ $c->stash(birthdays => $birthdays->fetchall_arrayref({}));
+
+ if ($c->res->status == 200 || $c->req->method eq 'GET'){
+ $c->flash(referrer => $c->req->path);
}
}