Commit Graph

291 Commits

Author SHA1 Message Date
9535b64a4b 精简 Problem 模型:移除 rule_type / total_score / io_mode
系统只用 ACM 模式且题目固定标准 IO,这三列已无实际用途:
- rule_type / total_score:OI 专用,删除后 judge/dispatcher 的 OI 分支全部塌缩为 ACM
- io_mode:判题改为固定发送 Standard IO 常量;languages.py 的 seccomp_rule
  保留 dict 形态但改用字面量 key,不改判题机 wire 契约
- prompt 字段保留(预留给未来 AI 分析)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 11:40:38 -06:00
4743b0398a update 2026-07-04 11:07:24 -06:00
deae73cd88 feat: SQL 题测试点脚本回显接口
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 19:29:51 -06:00
803d6ca58d feat: SQL 题测试点预览接口
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 19:25:47 -06:00
2ec036ac37 feat: 新增 rebuild_sql_display 管理命令,为存量 SQL 题回填展示数据
生成逻辑从 ProblemBase._build_sql_display 提取为 problem.utils.generate_sql_display,
管理端保存与回填命令共用。命令支持 --dry-run / --force。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 09:42:11 -06:00
5af9d67fe2 fix: 终审修复——test_case_id 格式校验、modify 空变更报错、异常兜底与文档补充
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 06:26:00 -06:00
67079b5304 fix: _build_sql_display 兜底 info 结构损坏,避免 KeyError 导致 500
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 01:22:27 -06:00
06642b8131 feat: 保存 SQL 题时自动生成 sql_display 展示数据
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 01:15:58 -06:00
9f7f818d51 新增 SQL 题型:SQLite 内联判题(不依赖外部沙箱)
- SQL 作为语言接入现有提交流程,judge_task 按 language 分流到 SQLJudgeDispatcher
- judge/sql_runner.py:内存 SQLite 判题核心,查询题比结果集/增删改题比表状态,
  authorizer + progress_handler + max_page_count 三重防护
- dispatcher 提取 _process_judge_result/_push_status 供 SQL 判题复用(行为不变)
- 测试点通道支持 1.sql..N.sql 压缩包,出题只需数据脚本+标准答案
- Problem 增加 sql_config 字段;options 数据迁移注册 SQL 语言

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 17:23:13 -06:00
d7e04adf07 fix 2026-06-05 09:46:49 -06:00
809673e64f fix 2026-06-03 04:50:46 -06:00
d1fdbcf52b fix 2026-06-02 23:13:06 -06:00
385d04505b feat: open teaching analytics to Teacher Admin
StuckProblems, TopACTrend, AI user analysis, and problemset user
progress are now accessible to Teacher Admin (previously super-only).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-02 18:17:26 -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
48a16d91b5 refactor: replace sync_to_async aggregate with aaggregate in problem views 2026-05-26 21:46:56 -06:00
57c0572fd9 async 2026-05-26 21:25:26 -06:00
1217ee3eaf update 2026-05-26 02:19:26 -06:00
bf2a95ef01 update 2026-05-25 23:55:19 -06:00
2e7c6fb404 update 2026-05-25 21:56:11 -06:00
980b803517 feat: update all query filters to treat AST_CHECK_FAILED as accepted
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 20:45:15 -06:00
c36e6623bd feat: add AST_CHECK_FAILED status, is_accepted helper, ast_rules field
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 20:37:58 -06:00
65c48437a9 fix 2026-05-24 20:44:02 -06:00
8a0bfb6b24 update 2026-05-21 19:52:37 -06:00
a744baf4c9 fix 2026-05-17 07:31:05 -06:00
c9751c095f update 2026-05-11 04:32:49 -06:00
ee84a0abe3 update 2026-05-11 04:27:15 -06:00
25bd43676e update 2026-05-11 00:55:01 -06:00
128745f4f8 update yearly ac rate 2026-05-11 00:43:08 -06:00
238adf441f fix: remove duplicate return statement in ProblemYearlyACRateAPI 2026-05-11 00:19:37 -06:00
74d5c7256d feat: add problem yearly AC rate API endpoint
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 00:19:16 -06:00
e4e8b7759d update for django6 2026-05-09 05:57:30 -06:00
c466dfd3c6 change enum 2026-05-09 02:30:47 -06:00
df097dd610 fix flowchart 2026-05-07 06:09:13 -06:00
e2d566436f add index for models 2026-04-23 14:10:48 -06:00
028ea6e5f9 fmt 2026-04-23 13:57:56 -06:00
c4ddfa6841 add flowchart 2026-04-12 06:00:39 -06:00
c31145f76e fix cache 2026-03-30 09:39:35 -06:00
24ff67ec0c fix 2026-03-30 09:34:38 -06:00
a12a665fde update 2026-03-18 13:26:32 +08:00
3cd944a7e1 fix 2026-03-08 21:37:46 +08:00
6527d8bfe5 update 2026-03-08 21:31:00 +08:00
889380c58e add teaching feature 2026-03-08 21:15:46 +08:00
ed40019a14 自动生成流程图 2026-01-05 10:23:02 +08:00
aa95f171a9 fix 2025-10-23 10:22:22 +08:00
8989ec0406 fix 2025-10-23 10:22:02 +08:00
32a608476d update 2025-10-23 00:54:06 +08:00
6465f8fab2 add sort 2025-10-14 21:30:44 +08:00
bfd79720a9 fix 2025-10-13 12:27:21 +08:00
d3484c57bf fix 2025-10-12 12:18:03 +08:00