/**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function index(Request $request)
 {
     if (strlen($request['nome']) > 0) {
         if ($request['iniciativa'][0] != 0) {
             $gestores = DB::table('usuarios')->join('role_user', 'role_user.user_id', '=', 'usuarios.idUsuario')->join('iniciativas', 'iniciativas.idIniciativa', '=', 'usuarios.iniciativa_id')->select('usuarios.idUsuario', 'usuarios.nome', 'usuarios.sobrenome', 'usuarios.email', 'iniciativas.nome as nomeIniciativa')->where('usuarios.nome', 'like', "%{$request['nome']}%")->where('role_user.role_id', '=', 2)->whereIn('iniciativas.idIniciativa', $request['iniciativa'])->paginate(10);
         } else {
             $gestores = DB::table('usuarios')->join('role_user', 'role_user.user_id', '=', 'usuarios.idUsuario')->join('iniciativas', 'iniciativas.idIniciativa', '=', 'usuarios.iniciativa_id')->select('usuarios.idUsuario', 'usuarios.nome', 'usuarios.sobrenome', 'usuarios.email', 'iniciativas.nome as nomeIniciativa')->where('usuarios.nome', 'like', "%{$request['nome']}%")->where('role_user.role_id', '=', 2)->paginate(10);
         }
     } else {
         if ($request['iniciativa'][0] != 0) {
             $gestores = DB::table('usuarios')->join('role_user', 'role_user.user_id', '=', 'usuarios.idUsuario')->join('iniciativas', 'iniciativas.idIniciativa', '=', 'usuarios.iniciativa_id')->select('usuarios.idUsuario', 'usuarios.nome', 'usuarios.sobrenome', 'usuarios.email', 'iniciativas.nome as nomeIniciativa')->where('role_user.role_id', '=', 2)->whereIn('iniciativas.idIniciativa', $request['iniciativa'])->paginate(10);
         } else {
             $gestores = DB::table('usuarios')->join('role_user', 'role_user.user_id', '=', 'usuarios.idUsuario')->join('iniciativas', 'iniciativas.idIniciativa', '=', 'usuarios.iniciativa_id')->select('usuarios.idUsuario', 'usuarios.nome', 'usuarios.sobrenome', 'usuarios.email', 'iniciativas.nome as nomeIniciativa')->where('role_user.role_id', '=', 2)->paginate(10);
         }
     }
     $ufs = DB::table('uf')->orderBy('uf')->lists('uf', 'idUf');
     $iniciativas = Iniciativa::all()->lists('nome', 'idIniciativa');
     $selected = isset($request['iniciativa']) ? $request['iniciativa'] : array(0);
     return view('iniciativas.gestores.index', compact('gestores', 'ufs', 'iniciativas', 'selected'));
 }
 private function reportIniciativaInstituicaoGeral()
 {
     $dados = \Lava::DataTable();
     $dados->addStringColumn('Instituição')->addNumberColumn('Total')->addNumberColumn('Apoiadoras')->addNumberColumn('Mantenedoras');
     $ci = Iniciativa::has('instituicoes')->count();
     $si = Iniciativa::has('instituicoes', '=', 0)->count();
     $ip = Iniciativa::whereHas('instituicoes', function ($query) {
         $query->where('tipoVinculo', 1);
     })->count();
     $im = Iniciativa::whereHas('instituicoes', function ($query) {
         $query->where('tipoVinculo', 2);
     })->count();
     $dados->addRow(['C/ Instituições', $ci, $ip, $im]);
     $dados->addRow(['S/ Instituições', $si]);
     return $dados;
 }
Example #3
0
 /**
  * Retorna as informações de uma iniciativa
  * @param $id
  */
 public function getIniciativa($id = null)
 {
     if ($id) {
         $iniciativa = Iniciativa::findOrFail($id);
         $instituicoes = [];
         foreach ($iniciativa->instituicoes as $instituicao) {
             $cidade = DB::table('cidades')->select('nomeCidade', 'uf_id')->where('idCidade', '=', $instituicao->endereco->cidade_id)->first();
             $uf = DB::table('uf')->select('uf')->where('idUf', '=', $cidade->uf_id)->first();
             $instituicoes[] = array('idInstituicao' => $instituicao->idInstituicao, 'nome' => $instituicao->nome, 'nomeCidade' => $cidade->nomeCidade, 'uf' => $uf->uf, 'tipoVinculo' => $instituicao->pivot->tipoVinculo == 1 ? 'Apoiador' : 'Mantenendor');
         }
         $dimensoes = [];
         $dm = DB::table('dimensoes')->select('dimensao', 'idDimensao')->lists('dimensao', 'idDimensao');
         foreach ($iniciativa->dimensoes as $dimensao) {
             $dimensoes[] = $dm[$dimensao->idDimensao];
         }
         $cidade = DB::table('cidades')->select('nomeCidade', 'uf_id')->where('idCidade', '=', $iniciativa->endereco->cidade_id)->first();
         $uf = DB::table('uf')->select('uf')->where('idUf', '=', $cidade->uf_id)->first();
         $tipo = DB::table('iniciativaTipos')->select('tipo')->where('idTipo', '=', $iniciativa->tipo_id)->first();
         $localidade = DB::table('localidades')->select('localidade')->where('idLocalidade', '=', $iniciativa->endereco->localidade_id)->first();
         $localizacao = DB::table('localizacoes')->select('localizacao')->where('idLocalizacao', '=', $iniciativa->endereco->localizacao_id)->first();
         $naturezaJuridica = DB::table('naturezasJuridicas')->select('naturezaJuridica')->where('idNatureza', '=', $iniciativa->naturezaJuridica_id)->first();
         $categoria = DB::table('iniciativaCategorias')->select('categoria')->where('idCategoria', '=', $iniciativa->categoria_id)->first();
         return ['idIniciativa' => $iniciativa->idIniciativa, 'tipo' => isset($tipo->tipo) ? $tipo->tipo : null, 'nome' => $iniciativa->nome, 'sigla' => $iniciativa->sigla, 'endereco' => ['cep' => $iniciativa->endereco->cep, 'logradouro' => $iniciativa->endereco->logradouro, 'numero' => $iniciativa->endereco->numero, 'complemento' => $iniciativa->endereco->complemento, 'bairro' => $iniciativa->endereco->bairro, 'uf' => $uf->uf, 'cidade' => $cidade->nomeCidade, 'latitude' => $iniciativa->endereco->latitude, 'longitude' => $iniciativa->endereco->longitude, 'localidade' => isset($localidade->localidade) ? $localidade->localidade : null, 'localizacao' => isset($localizacao->localizacao) ? $localizacao->localizacao : null], 'email' => $iniciativa->email, 'url' => $iniciativa->url, 'objetivo' => $iniciativa->objetivo, 'informacaoComplementar' => $iniciativa->informacaoComplementar, 'categoria' => isset($categoria->categoria) ? $categoria->categoria : null, 'fonte' => $iniciativa->fonte, 'telefones' => $iniciativa->telefones, 'instituicoes' => $instituicoes, 'dimensoes' => $dimensoes];
     }
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request)
 {
     $this->validate($request, ['tipo_id' => 'required|exists:iniciativaTipos,idTipo', 'nome' => 'required|min:3|max:255', 'sigla' => 'min:2|max:10', 'endereco.logradouro' => 'required|min:3|max:150', 'endereco.bairro' => 'required|min:3|max:150', 'endereco.uf' => 'required', 'endereco.cidade_id' => 'required|exists:cidades,idCidade', 'endereco.latitude' => 'numeric', 'endereco.longitude' => 'numeric', 'endereco.localidade_id' => 'exists:localidades,idLocalidade', 'endereco.localizacao_id' => 'exists:localizacoes,idLocalizacao', 'naturezaJuridica_id' => 'exists:naturezasJuridicas,idNatureza', 'email' => 'required|email', 'url' => 'url', 'objetivo' => 'min:3|max:255', 'informacaoComplementar' => 'min:3|max:1000', 'categoria_id' => 'required|exists:iniciativaCategorias,idCategoria', 'fonte' => 'required|min:3|max:255']);
     $iniciativa = Iniciativa::findOrFail($request['idIniciativa']);
     $iniciativa->endereco()->update($request['endereco']);
     $iniciativa->update($request->all());
     $telefones = [];
     foreach ($request['telefones'] as $telefone) {
         if ($telefone['idTelefone'] == null) {
             $tel = $iniciativa->telefones()->create($telefone);
             $telefones[] = $tel->idTelefone;
         } else {
             $tel = Telefone::find($telefone['idTelefone']);
             $tel->update($telefone);
             $telefones[] = $tel->idTelefone;
         }
     }
     $iniciativa->telefones()->sync($telefones);
     $instituicoes = [];
     foreach ($request['instituicoes'] as $instituicao) {
         $instituicoes[$instituicao['idInstituicao']] = array('tipoVinculo' => $instituicao['tipoVinculo']);
     }
     $iniciativa->instituicoes()->sync($instituicoes);
     $iniciativa->dimensoes()->sync($request['dimensoes']);
     return $this->show($iniciativa->idIniciativa);
 }
