231 Commits

Author SHA1 Message Date
f7fbfdba7d fix(submission): revert unnecessary CSRF exemption on FormatCodeAPI
The CSRF 403 error was expected Django behavior (no CSRF cookie in curl).
FormatCodeAPI should follow SubmissionAPI's pattern (APIView, not CSRF-exempt).
Verified with GET request: /api/format_code returns 405 (correct route resolution).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 08:02:06 -06:00
5cc5c64625 feat(submission): register /api/format_code route and fix CSRF exemption
Task 4: Register the FormatCodeAPI view to the /api/format_code endpoint.

Also fix: Make FormatCodeAPI extend CSRFExemptAPIView instead of APIView
so that the manual verification curl commands receive JSON responses
(login-required error) instead of HTML 403 Forbidden responses. This is
necessary for the view to work with the @login_required decorator which
expects to return JSON errors, not be blocked by CSRF middleware.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 07:57:24 -06:00
be1610faa6 feat(submission): add FormatCodeAPI view 2026-06-14 07:51:41 -06:00
bfeb69434e feat(submission): add FormatCodeSerializer
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-14 07:48:58 -06:00
4cd37cef78 feat(submission): add ruff/clang-format code formatting helper 2026-06-14 07:46:41 -06:00
2b65acf91a update 2026-06-05 08:51:57 -06:00
b28301bbb1 fix 2026-06-04 05:31:23 -06:00
809673e64f fix 2026-06-03 04:50:46 -06:00
d1fdbcf52b fix 2026-06-02 23:13:06 -06:00
6ab2886f77 remove contest type 2026-05-26 23:10:27 -06:00
57c0572fd9 async 2026-05-26 21:25:26 -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
2cd1e2701f fix 2026-05-24 23:43:18 -06:00
c1d2e960bd add all in duration 2026-05-24 23:11:53 -06:00
65c48437a9 fix 2026-05-24 20:44:02 -06:00
a744baf4c9 fix 2026-05-17 07:31:05 -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
e2d566436f add index for models 2026-04-23 14:10:48 -06:00
028ea6e5f9 fmt 2026-04-23 13:57:56 -06:00
24ff67ec0c fix 2026-03-30 09:34:38 -06:00
ab62d7bff8 add end_time 2026-03-16 23:44:47 +08:00
3763032a9a fix 2026-03-09 21:07:54 +08:00
05d46295a0 add today 2026-03-02 19:40:33 +08:00
ea92a24f82 返回提交id 2026-01-04 10:32:02 +08:00
ab9fe71fb0 update 2025-12-29 20:19:32 +08:00
03f1bfdf86 update 2025-10-23 12:42:24 +08:00
f0dc86265b update 2025-10-23 09:36:03 +08:00
a103dd6b38 add flowchart list 2025-10-20 20:05:10 +08:00
4168d41a16 删除无用代码并且新增流程图相关内容 2025-10-11 23:29:56 +08:00
22d4a9057b add ws 2025-10-07 17:03:14 +08:00
a6d76a64c4 重构用户权限 2025-09-25 18:41:23 +08:00
8436a4602f add heatmap 2025-09-25 15:25:39 +08:00
6e1e3ef0c6 新增AI分析 2025-09-24 01:02:29 +08:00
626d86d142 filter by language 2025-09-21 19:32:50 +08:00
45d727a9e0 删掉旧的数据库迁移文件 2025-06-14 17:08:52 +08:00
450ee800f3 update 2025-04-14 12:41:00 +08:00
025276002d 在前台添加今日提交数 2025-04-14 12:36:46 +08:00
43dfeb2fa0 击败多少用户 2025-04-13 21:48:35 +08:00
8d6e9ff1f9 fix 2025-04-13 12:16:02 +08:00
6a4e8c7700 隐藏所有的提交 2025-04-13 11:49:23 +08:00
6522b70cd3 fix 2024-10-16 20:45:20 +08:00
ed16e2b6b1 fix 2024-10-16 20:15:09 +08:00
78a247acd5 统计数据添加没完成的人 2024-10-16 18:27:07 +08:00
yuetsh
c497d511dc refactor 2024-07-01 12:17:43 +08:00
8e659f7931 update submission serializers 2024-06-25 14:44:02 +00:00
32ee17b566 fix 2024-06-25 14:09:01 +00:00
f9cccdab34 add message 2024-06-25 11:48:12 +00:00
yuetsh
bef87ed554 add tag for announcement 2024-06-13 15:30:21 +08:00