Browse Source

Merge branch 'master' of github.com:syzoj/syzoj

pull/6/head
Menci 7 years ago
parent
commit
6b4bbb0173
  1. 2
      models/judge_state.js
  2. 1
      modules/contest.js
  3. 13
      modules/problem.js

2
models/judge_state.js

@ -83,7 +83,7 @@ class JudgeState extends Model {
submit_time: parseInt((new Date()).getTime() / 1000),
type: 0,
type_info: '',
type_info: 0,
pending: true,

1
modules/contest.js

@ -338,6 +338,7 @@ app.get('/contest/:id/:pid', async (req, res) => {
let problem_id = problems_id[pid - 1];
let problem = await Problem.fromID(problem_id);
await problem.loadRelationships();
contest.ended = await contest.isEnded();
if (!(await contest.isRunning() || contest.ended)) {

13
modules/problem.js

@ -773,7 +773,18 @@ app.get('/problem/:id/download/additional_file', async (req, res) => {
let problem = await Problem.fromID(id);
if (!problem) throw new ErrorMessage('无此题目。');
if (!await problem.isAllowedUseBy(res.locals.user)) throw new ErrorMessage('您没有权限进行此操作。');
// XXX: Reduce duplication (see the '/problem/:id/submit' handler)
let contest_id = parseInt(req.query.contest_id);
if (contest_id) {
let contest = await Contest.fromID(contest_id);
if (!contest) throw new ErrorMessage('无此比赛。');
if (!await contest.isRunning()) throw new ErrorMessage('比赛未开始或已结束。');
let problems_id = await contest.getProblems();
if (!problems_id.includes(id)) throw new ErrorMessage('无此题目。');
} else {
if (!await problem.isAllowedUseBy(res.locals.user)) throw new ErrorMessage('您没有权限进行此操作。');
}
await problem.loadRelationships();

Loading…
Cancel
Save