Skip to content
Snippets Groups Projects
Commit c63b03bb authored by Martin Mareš's avatar Martin Mareš
Browse files

Výjimky chceme vyvolávat, ne vracet jako výsledky

parent b1832d2e
Branches
No related tags found
No related merge requests found
......@@ -1078,7 +1078,7 @@ def org_contest_user(contest_id: int, user_id: int):
user_id=user_id, year=sc.round.year
).options(joinedload(db.Participant.school_place)).one_or_none()
if not pant:
return werkzeug.exceptions.NotFound()
raise werkzeug.exceptions.NotFound()
task_sols = sess.query(db.Task, db.Solution).select_from(db.Task).outerjoin(
db.Solution, and_(db.Solution.task_id == db.Task.task_id, db.Solution.user == sc.user)
......
......@@ -173,14 +173,14 @@ def user_paper(id: int):
# XXX: Tímhle dáváme útočníkům orákulum na zjišťování validity IDček,
# ale to nevadí, protože IDčka stejně přidělujeme sekvenčně.
if paper is None:
return werkzeug.exceptions.NotFound()
raise werkzeug.exceptions.NotFound()
task = paper.task
round = task.round
if paper.for_user != g.user.user_id:
logger.warn(f'Účastník #{g.user.user_id} chce cizí papír')
return werkzeug.exceptions.Forbidden()
raise werkzeug.exceptions.Forbidden()
if paper.type == db.PaperType.solution:
allowed_states = [db.RoundState.running, db.RoundState.grading, db.RoundState.closed]
......@@ -190,6 +190,6 @@ def user_paper(id: int):
assert False
if round.state not in allowed_states:
return werkzeug.exceptions.Forbidden()
raise werkzeug.exceptions.Forbidden()
return mo.web.util.send_task_paper(paper)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment