示例#1
0
 public function modificar($idNov)
 {
     $vdt = new Validate\QuickValidator(array($this, 'notFound'));
     $vdt->test($idNov, new Validate\Rule\NumNatural());
     $novedad = Novedad::with('contenido')->findOrFail($idNov);
     $contenido = $novedad->contenido;
     $usuario = $this->session->getUser();
     $req = $this->request;
     $vdt = $this->validarNovedad($req->post());
     $novedad->cuerpo = $vdt->getData('cuerpo');
     $novedad->save();
     $contenido->titulo = $vdt->getData('titulo');
     $contenido->categoria_id = $vdt->getData('categoria');
     if ($contenido->impulsor xor $vdt->getData('asociar')) {
         $partido = $usuario->partido;
         if ($partido && $vdt->getData('asociar')) {
             $contenido->impulsor()->associate($partido);
         } else {
             $contenido->impulsor()->dissociate();
         }
     }
     $contenido->save();
     TagCtrl::updateTags($contenido, TagCtrl::getTagIds($vdt->getData('tags')));
     $this->flash('success', 'Los datos de la novedad fueron modificados exitosamente.');
     $this->redirectTo('shwNovedad', array('idNov' => $idNov));
 }
示例#2
0
 public static function boot()
 {
     parent::boot();
     static::deleting(function ($novedad) {
         TagCtrl::updateTags($evento->contenido, array());
         foreach ($novedad->comentarios as $comentario) {
             $comentario->delete();
         }
         $novedad->contenido->delete();
         return true;
     });
 }
示例#3
0
 public static function boot()
 {
     parent::boot();
     static::deleting(function ($problemat) {
         TagCtrl::updateTags($problemat->contenido, array());
         foreach ($problemat->comentarios as $comentario) {
             $comentario->delete();
         }
         $problemat->votos()->delete();
         $problemat->contenido->delete();
         return true;
     });
 }
示例#4
0
 public static function boot()
 {
     parent::boot();
     static::deleting(function ($documento) {
         TagCtrl::updateTags($evento->contenido, array());
         foreach ($documento->parrafos as $parrafo) {
             $CommentIds = $parrafo->comentarios()->lists('id');
             if ($CommentIds) {
                 $AnswerIds = Comentario::where('comentable_type', 'Comentario')->whereIn('comentable_id', $CommentIds)->lists('id');
                 if ($AnswerIds) {
                     VotoComentario::whereIn('comentario_id', $AnswerIds)->delete();
                     Comentario::whereIn('id', $AnswerIds)->delete();
                 }
                 VotoComentario::whereIn('comentario_id', $CommentIds)->delete();
                 $parrafo->comentarios()->delete();
             }
             $parrafo->delete();
         }
         $documento->versiones()->delete();
         $documento->contenido->delete();
         return true;
     });
 }
示例#5
0
 public function modificar($idDoc)
 {
     $req = $this->request;
     $vdt = $this->validarDocumento($req->post(), false);
     $documento = Documento::with('contenido')->findOrFail($idDoc);
     $documento->descripcion = $vdt->getData('descripcion');
     $documento->save();
     $contenido = $documento->contenido;
     $contenido->titulo = $vdt->getData('titulo');
     $contenido->categoria_id = $vdt->getData('categoria');
     $contenido->save();
     TagCtrl::updateTags($contenido, TagCtrl::getTagIds($vdt->getData('tags')));
     $this->flash('success', 'Los datos del documento fueron modificados exitosamente.');
     $this->redirectTo('shwDocumen', array('idDoc' => $documento->id));
 }
示例#6
0
 public function modificar($idPro)
 {
     $vdt = new Validate\QuickValidator(array($this, 'notFound'));
     $vdt->test($idPro, new Validate\Rule\NumNatural());
     $problemat = Problematica::with(array('contenido', 'votos'))->findOrFail($idPro);
     $contenido = $problemat->contenido;
     $req = $this->request;
     $vdt = $this->validarProblematica($req->post());
     $problemat->cuerpo = $vdt->getData('cuerpo');
     $problemat->save();
     $contenido->titulo = $vdt->getData('titulo');
     $contenido->categoria_id = $vdt->getData('categoria');
     $contenido->save();
     TagCtrl::updateTags($contenido, TagCtrl::getTagIds($vdt->getData('tags')));
     $this->flash('success', 'Los datos de la problemática fueron modificados exitosamente.');
     $this->redirectTo('shwProblem', array('idPro' => $idPro));
 }
示例#7
0
 public function modificar($idPro)
 {
     $vdt = new Validate\QuickValidator(array($this, 'notFound'));
     $vdt->test($idPro, new Validate\Rule\NumNatural());
     $propuesta = Propuesta::with(array('contenido', 'votos'))->findOrFail($idPro);
     $contenido = $propuesta->contenido;
     $usuario = $this->session->getUser();
     $req = $this->request;
     $vdt = $this->validarPropuesta($req->post());
     if ($vdt->getData('referido')) {
         $referido = Contenido::find($vdt->getData('referido'));
         if (is_null($referido) || $referido->contenible_type != 'Problematica') {
             throw new TurnbackException('La problematica asociada no existe.');
         }
     }
     $propuesta->cuerpo = $vdt->getData('cuerpo');
     $propuesta->save();
     $contenido->titulo = $vdt->getData('titulo');
     $contenido->categoria_id = $vdt->getData('categoria');
     $contenido->referido_id = $vdt->getData('referido');
     $contenido->save();
     TagCtrl::updateTags($contenido, TagCtrl::getTagIds($vdt->getData('tags')));
     $log = UserlogCtrl::createLog('modPropues', $usuario->id, $propuesta);
     NotificacionCtrl::createNotif($propuesta->votos->lists('usuario_id'), $log);
     $this->flash('success', 'Los datos de la propuesta fueron modificados exitosamente.');
     $this->redirectTo('shwPropues', array('idPro' => $idPro));
 }
示例#8
0
 public function modificar($idEve)
 {
     $vdt = new Validate\QuickValidator(array($this, 'notFound'));
     $vdt->test($idEve, new Validate\Rule\NumNatural());
     $evento = Evento::with('contenido')->findOrFail($idEve);
     $contenido = $evento->contenido;
     $usuario = $this->session->getUser();
     $req = $this->request;
     $vdt = $this->validarEvento($req->post());
     $evento->cuerpo = $vdt->getData('cuerpo');
     $evento->lugar = $vdt->getData('lugar');
     $evento->fecha = Carbon\Carbon::parse($vdt->getData('fecha'));
     $evento->save();
     $contenido->titulo = $vdt->getData('titulo');
     $contenido->categoria_id = $vdt->getData('categoria');
     if ($contenido->impulsor xor $vdt->getData('asociar')) {
         $partido = $usuario->partido;
         if ($partido && $vdt->getData('asociar')) {
             $contenido->impulsor()->associate($partido);
         } else {
             $contenido->impulsor()->dissociate();
         }
     }
     $contenido->save();
     TagCtrl::updateTags($contenido, TagCtrl::getTagIds($vdt->getData('tags')));
     $log = UserlogCtrl::createLog('modEventoo', $usuario->id, $evento);
     NotificacionCtrl::createNotif($evento->usuarios()->lists('usuario_id'), $log);
     $this->flash('success', 'Los datos del evento fueron modificados exitosamente.');
     $this->redirectTo('shwEvento', array('idEve' => $idEve));
 }