Skip to content

Commit 114e0b3

Browse files
committed
CWS API: Requests made in a wrong contest phase return a JSON error
1 parent ccc61cb commit 114e0b3

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

cms/server/contest/phase_management.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -223,8 +223,14 @@ def wrapped(self: _Self, *args: _P.args, **kwargs: _P.kwargs):
223223
if self.r_params["actual_phase"] not in actual_phases and \
224224
(self.current_user is None or
225225
not self.current_user.unrestricted):
226-
# TODO maybe return some error code?
227-
self.redirect(self.contest_url())
226+
if self.is_api():
227+
if set(actual_phases) <= {0, 3}:
228+
self.json({"error": "The contest is not open"}, 403)
229+
else:
230+
self.json({"error": "Wrong contest phase"}, 403)
231+
else:
232+
# TODO maybe return some error code?
233+
self.redirect(self.contest_url())
228234
else:
229235
return func(self, *args, **kwargs)
230236

0 commit comments

Comments
 (0)