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

Opraveno: Práva

parent 2b7b2f51
No related branches found
No related tags found
1 merge request!113Stav "opraveno"
This commit is part of merge request !113. Comments created here will be created in the context of that merge request.
...@@ -20,10 +20,10 @@ class Right(Enum): ...@@ -20,10 +20,10 @@ class Right(Enum):
add_contest = auto() add_contest = auto()
view_contestants = auto() # Prohlížet si seznam účastníků view_contestants = auto() # Prohlížet si seznam účastníků
upload_solutions = auto() # Odevzdávat za účastníka ve stavu "running" upload_solutions = auto() # Odevzdávat za účastníka ve stavu "running"
upload_feedback = auto() # Nahrávat opravené řešení ve stavu "grading" upload_feedback = auto() # Nahrávat opravené řešení ve stavech "grading" a "graded"
view_submits = auto() # Prohlížet si řešení a opravy view_submits = auto() # Prohlížet si řešení a opravy
upload_submits = auto() # Nahrávat řešení a opravy kromě stavu "preparing" upload_submits = auto() # Nahrávat řešení a opravy kromě stavu "preparing"
edit_points = auto() # Přidělovat body ve stavu "grading" edit_points = auto() # Přidělovat body ve stavech "grading" a "graded"
view_statement = auto() # Prohlížet zadání, pokud je dostupné pro dozor view_statement = auto() # Prohlížet zadání, pokud je dostupné pro dozor
add_users = auto() add_users = auto()
view_all_users = auto() # Prohlížet všechny uživatele view_all_users = auto() # Prohlížet všechny uživatele
...@@ -315,10 +315,10 @@ class RoundRights(Rights): ...@@ -315,10 +315,10 @@ class RoundRights(Rights):
def can_upload_feedback(self) -> bool: def can_upload_feedback(self) -> bool:
return (self.have_right(Right.upload_submits) and self._is_configured() return (self.have_right(Right.upload_submits) and self._is_configured()
or self.have_right(Right.upload_feedback) and self._get_state() == db.RoundState.grading) or self.have_right(Right.upload_feedback) and self._get_state() in [db.RoundState.grading, db.RoundState.graded])
def can_edit_points(self) -> bool: def can_edit_points(self) -> bool:
return (self.have_right(Right.edit_points) and self._get_state() == db.RoundState.grading return (self.have_right(Right.edit_points) and self._get_state() in [db.RoundState.grading, db.RoundState.graded]
or self.have_right(Right.manage_contest) and self._is_configured()) or self.have_right(Right.manage_contest) and self._is_configured())
def can_create_solutions(self) -> bool: def can_create_solutions(self) -> bool:
...@@ -335,7 +335,7 @@ class RoundRights(Rights): ...@@ -335,7 +335,7 @@ class RoundRights(Rights):
# Pokud už soutěž skončila, přístup k zadání má každý org. # Pokud už soutěž skončila, přístup k zadání má každý org.
# XXX: Rozhodujeme podle stavu kola, nikoliv soutěže! # XXX: Rozhodujeme podle stavu kola, nikoliv soutěže!
if round.state in [db.RoundState.grading, db.RoundState.closed]: if round.state in [db.RoundState.grading, db.RoundState.graded, db.RoundState.closed]:
return True return True
# Od stanoveného času vidí zadání orgové s právem view_statement, # Od stanoveného času vidí zadání orgové s právem view_statement,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment