Files
cmhub/docs/tasks/T-631.md
T

1.5 KiB

T-631 隐藏旧设备授权模型的 admin 菜单入口

背景

当前方案已经从“卡密 + 固定设备”切换为“账号订阅 + 默认多设备”。apps.licensing 仍保留早期设备席位、迁移资格、迁移请求和设备凭证模型,用于历史数据、审计和兼容,但这些模型不应继续作为日常运营入口。

目标

减少 django-admin“软件授权”模块的菜单噪音,让运营优先看到当前订阅流程需要的模型,同时保留旧数据和代码兼容性。

范围

从 admin 应用索引隐藏以下只读旧方案模型:

  • LicenseSeat
  • LegacyMigrationGrant
  • MigrationRequest
  • DeviceCredential

保留以下模型在 admin 中可见:

  • SoftwarePlan
  • SoftwareEntitlement
  • SoftwareOrder
  • LicenseEvent
  • ClientDevice
  • DeviceSession
  • DeviceBindingAudit

实施约束

  • 只隐藏 admin 菜单权限展示,不删除数据库表、迁移、数据或模型注册逻辑。
  • 旧模型继续保持只读;不新增旧设备凭证、席位绑定或迁移资格。
  • 不改变账号订阅授权、API Key、点数、充值和生成接口。
  • CMSHOPEE_SUBSCRIPTION_ENFORCEMENT 行为不变。

验收条件

  1. admin 软件授权列表不再显示上述四个旧方案模型。
  2. 当前订阅套餐、权益、软件订单和授权事件仍可正常访问。
  3. 旧模型数据库表和历史数据仍存在,迁移检查无变化。
  4. 非 staff 用户仍不能访问 admin。
  5. 通过 admin 相关测试、manage.py check、迁移一致性和编译检查。