Esempio n. 1
0
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function edit($id)
 {
     $vaga = Vaga::findOrFail($id);
     $categoriaSelecionada = $vaga->categoria ? $vaga->categoria->id : null;
     $cidadeSelecionada = $vaga->cidade ? $vaga->cidade->id : null;
     $estadoSelecionado = $vaga->estado ? $vaga->estado->id : null;
     //@TODO: Arranjar meio seguro de pegar ongs, se alguma outra entidade for owner talvez de problema.
     $ongSelecionada = $vaga->owner->id;
     if (!$vaga->podeEditar) {
         App::abort(403, "Voce não tem permissao para editar essa Vaga");
     }
     //Obtendo ongs do usuario
     $ongs = Auth::user()->ongs;
     //Montando array de ongs para select
     $ongsArray = array(0 => 'Projeto');
     foreach ($ongs as $ong) {
         $ongsArray[$ong->id] = $ong->nome;
     }
     $ongs = $ongsArray;
     $categoriasVaga = CategoriaVaga::all();
     //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;
     return view('vaga.edit', compact('vaga', 'categoriasVaga', 'ongs', 'cidades', 'estados', 'categoriaSelecionada', 'cidadeSelecionada', 'estadoSelecionado', 'ongSelecionada'));
 }