Пример #1
0
 private function exibir($request, $id, $preview, $perfil)
 {
     if (\App\ValidacoesAcesso::PodeAcessarPagina(\Config::get('app.profile')) == false) {
         return redirect('home');
     }
     //preview = true, somente visualizacao, desabilita botao gravar
     $dados = users::findOrfail($id);
     $where = ['empresas.id' => $this->dados_login->empresas_id, 'clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id];
     //Todas igrejas/instituições pertencentes a igreja sede
     $empresas = \App\Models\empresas::select('id', 'razaosocial')->where($where)->get();
     return view('profile.perfil', ['dados' => $dados, 'preview' => $preview, 'dados_login' => $this->dados_login]);
 }
Пример #2
0
 private function exibir($request, $id, $preview, $perfil)
 {
     if ($request->ajax()) {
         return URL::to('usuarios/' . $id . '/edit');
     }
     if (\App\ValidacoesAcesso::PodeAcessarPagina(\Config::get('app.profile')) == false) {
         return redirect('home');
     }
     //Pega dados do grupo do usuario cadastrado
     $grupo_do_usuario = \App\Models\usuarios_grupo::select('usuarios.admin', 'usuarios_grupo.grupos_id', 'usuarios_grupo.usuarios_empresas_id', 'usuarios_grupo.usuarios_empresas_clientes_cloud_id')->join('usuarios', 'usuarios.id', '=', 'usuarios_grupo.usuarios_id')->join('grupos', 'grupos.id', '=', 'usuarios_grupo.grupos_id')->where('usuarios_grupo.usuarios_id', $id)->get();
     //Todos grupos da empresa
     $grupos = \App\Models\grupos::select('id', 'nome')->where('empresas_id', $this->dados_login->empresas_id)->where('empresas_clientes_cloud_id', $this->dados_login->empresas_clientes_cloud_id)->get();
     //preview = true, somente visualizacao, desabilita botao gravar
     $dados = users::findOrfail($id);
     //Só exibir todas empresas se for usuário master
     if ($this->dados_login->master == 1) {
         $where = ['clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id];
     } else {
         $where = ['empresas.id' => $this->dados_login->empresas_id, 'clientes_cloud_id' => $this->dados_login->empresas_clientes_cloud_id];
     }
     //Todas igrejas/instituições pertencentes a igreja sede
     $empresas = \App\Models\empresas::select('id', 'razaosocial')->where($where)->get();
     if ($perfil == 'true') {
         return view('profile.perfil', ['dados' => $dados, 'preview' => $preview, 'grupos' => $grupos, 'empresas' => $empresas, 'grupo_do_usuario' => $grupo_do_usuario, 'dados_login' => $this->dados_login]);
     } else {
         return view('profile.edit', ['dados' => $dados, 'preview' => $preview, 'grupos' => $grupos, 'empresas' => $empresas, 'grupo_do_usuario' => $grupo_do_usuario, 'dados_login' => $this->dados_login]);
     }
 }
Пример #3
0
 public function store(\Illuminate\Http\Request $request)
 {
     //Validação de campos - request
     $this->validate($request, ['razaosocial' => 'required|max:255:min:3', 'foneprincipal' => 'required|min:8', 'emailprincipal' => 'email', 'emailsecundario' => 'email', 'cnpj' => 'cnpj']);
     //---------------------------------Cadastro do cliente cloud
     $image = $request->file('caminhologo');
     $input = $request->except(array('_token', 'ativo'));
     //não levar o token
     $clientes_cloud = new clientescloud();
     $clientes_cloud->razaosocial = $input['razaosocial'];
     $clientes_cloud->nomefantasia = $input['nomefantasia'];
     $clientes_cloud->cnpj = preg_replace("/[^0-9]/", '', $input['cnpj']);
     $clientes_cloud->inscricaoestadual = $input['inscricaoestadual'];
     $clientes_cloud->endereco = $input['endereco'];
     $clientes_cloud->numero = $input['numero'];
     $clientes_cloud->bairro = $input['bairro'];
     $clientes_cloud->cep = $input['cep'];
     $clientes_cloud->complemento = $input['complemento'];
     $clientes_cloud->cidade = $input['cidade'];
     $clientes_cloud->estado = $input['estado'];
     $clientes_cloud->foneprincipal = preg_replace("/[^0-9]/", '', $input['foneprincipal']);
     $clientes_cloud->fonesecundario = preg_replace("/[^0-9]/", '', $input['fonesecundario']);
     $clientes_cloud->emailprincipal = $input['emailprincipal'];
     $clientes_cloud->emailsecundario = $input['emailsecundario'];
     $clientes_cloud->nomecontato = $input['nomecontato'];
     $clientes_cloud->celular = $input['celular'];
     $clientes_cloud->ativo = 'S';
     //Sempre ativo quando cadastrar ?
     $clientes_cloud->website = $input['website'];
     if ($image) {
         $clientes_cloud->caminhologo = $image->getClientOriginalName();
     }
     $clientes_cloud->save();
     //--------------------------------- FIM - Cadastro do cliente cloud
     //Busca id da tabela empresas vinculada a tabela clientes_cloud
     $id_empresas = empresas::where('clientes_cloud_id', $clientes_cloud->id)->select('id')->first();
     /*------------------------- Vinculo tabela users com usuarios
      *
      * Grava o id (users, clientes_cloud e empresas) na tabela usuarios (id, empresas_clientes_cloud_id, empresas_id)
      */
     $usuarios = new usuario();
     $usuarios->id = Auth::user()->id;
     //id do usuário logado (tabela users)
     $usuarios->empresas_id = $id_empresas['id'];
     //Pegar ID do registro recém criado (clientes_cloud)
     $usuarios->empresas_clientes_cloud_id = $clientes_cloud->id;
     $usuarios->master = 1;
     //Criada a empresa a primeira vez, o usuario que cadastrou será o master e nao podera ser removido
     $usuarios->admin = 1;
     //O Master também é ADMIN
     $usuarios->save();
     //------------------------- FIM - Vinculo tabela users com usuarios
     //---------------------------Upload da imagem
     if ($image) {
         /*Regras validação imagem*/
         $rules = array('image' => 'image', 'image' => array('mimes:jpeg,jpg,png', 'max:200px'));
         // Validar regras
         $validator = Validator::make([$image], $rules);
         // Check to see if validation fails or passes
         if ($validator->fails()) {
             dd($validator);
         } else {
             $destinationPath = base_path() . '/public/images/clients';
             //caminho onde será gravado
             if (!$image->move($destinationPath, $image->getClientOriginalName())) {
                 return $this->errors(['message' => 'Erro ao salvar imagem.', 'code' => 400]);
             }
         }
     }
     //---------------------------FIM - Upload da imagem
     //----------------------------------Cria grupo padrão Administrador
     //A tabela grupos, dispara a triiger de INSERT e chama a  spCriarPermissoesPadrao(NEW.id) que cria as permissoes padrao para o Administrador
     $grupo_padrao = new \App\Models\grupos();
     $grupo_padrao->nome = "Administrador";
     $grupo_padrao->empresas_id = $id_empresas['id'];
     $grupo_padrao->empresas_clientes_cloud_id = $clientes_cloud->id;
     $grupo_padrao->default = 1;
     //Grupo padrão
     $grupo_padrao->save();
     //Ira disparar a trigger e chamar a spCriarPermissoesPadrao
     //----------------------------------FIM - Cria grupo padrão Administrador
     //------------------------------------Grava usuario e grupo
     //Usuario Admin com grupo padrão admin (com todas permissões)
     $usuarios_grupo = new \App\Models\usuarios_grupo();
     $usuarios_grupo->usuarios_id = Auth::user()->id;
     $usuarios_grupo->usuarios_empresas_id = $id_empresas['id'];
     $usuarios_grupo->usuarios_empresas_clientes_cloud_id = $clientes_cloud->id;
     $usuarios_grupo->grupos_id = $grupo_padrao->id;
     $usuarios_grupo->save();
     //------------------------------------FIM Grava usuario e grupo
     \Session::flash('flash_message', 'Dados Atualizados com Sucesso!!!');
     return redirect('clientes');
 }
Пример #4
0
 /**
  * Register any application authentication / authorization services.
  *
  * @param  \Illuminate\Contracts\Auth\Access\Gate  $gate
  * @return void
  */
 public function boot(GateContract $gate)
 {
     $this->registerPolicies($gate);
     //Verificação : Se for usuário recém cadastrado, verifica se já cadastrou os dados da empresa
     $gate->define('verifica_permissao', function ($user, $pagina, $acao) {
         //--------Verificar se o usuario ja cadastrou os dados da empresa
         $cadastrou = \App\Models\usuario::find($user->id);
         if ($cadastrou) {
             //Verifica se a empresa logada é sede, para das as devidas permissoes ao master
             $verifica_sede = \App\Models\empresas::select('igreja_sede')->findOrfail($cadastrou->empresas_id);
             $nome_igreja = \App\Models\empresas::select('razaosocial', 'caminhologo')->findOrfail($cadastrou->empresas_id);
             \Session::put('master_sede', $verifica_sede);
             \Session::put('nome_igreja', $nome_igreja->razaosocial);
             \Session::put('logo', $nome_igreja->caminhologo);
             \Session::put('dados_login', $cadastrou);
             \Session::put('tour_rapido', $cadastrou->tutorial);
             \Session::put('admin', $cadastrou->admin);
             \Session::put('tour_visaogeral', $cadastrou->tutorial_visaogeral);
             \Session::put('membro', $cadastrou->membro);
             //Ler todas permissoes do usuarios
             $permissoes = \DB::select('select incluir, alterar, excluir, visualizar, exportar, acessar, imprimir from view_permissoes_grupo where view_permissoes_grupo.usuario = ? and id_pagina = ? ', [$user->id, $pagina]);
             if ($permissoes) {
                 switch ($acao) {
                     case 'incluir':
                         if ($permissoes[0]->incluir == 1) {
                             return true;
                         }
                         break;
                     case 'alterar':
                         if ($permissoes[0]->alterar == 1) {
                             return true;
                         }
                         break;
                     case 'excluir':
                         if ($permissoes[0]->excluir == 1) {
                             return true;
                         }
                         break;
                     case 'visualizar':
                         if ($permissoes[0]->visualizar == "1") {
                             return true;
                         }
                         break;
                     case 'exportar':
                         if ($permissoes[0]->exportar == 1) {
                             return true;
                         }
                         break;
                     case 'imprimir':
                         if ($permissoes[0]->imprimir == 1) {
                             return true;
                         }
                         break;
                     case 'acessar':
                         if ($permissoes[0]->acessar == "1") {
                             return true;
                         }
                         break;
                     default:
                         return true;
                         //retorna true mesmo nao encontrando a ação, pois pode ser validacao somente se o usuario cadastrou os dados da empresa
                         break;
                 }
             } else {
                 return false;
             }
         } else {
             return false;
         }
     });
     //Verificação : Se for usuário recém cadastrado, verifica se já cadastrou os dados da empresa
     $gate->define('verifica_permissao_modulo', function ($user, $modulo) {
         if ($user) {
             //--------Verificar se o usuario ja cadastrou os dados da empresa
             $cadastrou = \App\Models\usuario::find($user->id);
             if ($cadastrou != null) {
                 //Ler todas permissoes do usuarios
                 $permissoes_modulos = \DB::select('select sum(acessar) as permissao_modulo, menu from view_permissoes_grupo where usuario = ? and menu = ? group by menu', [$user->id, $modulo]);
                 if ($permissoes_modulos) {
                     if ($permissoes_modulos[0]->permissao_modulo > 0) {
                         return true;
                     }
                 } else {
                     return false;
                 }
             } else {
                 return false;
             }
         } else {
             return false;
         }
     });
 }
Пример #5
0
 public function remove_image($id)
 {
     $empresas = empresas::findOrfail($id);
     if (!\File::delete(public_path() . '/images/clients/' . $empresas->caminhologo)) {
         \Session::flash('flash_message_erros', 'Erro ao remover imagem');
     } else {
         $empresas->caminhologo = '';
         $empresas->save();
         \Session::flash('flash_message', 'Imagem Removida com Sucesso!!!');
     }
     return redirect('empresas');
 }
Пример #6
0
 public function salvar($request, $id, $tipo_operacao)
 {
     $guarda_pai = 0;
     $input = $request->except(array('_token', 'ativo'));
     //não levar o token
     $this->validate($request, ['pessoas' => 'required', 'dia_encontro' => 'required', 'horario' => 'required']);
     if ($tipo_operacao == "create") {
         $dados = new celulas();
     } else {
         $dados = celulas::findOrfail($id);
         $guarda_pai = $dados->celulas_pai_id;
     }
     $dados->dia_encontro = $input['dia_encontro'];
     if ($input["horario"] < "12:00") {
         $dados->turno = "M";
     } else {
         if ($input["horario"] > "12:00" && $input["horario"] < "18:00") {
             $dados->turno = "T";
         } else {
             if ($input["horario"] > "18:00") {
                 $dados->turno = "N";
             }
         }
     }
     //$dados->turno = $input['turno'];
     $dados->regiao = $input['regiao'];
     $dados->horario = $input['horario'];
     $dados->horario2 = $input['horario2'];
     $dados->segundo_dia_encontro = $input['segundo_dia_encontro'];
     $dados->obs = $input['obs'];
     $dados->email_grupo = $input['email_grupo'];
     $dados->faixa_etaria_id = $input['faixa_etaria'] == "" ? null : $input['faixa_etaria'];
     $dados->publico_alvo_id = $input['publico_alvo'] == "" ? null : $input['publico_alvo'];
     $dados->nome = $input['nome'];
     $dados->cor = $input['cor'];
     $dados->data_previsao_multiplicacao = $this->formatador->FormatarData($input["data_previsao_multiplicacao"]);
     $dados->celulas_nivel1_id = $input['nivel1'] == "" ? null : $input['nivel1'];
     $dados->celulas_nivel2_id = $input['nivel2'] == "" ? null : $input['nivel2'];
     $dados->celulas_nivel3_id = $input['nivel3'] == "" ? null : $input['nivel3'];
     $dados->celulas_nivel4_id = $input['nivel4'] == "" ? null : $input['nivel4'];
     $dados->celulas_nivel5_id = $input['nivel5'] == "" ? null : $input['nivel5'];
     $dados->lider_pessoas_id = $input['pessoas'] == "" ? null : substr($input['pessoas'], 0, 9);
     $dados->vicelider_pessoas_id = $input['vicelider_pessoas_id'] == "" ? null : substr($input['vicelider_pessoas_id'], 0, 9);
     $dados->suplente1_pessoas_id = $input['suplente1_pessoas_id'] == "" ? null : substr($input['suplente1_pessoas_id'], 0, 9);
     $dados->suplente2_pessoas_id = $input['suplente2_pessoas_id'] == "" ? null : substr($input['suplente2_pessoas_id'], 0, 9);
     $dados->empresas_clientes_cloud_id = $this->dados_login->empresas_clientes_cloud_id;
     $dados->empresas_id = $this->dados_login->empresas_id;
     $dados->celulas_pai_id = $input['celulas_pai_id'] == "" ? null : $input['celulas_pai_id'];
     //SE FOR EDICAO E USUARIO TENTAR COLOCAR A CELULA PAI DA PROPRIA CELULA... NAO DEIXAR
     if ($tipo_operacao != "create") {
         if ($dados->celulas_pai_id == $id) {
             $dados->celulas_pai_id = null;
         }
     }
     $dados->origem = $input['origem'] == "" ? null : $input['origem'];
     if (isset($input["endereco_encontro"])) {
         $dados->endereco_encontro = $input['endereco_encontro'] == "" ? null : $input['endereco_encontro'];
     }
     if ($input["origem"] == "1") {
         $dados->data_multiplicacao = date('Y-m-d');
     }
     //BUSCAR SE O PAI TEM  GERACAO GRAVADA
     //Se for NULO, considerar então celulas_pai_id, caso contrario , pega o conteudo celulas_id_geracao do PAI e replica na celula que esta sendo gravada
     if ($input["origem"] != "") {
         if ($dados->celulas_pai_id != null && $dados->celulas_pai_id != 0) {
             if ($guarda_pai == 0) {
                 $guarda_pai = $dados->celulas_pai_id;
             }
             //BUSCA NA CELULA PAI SE TEM GERACAO INFORMADA
             $busca_geracao = \App\Models\celulas::select('celulas_id_geracao')->where('id', $dados->celulas_pai_id)->get();
             if ($busca_geracao[0]->celulas_id_geracao == null) {
                 $dados->celulas_id_geracao = $dados->celulas_pai_id;
             } else {
                 $dados->celulas_id_geracao = $busca_geracao[0]->celulas_id_geracao;
             }
         }
     }
     $dados->qual_endereco = $input['local'] == "" ? null : $input['local'];
     //Verifique qual endereco sera o encontro conforme selecao do local
     if (isset($input["endereco_encontro"])) {
         if ($dados->qual_endereco != "6") {
             switch ($dados->qual_endereco) {
                 case '1':
                     //lider
                     $id_pessoa_endereco = $dados->lider_pessoas_id;
                     break;
                 case '2':
                     //lider em treinamento
                     $id_pessoa_endereco = $dados->vicelider_pessoas_id;
                     break;
                 case '3':
                     //anfitriao
                     $id_pessoa_endereco = $dados->suplente1_pessoas_id;
                     break;
                 case '4':
                     //suplente
                     $id_pessoa_endereco = $dados->suplente2_pessoas_id;
                     break;
                 default:
                     $id_pessoa_endereco = "";
                     break;
             }
             if ($dados->qual_endereco == '5') {
                 $pegar_endereco = \App\Models\empresas::select('endereco', 'numero', 'bairro', 'cidade', 'estado', 'complemento')->findOrfail($this->dados_login->empresas_id);
                 $dados->endereco_encontro = $pegar_endereco->endereco . ', ' . $pegar_endereco->numero . ' - ' . $pegar_endereco->bairro . '  ' . $pegar_endereco->complemento;
             } else {
                 if ($id_pessoa_endereco != "") {
                     $pegar_endereco = \App\Models\pessoas::select('endereco', 'numero', 'bairro', 'cidade', 'estado', 'complemento')->findOrfail($id_pessoa_endereco);
                     $dados->endereco_encontro = $pegar_endereco->endereco . ', ' . $pegar_endereco->numero . ' - ' . $pegar_endereco->bairro . '  ' . $pegar_endereco->complemento;
                 }
             }
         }
     }
     $dados->data_inicio = $input["data_inicio"] != "" ? $this->formatador->FormatarData($input["data_inicio"]) : date('Y-m-d');
     $dados->save();
     //BUSCAR QTD DE FILHAS APOS INCLUSAO OU ALTERACAO DA CELULA
     if ($guarda_pai != 0 && $guarda_pai != null) {
         //PRIMEIRO PAI DO VETOR
         $this->qtd_pais[] = $guarda_pai;
         //MONTA VETOR COM TODOS OS PAIS A PARTIR DESSE PAI
         $this->buscaPai($guarda_pai);
     }
     if (isset($this->qtd_pais)) {
         for ($iSeq = 0; $iSeq < count($this->qtd_pais); $iSeq++) {
             if ($this->qtd_pais[$iSeq] != 0) {
                 $this->gravaQtdFilhos($this->qtd_pais[$iSeq]);
             }
         }
     }
     return $dados->id;
 }