/**
  * 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'));
 }
Beispiel #2
0
 public static function getPrettyUrlFor($obj)
 {
     if (!$obj) {
         return 'wrong_object';
     } else {
         dd($obj);
         return PrettyUrl::all()->where('prettyurlable_id', $obj->id)->first()->url;
     }
 }
Beispiel #3
0
 /**
  * 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'));
 }