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]); }
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]); } }
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'); }
/** * 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; } }); }
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'); }
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; }