pgc-www/lib/MyApp/Controller/Auth.pm

42 lines
1.0 KiB
Perl

package MyApp::Controller::Auth;
use Mojo::Base 'Mojolicious::Controller', -signatures;
use List::Util qw( min max );
sub index ($self) {
my $msg = $self->flash('err');
$self->render(name_msg => $msg);
}
sub login ($self) {
my $logname = $self->param('logname');
if ($logname =~ m/^[[:alpha:]]+$/) {
$self->session(logname => $logname);
my $post_login = $self->session('post_login');
$self->session('post_login' => undef);
$self->redirect_to($post_login || 'home');
} else {
$self->flash(err => "Try again!");
$self->flash(attempted_name => $logname);
$self->redirect_to('auth');
}
}
sub logout ($self) {
$self->session(logname => undef);
$self->redirect_to('home');
}
sub preferences ($self) {
$self->session(
rows_per_page => max(
1, min($self->max_rpp, $self->param('rows_per_page'))
)
);
$self->flash(
confirmation => sprintf("Updated rows per page to %s.", $self->rpp)
);
$self->redirect_to('account');
}
1;