public function showVagas() { $vagas = Vaga::all(); $vaga = Vaga::all()->isEmpty(); $nivel = Nivel::lists('nome', 'id'); return view("gestorEmpregador")->with(array('vagas' => $vagas, 'nivel' => $nivel, 'vaga' => $vaga)); }
/** * Display a listing of the resource. * * @return Response */ public function index() { $causas = Vaga::all(); $categorias = Vaga::getCategoriasComVagas(); $cidades = Vaga::getCidadesComVagas(); $ongs = Vaga::getOngsComVagas(); $cidadesArray = array(null => trans('global.lbl_city')); foreach ($cidades as $cidade) { $cidadesArray[$cidade->id] = $cidade->nome; } $cidades = $cidadesArray; //Montando array de ongs para select $ongsArray = array(null => 'Ong'); foreach ($ongs as $ong) { $ongsArray[$ong->id] = $ong->nome; } $ongs = $ongsArray; //Montando array de categorias para select $categoriasArray = array(null => trans('global.lbl_category')); foreach ($categorias as $categoria) { $categoriasArray[$categoria->id] = $categoria->nomeTraduzido; } $categorias = $categoriasArray; return view('cuidar.index', compact('causas', 'categorias', 'cidades', 'ongs')); }
/** * Show the application dashboard to the user. * * @return Response */ public function index() { if (Auth::user()->estudante()->first()) { $estudante = Auth::user()->estudante()->first(); $d = true; $vista = 'estudante'; return view('gestorCurriculum', ['d' => $d, 'est' => $estudante, 'vista' => $vista]); } $idiomas = lingua::lists('idioma', 'id'); $_SESSION['estudante'] = true; $vagas = Vaga::all(); $cursos = \App\curso::all(); $nivel = Nivel::lists('nome', 'id'); $vaga = Vaga::all()->isEmpty(); $fillable = Auth::user()->get(); $fillable2 = Auth::user()->tipo; //$emp=Auth::user()->empregador()->first; $vista = 'estudanteGravar'; if ($fillable2 == 'estudante') { return view('gestorCurriculum', ['vista' => $vista]); } elseif ($fillable2 == 'empregador') { $vista = 'empregador'; $vagas = Vaga::all(); return view('gestorEmpregador', ['vagas' => $vagas, 'idiomas' => $idiomas, 'nivel' => $nivel, 'cursos' => $cursos, 'vista' => $vista]); } else { $idiomas = Idioma::lists('lingua', 'id'); $vaga = Vaga::all(); return view('gestorNucleo', ["vaga" => $vaga, "idiomas" => $idiomas]); } /* if($fillable.isEmpty()){ return view('gestorEmpregador',['vaga'=>$vaga]); }else return view('gestorCurriculum');*/ //return view('home'); }
/** * Metodo que retorna todas as Categorias atualmente usadas pelas Vagas. * @return Collection */ public static function getCategoriasComVagas() { //Obtendo a lista de todas as ongs com cidades. $categorias = Vaga::with('categoria')->whereNotNull('categoria_vaga_id')->get(); //se a Collection nao estiver vazia, entao listar categorias if (count($categorias)) { $categorias = array_unique($categorias->lists('categoria')); } return $categorias; }
/** * Metodo para filtrar Vagas 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 postFiltrarvagas() { $categoriaVaga = Request::get('filtro_categoria'); $cidade_id = Request::get('filtro_cidade'); $filtro_ong = Request::get('filtro_ong'); $categorias = Vaga::getCategoriasComVagas(); $cidades = Vaga::getCidadesComVagas(); $ongs = Vaga::getOngsComVagas(); $causas = new Collection(); //Montando array de ongs para select $ongsArray = array(null => 'Projeto'); foreach ($ongs as $ong) { $ongsArray[$ong->id] = $ong->nome; } $ongs = $ongsArray; //Montando array de cidades para select $cidadesArray = array(null => 'Cidade'); foreach ($cidades as $cidade) { $cidadesArray[$cidade->id] = $cidade->nome; } $cidades = $cidadesArray; //Montando array de categorias para select $categoriasArray = array(null => 'Categoria'); foreach ($categorias as $categoria) { $categoriasArray[$categoria->id] = $categoria->nomeTraduzido; } $categorias = $categoriasArray; //Filtrando resultados pelas categorias if ($categoriaVaga && $categoriaVaga != "null") { $vagasByCategoria = CategoriaVaga::findOrFail($categoriaVaga)->vagas; $causas = $causas->merge($vagasByCategoria); } //Filtrando resultados por Cidade if ($cidade_id) { $vagasByCidade = Cidade::findOrFail($cidade_id)->vagas; //Se ja tiver filtrado, entao interseccionar os //resultados para maior relevancia if (count($causas)) { $causas = $causas->intersect($vagasByCidade); } else { $causas = $causas->merge($vagasByCidade); } } if ($filtro_ong) { $causasByOng = Ong::findOrFail($filtro_ong)->vagas; if (count($causas)) { $causas = $causas->intersect($causasByOng); } else { $causas = $causas->merge($causasByOng); } } if (!$cidade_id && (!$categoriaVaga || $categoriaVaga == "null") && !$filtro_ong) { $causas = Vaga::all(); } return view('cuidar.vagas', compact('causas', 'categorias', 'cidades', 'ongs')); }
/** * Remove o Perfil se o Perfil ja for voluntario na Vaga de $vagaId, * @param [type] $id [description] * @param [type] $vagaId [description] */ public function getUnvoluntariarse($vagaId) { $User = Auth::user(); $Candidato = $User->perfil; $vaga = Vaga::findOrFail($vagaId); //Se ja for voluntario, unsubscribe if ($vaga->voluntarios->find($Candidato->id)) { $vaga->voluntarios()->detach($Candidato->id); $vaga->push(); } $voluntarios = $vaga->voluntarios; return view('vaga.show', compact('vaga', 'voluntarios', 'Candidato')); }
/** * Register any other events for your application. * * @param \Illuminate\Contracts\Events\Dispatcher $events * @return void */ public function boot(DispatcherContract $events) { parent::boot($events); Ong::observe(new GenericObserver()); Vaga::observe(new GenericObserver()); }