eed0e630e6
chore: 删掉 17 个确认无人调用的端点(净 -472 行)
...
阶段 0 盘点时判为 CUT 的 17 条,当时只在代码里标了 DEPRECATED(2026-05-26),
没删。这次删掉:15 个视图类整体移除,2 条只删 URL。
## 为什么有两条只能删 URL
ProblemSetProblemAPI 和 ProblemSetProgressAPI **各有一条在用的路径**:
ProblemSetProblemAPI /problemset/<id>/problems 在用
/problemset/<id>/problems/<pid> 废弃
ProblemSetProgressAPI /problemset/progress 在用
/problemset/<id>/progress 废弃
删类会直接搞挂"看题单题目"和"加入题单"。清单里记的是**路径**不是视图类,
这个区别不看一眼就动手会出事。
## 核实过程
不敢只信清单 —— 今天已经因为"读过文档还是漏了盲点"栽过一次(前端 /api2 前缀
漏改 5 处)。所以:
1. 用 ast(不是正则)建「视图类 → 它的所有 URL」映射,判定哪些类的全部 URL
都废弃。正则版把 B 组算成 0 个,而我明知至少有 2 个 —— 那种"看起来干净"的
结果最危险。
2. DEPRECATED 检测最初往前多看一行,把上一条的行内注释算到了下一条头上,
于是 /hitokoto、/profile、/reset_password 被误判成废弃。这三个明显在用,
才发现范围错了。
3. 按端点字符串精确搜整个 ojnext(覆盖 http.get、原生 fetch、独立 axios、
模板插值),16/16 确认无调用。**并且用 5 个明确在用的端点反测了检测器本身** ——
未经验证的检测器报"全部无调用"是没有意义的。
## 验证
起本地 Django + PostgreSQL 实跑 33 条断言,全过:
- 保留的端点还能用(13 条,含那两个"类保留"的路径,加入题单确认真的成功)
- 删掉的端点确实 404(17 条)
- reverse() 也解析不到了(3 条)
`ruff check .` 全绿(顺手清掉 44 个因此变成未使用的 import)。
## 一个差点造成的意外
脚本无条件重写所有 urls.py,把 class_pk/ 和 message/ 下三个 **CRLF** 文件
静默转成了 LF —— 内容没变但整文件显示为改动。已原样恢复,最终 diff 是
纯删除,零意外改动。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-08 06:59:00 -06:00
3a9ab83ba5
style: ruff format 全仓库
...
行宽 180 下把历史遗留的折行表达式合并,无语义改动。
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-05 04:45:26 -06:00
180d75cb97
fix
2026-06-29 06:41:18 -06:00
b28301bbb1
fix
2026-06-04 05:31:23 -06:00
d1fdbcf52b
fix
2026-06-02 23:13:06 -06:00
f94d29cf93
feat: add Teacher Admin role to four-tier permission system
...
Introduces a four-tier role system: Regular User → Student Admin →
Teacher Admin → Super Admin. Teacher Admin can manage own contests,
problemsets, and view classroom data. Student Admin (renamed from Admin)
retains problem management only.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-06-02 18:13:33 -06:00
6ab2886f77
remove contest type
2026-05-26 23:10:27 -06:00
57c0572fd9
async
2026-05-26 21:25:26 -06:00
028ea6e5f9
fmt
2026-04-23 13:57:56 -06:00
24ff67ec0c
fix
2026-03-30 09:34:38 -06:00
a19f02f2cc
取消缓存
2025-05-16 13:34:12 +08:00
yuetsh
77cf8db4c4
比赛添加标签
2024-07-01 16:09:27 +08:00
virusdefender
d57cf64afa
修复比赛修改密码之后,之前保存的 session 仍然可以使用的问题
2019-09-22 16:54:40 +08:00
virusdefender
6f8e68846c
check is id
2019-03-26 10:02:49 +08:00
virusdefender
6b7654a0c3
update to django 2.0
2019-03-11 11:25:10 +08:00
virusdefender
29f75a011b
add export contest rank to csv
2018-05-06 04:25:53 +08:00
zema1
417337c4d2
修复几处visible未过滤的问题
2017-12-15 20:54:30 +08:00
zema1
4ebfa0d021
fix disabled users in contest rankings
2017-12-06 16:06:36 +08:00
zema1
fc35e5ed79
filter admin users in all rankings
2017-12-06 15:54:08 +08:00
zema1
27a9b1144b
封榜后管理员可以通过force_update查看最新rankings
2017-12-03 15:36:31 +08:00
zema1
13e3260fd3
添加UserSerailizer admin返回real_name
2017-11-29 14:06:32 +08:00
zema1
ffd5943492
修复sample空格被吃掉的问题;
...
修复test_id 不对应的问题
2017-11-13 21:29:27 +08:00
zema1
343eff1c51
admin修改username后update submissions;
...
problem id refresh api
2017-11-08 21:56:39 +08:00
zema1
37d6dd84ee
修复contest announcement的一些问题
2017-11-06 19:05:21 +08:00
zema1
728373a5ff
完善contest权限控制
2017-10-27 18:36:29 +08:00
zema1
f5566148bc
完善OI细则
2017-10-16 09:45:55 +08:00
virusdefender
93bd77d8d8
bug fixes
2017-10-09 18:55:25 +08:00
virusdefender
a324d55364
tiny work
2017-10-02 05:16:14 +08:00
virusdefender
edb32eaf7b
tiny work
2017-10-02 04:33:43 +08:00
zema1
1e4ede6d1a
大幅优化数据库查询, 升级django至1.11 LTS, 升级python至3.6.2
2017-08-29 19:35:22 +08:00
zema1
539b45148b
移除user time_zone, 统一使用submission_number和accepted_number字段
2017-08-26 08:41:29 +08:00
zemal
57ab7435af
移除time_zone,修复problem越权
2017-08-23 17:02:57 +08:00
zemal
14b850c652
完成ACM ContestProblem相关判题逻辑
...
contest,submission等表默认-create_time排序
2017-08-01 16:52:48 +08:00
zemal
17432b4c81
添加contest access api
2017-07-20 15:52:11 +08:00
zemal
ee49d0a815
添加contest权限验证、contest密码验证api
...
添加problem、contest单元测试。
2017-07-18 11:18:18 +08:00
zemal
53d0cae8ea
contest and contest_problems api.
...
add ordering for contest and submission models
2017-07-17 21:28:06 +08:00
zemal
78a8999b44
Add contestAPI.
2017-06-22 14:10:32 +08:00
virusdefender
02940029ef
add contest announcement
2017-01-29 17:04:56 +08:00