Example #5
0
 /**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function index(Request $request)
 {
     if (isset($request['ativo'])) {
         switch ($request['ativo']) {
             case 1:
                 $ativo = [1];
                 break;
             case 2:
                 $ativo = [0];
                 break;
             case 3:
                 $ativo = [1, 0];
                 break;
         }
     } else {
         $ativo = [1];
     }
     if (strlen($request['nome']) > 0) {
         if ($request['uf'] != 0) {
             if ($request['cidade_id'] != 0) {
                 //cidade + nome
                 if (Defender::hasRole('gestor')) {
                     $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('pids.nome', 'like', "%{$request['nome']}%")->where('cidades.idCidade', '=', $request['cidade_id'])->where('pid_iniciativas.iniciativa_id', '=', Auth::user()->iniciativa_id)->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10);
                 } else {
                     if ($request['iniciativa'][0] != 0) {
                         $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->whereIn('pid_iniciativas.iniciativa_id', $request['iniciativa'])->where('pids.nome', 'like', "%{$request['nome']}%")->where('cidades.idCidade', '=', $request['cidade_id'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10);
                     } else {
                         $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('pids.nome', 'like', "%{$request['nome']}%")->where('cidades.idCidade', '=', $request['cidade_id'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10);
                     }
                 }
             } else {
                 //uf + nome
                 if (Defender::hasRole('gestor')) {
                     $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('pid_iniciativas.iniciativa_id', '=', Auth::user()->iniciativa_id)->where('pids.nome', 'like', "%{$request['nome']}%")->where('uf.idUf', '=', $request['uf'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10);
                 } else {
                     if ($request['iniciativa'][0] != 0) {
                         $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->whereIn('pid_iniciativas.iniciativa_id', $request['iniciativa'])->where('pids.nome', 'like', "%{$request['nome']}%")->where('uf.idUf', '=', $request['uf'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10);
                     } else {
                         $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('pids.nome', 'like', "%{$request['nome']}%")->where('uf.idUf', '=', $request['uf'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10);
                     }
                 }
             }
         } else {
             //nome
             if (Defender::hasRole('gestor')) {
                 $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('pid_iniciativas.iniciativa_id', '=', Auth::user()->iniciativa_id)->where('pids.nome', 'like', "%{$request['nome']}%")->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10);
             } else {
                 if ($request['iniciativa'][0] != 0) {
                     $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->whereIn('pid_iniciativas.iniciativa_id', $request['iniciativa'])->where('pids.nome', 'like', "%{$request['nome']}%")->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10);
                 } else {
                     $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('pids.nome', 'like', "%{$request['nome']}%")->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10);
                 }
             }
         }
     } else {
         if ($request['uf'] != 0) {
             if ($request['cidade_id'] != 0) {
                 //cidade
                 if (Defender::hasRole('gestor')) {
                     $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('pid_iniciativas.iniciativa_id', '=', Auth::user()->iniciativa_id)->where('cidades.idCidade', '=', $request['cidade_id'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10);
                 } else {
                     if ($request['iniciativa'][0] != 0) {
                         $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->whereIn('pid_iniciativas.iniciativa_id', $request['iniciativa'])->where('cidades.idCidade', '=', $request['cidade_id'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10);
                     } else {
                         $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('cidades.idCidade', '=', $request['cidade_id'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10);
                     }
                 }
             } else {
                 //uf
                 if (Defender::hasRole('gestor')) {
                     $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('pid_iniciativas.iniciativa_id', '=', Auth::user()->iniciativa_id)->where('uf.idUf', '=', $request['uf'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10);
                 } else {
                     if ($request['iniciativa'][0] != 0) {
                         $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->whereIn('pid_iniciativas.iniciativa_id', $request['iniciativa'])->where('uf.idUf', '=', $request['uf'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10);
                     } else {
                         $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('uf.idUf', '=', $request['uf'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10);
                     }
                 }
             }
         } else {
             //todos
             if (Defender::hasRole('gestor')) {
                 $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->where('pid_iniciativas.iniciativa_id', '=', Auth::user()->iniciativa_id)->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10);
             } else {
                 if ($request['iniciativa'][0] != 0) {
                     $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->join('pid_iniciativas', 'pid_id', '=', 'pids.idPid')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->whereIn('pid_iniciativas.iniciativa_id', $request['iniciativa'])->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10);
                 } else {
                     $pids = DB::table('pids')->join('enderecos', 'pids.endereco_id', '=', 'enderecos.idEndereco')->join('cidades', 'enderecos.cidade_id', '=', 'cidades.idCidade')->join('uf', 'cidades.uf_id', '=', 'uf.idUf')->select('pids.*', 'cidades.nomeCidade', 'uf.uf')->whereIn('pids.ativo', $ativo)->orderBy('pids.nome', 'asc')->paginate(10);
                 }
             }
         }
     }
     $ufs = DB::table('uf')->orderBy('uf')->lists('uf', 'idUf');
     $iniciativas = Iniciativa::all()->lists('nome', 'idIniciativa');
     $selected = isset($request['iniciativa']) ? $request['iniciativa'] : array(0);
     return view('pids.index', compact('pids', 'ufs', 'iniciativas', 'selected'));
 }