Files
dojo/lib/Dojo/Controller/Users.pm

56 lines
1.5 KiB
Perl
Raw Normal View History

2018-07-13 19:06:08 -05:00
package Dojo::Controller::Users;
use Mojo::Base 'Mojolicious::Controller';
use Dojo::Support qw{ merge_hash load_module };
sub login {
2018-07-25 19:07:29 -05:00
my $self = shift;
#falta si el usuario ya está registrado y llama a login.
2018-07-27 16:45:29 -05:00
if (($self->session('ureq')//0) == 4){
2018-07-25 19:07:29 -05:00
$self->stash( css=>["users/login/cssaForm.css"]);
$self->stash(template=>'users/logina') ;
$self->stash(layout=>"default");
}
2018-07-27 16:45:29 -05:00
elsif (($self->session('ureq')//0) == 2){
$self->stash( css=>["users/login/cssuForm.css"]);
$self->stash(template=>'users/loginu') ;
$self->stash(layout=>"defaultContact");
}
2018-07-25 19:07:29 -05:00
else{
$self->stash( css=>["users/login/cssForm.css"]);
$self->stash(layout=>"defaultContact");
}
my $user = $self->param('uname') // '';
my $pass = $self->param('pass') //'';
return $self->render unless my $pmid = $self->dbg->check($user, $pass);
$self->session(user => $user, pmid=>$pmid, nick=> $self->param('nick'));
2018-07-27 16:45:29 -05:00
$self->redirect_to($self->session('prev')) ;
2018-07-13 19:06:08 -05:00
}
sub is_logged {
my $self = shift;
return 1 if $self->session('user');
2018-07-27 16:45:29 -05:00
$self->session(ureq=>1,prev=>$self->url_for);
2018-07-25 19:07:29 -05:00
$self->redirect_to('login');
}
sub is_admin {
my $self = shift;
2018-07-27 16:45:29 -05:00
return 1 if ( ($self->session('pmid') //0) == 4);
2018-07-25 19:07:29 -05:00
$self->session(ureq=>4,prev=>$self->url_for);
2018-07-13 19:06:08 -05:00
$self->redirect_to('login');
}
2018-07-27 16:45:29 -05:00
sub is_grulla {
my $self = shift;
2018-07-27 18:55:22 -05:00
return 1 if (($self->session('pmid')//0)>=2);
2018-07-27 16:45:29 -05:00
$self->session(ureq=>2,prev=>$self->url_for);
$self->redirect_to('login');
}
2018-07-13 19:06:08 -05:00
sub logout {
my $self = shift;
$self->session(expires => 1);
$self->redirect_to('home');
}
1;