/** * 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')); }