/** * 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(); }
/** * 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'; }
/** * 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'; } }
/** * 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'; }