Beispiel #1
0
 public function comentar($tipoRaiz, $idRaiz)
 {
     $vdt = new Validate\Validator();
     $vdt->addRule('idRaiz', new Validate\Rule\NumNatural())->addRule('tipoRaiz', new Validate\Rule\InArray(['Propuesta', 'Problematica', 'Comentario', 'ParrafoDocumento', 'Novedad', 'Evento']))->addRule('cuerpo', new Validate\Rule\MinLength(4))->addRule('cuerpo', new Validate\Rule\MaxLength(2048))->addFilter('tipoRaiz', 'ucfirst');
     $req = $this->request;
     $data = array_merge($req->post(), ['idRaiz' => $idRaiz, 'tipoRaiz' => $tipoRaiz]);
     if (!$vdt->validate($data)) {
         throw new TurnbackException($vdt->getErrors());
     }
     $comentable = call_user_func($vdt->getData('tipoRaiz') . '::findOrFail', $vdt->getData('idRaiz'));
     if ($vdt->getData('tipoRaiz') == 'Comentario' && $comentable->comentable_type == 'Comentario') {
         throw new TurnbackException('No puede responderse una respuesta.');
     }
     $autor = $this->session->getUser();
     $comentario = new Comentario();
     $comentario->cuerpo = $vdt->getData('cuerpo');
     $comentario->autor()->associate($autor);
     $comentario->comentable()->associate($comentable);
     $comentario->save();
     $raiz = $comentable->raiz;
     $raiz->contenido()->increment('puntos', 3);
     $autor->increment('puntos', 5);
     $log = UserlogCtrl::createLog('newComenta', $autor->id, $raiz);
     NotificacionCtrl::createNotif($raiz->contenido->autor_id, $log);
     $this->flash('success', 'Su comentario fue enviado exitosamente.');
     $this->redirect($req->getReferrer());
 }
Beispiel #2
0
$usuario->email = '*****@*****.**';
$usuario->password = password_hash('12345678', PASSWORD_DEFAULT);
$usuario->nombre = 'Borrable';
$usuario->apellido = 'Test';
$usuario->img_tipo = 1;
$usuario->img_hash = md5(strtolower(trim($usuario->email)));
$usuario->save();
$usuario = new Usuario();
$usuario->email = '*****@*****.**';
$usuario->password = password_hash('12345678', PASSWORD_DEFAULT);
$usuario->nombre = 'Extra';
$usuario->apellido = 'Test';
$usuario->img_tipo = 1;
$usuario->img_hash = md5(strtolower(trim($usuario->email)));
$usuario->partido()->associate($partido);
$usuario->save();
$comentario = new Comentario();
$comentario->cuerpo = 'Este es un comentario de test.';
$comentario->autor()->associate($usuario);
$comentario->comentable()->associate($problem);
$comentario->save();
$patrulla = new Patrulla();
$patrulla->nombre = 'Patrulla Test';
$patrulla->descripcion = 'Patrulla para testear.';
$patrulla->save();
$usuario->patrulla()->associate($patrulla);
$usuario->save();
$patrulla = new Patrulla();
$patrulla->nombre = 'Patrulla Borrable';
$patrulla->descripcion = 'Patrulla para testear borrarla.';
$patrulla->save();