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

42 lines
1.0 KiB
Perl
Raw Normal View History

2022-09-14 10:35:08 +00:00
package MyApp::Controller::Auth;
use Mojo::Base 'Mojolicious::Controller', -signatures;
use List::Util qw( min max );
2022-09-14 18:22:33 +00:00
2022-09-14 10:35:08 +00:00
sub index ($self) {
my $msg = $self->flash('err');
2022-09-14 18:22:33 +00:00
$self->render(name_msg => $msg);
2022-09-14 10:35:08 +00:00
}
sub login ($self) {
my $logname = $self->param('logname');
2022-09-14 18:22:33 +00:00
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');
2022-09-14 18:22:33 +00:00
} else {
$self->flash(err => "Try again!");
$self->flash(attempted_name => $logname);
2022-09-14 18:22:33 +00:00
$self->redirect_to('auth');
}
2022-09-14 10:35:08 +00:00
}
2022-09-14 16:58:34 +00:00
sub logout ($self) {
$self->session(logname => undef);
2022-09-14 17:52:19 +00:00
$self->redirect_to('home');
2022-09-14 16:58:34 +00:00
}
2022-09-19 10:50:01 +00:00
sub preferences ($self) {
$self->session(
rows_per_page => max(
1, min($self->max_rpp, $self->param('rows_per_page'))
)
);
2022-09-19 10:50:01 +00:00
$self->flash(
confirmation => sprintf("Updated rows per page to %s.", $self->rpp)
);
$self->redirect_to('account');
}
2022-09-14 10:35:08 +00:00
1;