/** * Mostra a pagina inicial da Empresa * @param String $prettyUrl Se acessado diretamente, leva a suposta prettyUrl * @return View index.blade.php */ public function index($prettyUrl = null) { //se nao veio nada na sessao e nem na url if (!$prettyUrl && !Session::has('empresa')) { App::abort(404); } //se o dado da sessao for diferente da prettyUrl digitada, pegar da url $empresa = Session::get('empresa', null); if (is_null($empresa) || $prettyUrl != $empresa->getUrl()) { Session::forget('empresa'); $prettyUrlObj = PrettyUrl::all()->where('url', $prettyUrl)->first(); //Se parametro for uma prettyURL, pegar objeto Empresa. if (!is_null($prettyUrlObj)) { $empresa = App\Empresa::find($prettyUrlObj->prettyurlable_id); } else { $empresa = App\Empresa::find($prettyUrl); if (!$empresa) { App::abort(404); } } } // Verifica se o usuário logado tem permissão de edição da Empresa // Caso possua, habilita uma flag de edição para a view. if (Auth::user()->id == $empresa->user->id) { $empresa->podeEditar = true; } else { $empresa->podeEditar = false; } return view('empresa.show', compact('empresa')); }
public static function getPrettyUrlFor($obj) { if (!$obj) { return 'wrong_object'; } else { dd($obj); return PrettyUrl::all()->where('prettyurlable_id', $obj->id)->first()->url; } }
/** * Mostra a ong * * @param int $id * @return Response */ public function show($prettyUrl) { //se o dado da sessao for diferente da prettyUrl digitada, pegar da url $ong = Session::get('ong', null); if (is_null($ong) || $prettyUrl != $ong->getUrl()) { Session::forget('ong'); $prettyUrlObj = PrettyUrl::all()->where('url', $prettyUrl)->first(); //Se parametro for uma prettyURL, pegar objeto Ong. if (!is_null($prettyUrlObj)) { $ong = App\Ong::find($prettyUrlObj->prettyurlable_id); } else { $ong = App\Ong::find($prettyUrl); if (!$ong) { App::abort(404); } } } Session::put('perfil', $ong); $user = $ong->user; $perfil = $ong; $follow = $perfil->followPerfil; $followedBy = $perfil->followedByPerfil; $entidadeAtiva = $perfil; $posts = $ong->posts; return view('perfil.index', compact('user', 'perfil', 'follow', 'followedBy', 'posts', 'entidadeAtiva')); }
/** * Mostra o perfil de um usuario. * @param String $prettyUrl se acessado diretamente, passa a suposta prettyUrl * @return View Perfil do usuario em questao */ public function showUserProfile($prettyUrl = null) { //se nao veio nada na sessao e nem na url if (!$prettyUrl && !Session::has('perfil')) { App::abort(404); } //se o dado da sessao for diferente da prettyUrl digitada, pegar da url $perfil = Session::get('perfil', null); if (is_null($perfil) || $prettyUrl != $perfil->getUrl()) { Session::forget('perfil'); $prettyUrlObj = PrettyUrl::all()->where('url', $prettyUrl)->first(); //Se parametro for uma prettyURL, pegar objeto Perfil. if (!is_null($prettyUrlObj)) { $perfil = App\Perfil::find($prettyUrlObj->prettyurlable_id); } else { if (is_numeric($prettyUrl)) { $perfil = App\Perfil::findOrFail($prettyUrl); } else { App::abort(404); } } } $user = $perfil->user; $follow = $perfil->followPerfil; $followedBy = $perfil->followedByPerfil; $entidadeAtiva = $perfil; $posts = $entidadeAtiva->posts; return view('perfil.index', compact('user', 'perfil', 'follow', 'followedBy', 'posts', 'entidadeAtiva')); }