Exemplo n.º 1
0
 /**
  * Metodo para filtrar Ongs por POST,
  * @param categoriaOng  -> id da categoria a ser usada no filtro
  * @param nome          -> nome a ser usado no filtro
  * @param cidade_id      -> id da cidade a ser usado no filtro
  */
 public function postFiltrarongs()
 {
     $categoriaOng = Request::get('filtro_categoria');
     $nome = Request::get('nome');
     $cidade_id = Request::get('filtro_cidade');
     $ongs = new Collection();
     //Filtrando resultados pelas categorias
     if ($categoriaOng && $categoriaOng != "null") {
         $ongsByCategoria = CategoriaOng::findOrFail($categoriaOng)->ongs;
         $ongs = $ongs->merge($ongsByCategoria);
     }
     //Fitrando resultados com base no nome
     if ($nome) {
         $ongsByNome = Ong::where('nome', 'ILIKE', "%" . $nome . "%")->get();
         //Se ja tiver filtrado por categoria, entao interseccionar os
         //resultados para maior relevancia
         if (count($ongs)) {
             $ongs = $ongs->intersect($ongsByNome);
         } else {
             $ongs = $ongs->merge($ongsByNome);
         }
     }
     //Filtrando resultados por Cidade
     if ($cidade_id) {
         $ongsByCidade = Cidade::findOrFail($cidade_id)->ongs;
         //Se ja tiver filtrado, entao interseccionar os
         //resultados para maior relevancia
         if (count($ongs)) {
             $ongs = $ongs->intersect($ongsByCidade);
         } else {
             $ongs = $ongs->merge($ongsByCidade);
         }
     }
     $cidades = Ong::getCidadesComOngs();
     $cidadesArray = array(0 => 'Cidade');
     foreach ($cidades as $cidade) {
         $cidadesArray[$cidade->id] = $cidade->nome;
     }
     $cidades = $cidadesArray;
     $categorias = Ong::getCategoriasComOngs();
     $categoriasArray = array(0 => 'Categoria');
     foreach ($categorias as $categoria) {
         $categoriasArray[$categoria->id] = $categoria->nomeTraduzido;
     }
     $categorias = $categoriasArray;
     //Se nao vier nenhum filtro, mostrar todas as ongs
     if (!$nome && (!$categoriaOng || $categoriaOng == "null") && !$cidade_id) {
         $ongs = Ong::all();
     }
     return view('cuidar.ongs', compact('ongs', 'categorias', 'cidades'));
 }
Exemplo n.º 2
0
 public function run()
 {
     DB::table('categoria_ongs')->delete();
     CategoriaOng::create(['nome' => 'global.ong_onu_cat-1']);
     CategoriaOng::create(['nome' => 'global.ong_onu_cat-2']);
     CategoriaOng::create(['nome' => 'global.ong_onu_cat-3']);
     CategoriaOng::create(['nome' => 'global.ong_onu_cat-4']);
     CategoriaOng::create(['nome' => 'global.ong_onu_cat-5']);
     CategoriaOng::create(['nome' => 'global.ong_onu_cat-6']);
     CategoriaOng::create(['nome' => 'global.ong_onu_cat-7']);
     CategoriaOng::create(['nome' => 'global.ong_onu_cat-8']);
 }
Exemplo n.º 3
0
 public function getCriarpagina()
 {
     $categoriasOngs = CategoriaOng::all();
     $categoriasEmpresas = CategoriaEmpresa::all();
     return view('paginas.criar', compact('categoriasOngs', 'categoriasEmpresas'));
 }
Exemplo n.º 4
0
 public function edit($id = 0)
 {
     $ong = Ong::findOrFail($id);
     $user = Auth::user();
     //Verificando se usuario logado é owner da ong atual
     //TODO: Model de permissoes..
     if ($ong->user->id != $user->id) {
         //Criar mensagens de erro padrão em configurações??
         App::abort(403, 'Ops, aparentemente voce não tem permissão para editar as informações dessa Ong');
     }
     $foto = $ong->getAvatarUrl();
     $fotoCapa = $ong->getCapaUrl();
     $categoriaSelecionada = $ong->categoria ? $ong->categoria->id : null;
     $categoriasOngs = CategoriaOng::all();
     $cidadeSelecionada = $ong->cidade ? $ong->cidade->id : null;
     $estadoSelecionado = $ong->estado ? $ong->estado->id : null;
     $nome = $ong->nome;
     //Ordenando array de cidades para ficar cidadeID => cidadeNome
     $cidades = Cidade::all()->keyBy('id');
     foreach ($cidades as $cidade) {
         $cidadesArray[$cidade->id] = $cidade->nome;
     }
     $cidades = $cidadesArray;
     //Ordenando array de estados para ficar estadoID => estadoNome
     $estados = Estado::all();
     $estadosArray = array(0 => 'Estado');
     foreach ($estados as $estado) {
         $estadosArray[$estado->id] = $estado->nome;
     }
     $estados = $estadosArray;
     //Trocando entidadeAtiva para essa ong
     Session::put('entidadeAtiva_id', $ong->id);
     Session::put('entidadeAtiva_tipo', 'ong');
     $ong->url = $ong->getUrl();
     return view('ong.edit', compact('user', 'ong', 'foto', 'fotoCapa', 'nome', 'categoriaSelecionada', 'categoriasOngs', 'cidades', 'estados', 'cidadeSelecionada', 'estadoSelecionado'));
 }