Ejemplo n.º 1
0
 /**
  * Estabele a relação de seguir uma empresa
  * @param  String 	    $id 		Id da empresa a ser seguida
  * @return JSON     	Resultado da requisicao
  */
 public function getFollowempresa($id)
 {
     //$entidadeAtiva do usuario logado.
     $entidadeAtiva = Auth::user()->entidadeAtiva;
     $empresa = Empresa::findOrFail($id);
     //se ja nao seguir essa empresa
     if (!$entidadeAtiva->followEmpresa->find($empresa->id)) {
         $entidadeAtiva->followEmpresa()->attach($empresa->id);
         $entidadeAtiva->push();
         //Criando nova notificacao
         $novaNotificacao = Notificacao::create(['titulo' => 'Voce tem um novo seguidor', 'mensagem' => $entidadeAtiva->apelido . ' agora está te seguindo e vai receber seus posts', 'tipo_notificacao' => 'seguidor', 'url' => $entidadeAtiva->getUrl()]);
         //associando a entidadeAtiva com o from e o $empresa seguido como target
         $entidadeAtiva->fromNotificacoes()->save($novaNotificacao);
         $empresa->notificacoes()->save($novaNotificacao);
         $novaNotificacao->push();
     }
     $return['success'] = true;
     return json_encode($return);
 }
Ejemplo n.º 2
0
 /**
  * Metodo para se recuperar a entidade que tem o $id passado por parametro
  * OBS: necessita do input hidden tipoEntidade;
  */
 public function getEntidade($id)
 {
     $tipoEntidade = Input::get('tipoEntidade', '');
     switch ($tipoEntidade) {
         case 'App\\Perfil':
             $entidade = Perfil::findOrFail($id);
             break;
         case 'App\\Ong':
             $entidade = Ong::findOrFail($id);
             break;
         case 'App\\Empresa':
             $entidade = Empresa::findOrFail($id);
             break;
         case 'App\\Post':
             $entidade = Post::findOrFail($id);
             break;
         default:
             $entidade = '';
             // Se nao encontrar nenhuma entidade, quebrar?
             // App::abort(500, 'Entidade nao identificada');
             break;
     }
     return $entidade ? $entidade : false;
 }
Ejemplo n.º 3
0
 /**
  * Atualiza a Empresa e a prettyUrl da empresa
  * @param  Integer                    $id      Id da Empresa
  * @param  Requests\EditarEmpresaRequest $request Request personalizado da Empresa (trata tamanho do input)
  * @return View                             View da Empresa modificada
  */
 public function update($id, Requests\EditarEmpresaRequest $request)
 {
     $empresa = Empresa::findOrFail($id);
     $empresa->update($request->all());
     //Salvando foto da empresa;
     $file = Input::file('image');
     if ($file) {
         $destinationPath = public_path() . '/uploads/';
         $filename = self::formatFileNameWithUserAndTimestamps($file->getClientOriginalName());
         $upload_success = $file->move($destinationPath, $filename);
         if ($upload_success) {
             /* Settando tipo da foto atual para null */
             $currentAvatar = $empresa->avatar;
             $currentAvatar->tipo = null;
             $currentAvatar->save();
             $foto = new Foto(['path' => $destinationPath . $filename, 'tipo' => 'avatar']);
             $empresa->fotos()->save($foto);
         }
     }
     //Atualiza a url correspondente
     $empresa->prettyUrl()->update(['url' => $request->url]);
     return view('empresa.show', compact('empresa'));
 }