/** * 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')); }
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']); }
public function getCriarpagina() { $categoriasOngs = CategoriaOng::all(); $categoriasEmpresas = CategoriaEmpresa::all(); return view('paginas.criar', compact('categoriasOngs', 'categoriasEmpresas')); }
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')); }