/**
  * Método para registrar un estado a un usuario
  */
 public static function setEstadoUsuario($accion, $data, $optData = NULL)
 {
     $accion = strtolower($accion);
     $obj = new EstadoUsuario($data);
     if ($optData) {
         $obj->dump_result_self($optData);
     }
     //Verifico el estado actual
     $actual = $obj->getEstadoUsuario($obj->usuario_id);
     //Verifico las acciones
     if ($accion == 'registrar') {
         $obj->estado_usuario = self::COD_ACTIVO;
     } else {
         if ($accion == 'bloquear' && ($actual == self::ACTIVO or !$actual)) {
             $obj->estado_usuario = self::COD_BLOQUEADO;
         } else {
             if ($accion == 'reactivar' && $actual != self::ACTIVO) {
                 $obj->estado_usuario = self::COD_ACTIVO;
             } else {
                 return false;
             }
         }
     }
     return $obj->create();
 }
Example #2
0
 /**
  * Método para registrar un estado a un usuario
  */
 public static function setEstadoUsuario($accion, $data, $optData = NULL)
 {
     $accion = strtolower($accion);
     $obj = new EstadoUsuario($data);
     if ($optData) {
         $obj->dump_result_self($optData);
     }
     //Verifico el estado actual
     $old = new EstadoUsuario();
     $estado = $old->getEstadoUsuario($obj->usuario_id);
     //Verifico las acciones
     if ($accion == 'registrar') {
         $obj->estado_usuario = self::ACTIVO;
     } else {
         if ($accion == 'bloquear' && (empty($estado) or $estado->estado_usuario == self::ACTIVO)) {
             $obj->estado_usuario = self::BLOQUEADO;
         } else {
             if ($accion == 'reactivar' && $estado->estado_usuario != self::ACTIVO) {
                 $obj->estado_usuario = self::ACTIVO;
             } else {
                 return FALSE;
             }
         }
     }
     return $obj->create();
 }
 /**
  * Método para ver
  */
 public function ver($key)
 {
     if (!($id = DwSecurity::isValidKey($key, 'shw_usuario', 'int'))) {
         return DwRedirect::toAction('listar');
     }
     $usuario = new Usuario();
     if (!$usuario->getInformacionUsuario($id)) {
         DwMessage::get('id_no_found');
         return DwRedirect::toAction('listar');
     }
     $estado = new EstadoUsuario();
     $this->estados = $estado->getListadoEstadoUsuario($usuario->id);
     $acceso = new Acceso();
     $this->accesos = $acceso->getListadoAcceso($usuario->id, 'todos', 'order.fecha.desc');
     $this->usuario = $usuario;
     $this->page_title = 'Información del usuario';
 }
Example #4
0
 /**
  * Callback que se ejecuta despues de insertar un usuario
  */
 protected function after_create()
 {
     if (!EstadoUsuario::setEstadoUsuario('registrar', array('usuario_id' => $this->id, 'descripcion' => 'Activado por registro inicial'))) {
         Flash::error('Se ha producido un error interno al activar el usuario. Pofavor intenta nuevamente.');
         return 'cancel';
     }
 }
Example #5
0
 /**
  * Método para ver los estados
  */
 public function estados($key, $page = 'page.1')
 {
     if (!($id = Security::getKey($key, 'shw_estados', 'int'))) {
         return Redirect::toAction('listar');
     }
     $usuario = new Usuario();
     if (!$usuario->getInformacionUsuario($id)) {
         Flash::error('Lo sentimos, no se ha podido establecer la información del usuario');
         return Redirect::toAction('listar');
     }
     $page = Filter::get($page, 'page') > 0 ? Filter::get($page, 'page') : 1;
     $estado = new EstadoUsuario();
     $this->estados = $estado->getListadoEstadoUsuario($usuario->id, $page);
     $this->key = $key;
     $this->usuario = $usuario;
     $this->page_title = 'Seguimiento a estados del usuario';
 }