Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Interface::Controller::Privado;
- use Moose;
- use namespace::autoclean;
- BEGIN { extends 'Catalyst::Controller'; }
- =head1 NAME
- interface::Controller::Privado - Catalyst Controller
- =head1 DESCRIPTION
- Catalyst Controller.
- =head1 METHODS
- =cut
- =head2 base
- =cut
- sub base : Chained('/') : PathPart('privado') : CaptureArgs(0) {
- my ( $self, $c ) = @_;
- $c->stash(
- buscas => $c->model('EclapsDB::Busca'),
- procurar => $c->model('EclapsDB::Procurar'),
- spiders => $c->model('EclapsDB::Spider'),
- empresas => $c->model('EclapsDB::Empresa'),
- usertoempresas => $c->model('EclapsDB::UserToEmpresa'),
- procurarbuscafiltro => $c->model('EclapsDB::ProcurarBuscaFiltro'),
- usuarios => $c->model('EclapsDB::User'),
- roles => $c->model('EclapsDB::Role'),
- );
- }
- =head2 logar
- Se loga autenticando o usuario.
- =cut
- sub logar : Chained('base') : PathPart('logar') : Args(0) {
- my ( $self, $c ) = @_;
- if (
- $c->authenticate(
- {
- username => $c->req->params->{'username'},
- password => $c->req->params->{'password'}
- }
- )
- )
- {
- $c->response->body('Estou logado');
- $c->res->redirect( $c->uri_for('inicio') );
- }
- else {
- $c->stash( template => 'privado/logar.tt' );
- }
- }
- =head2 deslogar
- Se desloga.
- =cut
- sub deslogar : Chained('base') : PathPart('deslogar') : Args(0) {
- my ( $self, $c ) = @_;
- $c->logout();
- $c->res->redirect('/');
- }
- =head2 inicio
- Depois de se autenticar, mostra as empresas que o usuario tem acesso.
- =cut
- sub inicio : Chained('base') : PathPart('inicio') : Args(0) {
- my ( $self, $c ) = @_;
- unless ( $c->user_exists() ) {
- $c->res->redirect('/');
- $c->detach();
- return;
- }
- my $itens_user =
- $c->stash->{'usertoempresas'}->search( { user_id => $c->user->id } );
- $c->stash( itens_user => $itens_user );
- }
- sub configurar : Chained('base') : PathPart('empresa') : CaptureArgs(1) {
- my ( $self, $c, $empresa_id ) = @_;
- unless ( $c->user_exists() ) {
- $c->res->redirect('/');
- $c->detach();
- return;
- }
- $c->stash( empresa_id => $empresa_id );
- my $empresa_nome =
- $c->stash->{'empresas'}->find( { id => $empresa_id } )->empresa;
- $c->stash( empresa_nome => $empresa_nome );
- use aliased 'Interface::Form::Manipular';
- my $manipular = Manipular->new(
- db => $c->stash->{'procurar'},
- empresa_id => $c->stash->{'empresa_id'},
- );
- my $busca_empresa =
- $c->stash->{'buscas'}->search( { 'empresas_id' => $empresa_id } );
- $c->stash( manipular => $manipular, busca_empresa => $busca_empresa );
- }
- =head2 mostrar
- Mostra a página de configuração dos spiders.
- =cut
- sub mostrar : Chained('configurar') : PathPart('mostrar') : Args(0) {
- my ( $self, $c ) = @_;
- unless ( $c->user_exists() ) {
- $c->res->redirect('/');
- $c->detach();
- return;
- }
- $c->stash( template => 'privado/mostrar.tt' );
- }
- =head2 salvar_busca
- Adiciona a busca no banco de dados.
- =cut
- sub salvar_busca : Chained('configurar') : PathPart('salvar_busca') : Args(0) {
- my ( $self, $c ) = @_;
- unless ( $c->user_exists() ) {
- $c->res->redirect('/');
- $c->detach();
- return;
- }
- my $busca = $c->req->body_params->{'inserir_busca'};
- if ($busca) {
- my $manipular = $c->stash->{'manipular'};
- $manipular->db( $c->stash->{'buscas'} );
- $manipular->salvar_busca($busca);
- }
- $c->res->redirect(
- $c->uri_for( 'empresa', $c->stash->{'empresa_id'}, 'mostrar' ) );
- }
- =head2 salvar_config
- Salva a configuração dos spiders.
- =cut
- sub salvar_config : Chained('configurar') : PathPart('salvar_config') : Args(0)
- {
- my ( $self, $c ) = @_;
- unless ( $c->user_exists() ) {
- $c->res->redirect('/');
- $c->detach();
- return;
- }
- my $manipular = $c->stash->{'manipular'};
- $manipular->db( $c->stash->{'procurar'} );
- $manipular->salvar_config( $c->req->body_params );
- $c->res->redirect(
- $c->uri_for( 'empresa', $c->stash->{'empresa_id'}, 'mostrar' ) );
- }
- =head2 filtro_palavras
- Mostra as palavras que nao é para pegar dentro das buscas.
- =cut
- sub filtro_palavras : Chained('configurar') : PathPart('mostrar') :
- CaptureArgs(1) {
- my ( $self, $c, $busca_id ) = @_;
- unless ( $c->user_exists() ) {
- $c->res->redirect('/');
- $c->detach();
- return;
- }
- $c->stash( my_busca_id => $busca_id );
- my $manipular = $c->stash->{'manipular'};
- $manipular->db( $c->stash->{'procurarbuscafiltro'} );
- $c->stash->{'filtro_manipular'} = $manipular;
- }
- =head2 filtro
- Mostra as palavras filtradas.
- =cut
- sub filtro : Chained('filtro_palavras') : PathPart('') : Args(0) {
- my ( $self, $c ) = @_;
- my $palavras_filtro =
- $c->stash->{'filtro_manipular'}
- ->palavras_filtradas( $c->stash->{'my_busca_id'} );
- $c->stash->{'palavras_filtro'} = $palavras_filtro;
- }
- =head2 salvar_filtro
- Adiciona a palavra ao filtro.
- =cut
- sub salvar_filtro : Chained('filtro_palavras') : PathPart('salvar') : Args(0) {
- my ( $self, $c ) = @_;
- # - Inclui a palavra na tabela de filtros.
- my $palavra = $c->req->body_params->{'palavra'};
- my $busca_id = $c->stash->{'my_busca_id'};
- if ($palavra) {
- $c->stash->{'filtro_manipular'}
- ->palavras_filtradas_salvar( $busca_id, $palavra );
- }
- $c->res->redirect(
- $c->uri_for(
- 'empresa', $c->stash->{'empresa_id'},
- 'mostrar', $busca_id
- )
- );
- }
- =head2 deletar_filtro
- Apaga o filtro desejado.
- =cut
- sub deletar_filtro : Chained('filtro_palavras') : PathPart('deletar') : Args(0)
- {
- my ( $self, $c ) = @_;
- my $palavra = $c->req->body_params->{'select'};
- my $busca_id = $c->stash->{'my_busca_id'};
- if ($palavra) {
- $c->stash->{'filtro_manipular'}
- ->palavras_filtradas_deletar( $busca_id, $palavra );
- }
- $c->res->redirect(
- $c->uri_for(
- 'empresa', $c->stash->{'empresa_id'},
- 'mostrar', $busca_id
- )
- );
- }
- =head1 AUTHOR Daniel de Oliveira Mantovani,,,
- =head1 LICENSE
- This library is free software. You can redistribute it and/or modify
- it under the same terms as Perl itself.
- =cut
- __PACKAGE__->meta->make_immutable;
- 1;
Add Comment
Please, Sign In to add comment