Skip to content
Snippets Groups Projects

Výsledkovka pomocí mo.web.table

Closed Jiří Setnička requested to merge jirka/table into master
1 file
+ 4
14
Compare changes
  • Side-by-side
  • Inline
+ 4
14
@@ -54,8 +54,7 @@ class Import:
@@ -54,8 +54,7 @@ class Import:
# Interní: Stav importu
# Interní: Stav importu
place_cache: Dict[str, db.Place]
place_cache: Dict[str, db.Place]
school_place_cache: Dict[str, db.Place]
school_place_cache: Dict[str, db.Place]
rr: Optional[mo.rights.Rights]
gatekeeper: mo.rights.Gatekeeper
place_rights_cache: Dict[int, bool]
new_user_ids: List[int]
new_user_ids: List[int]
line_number: int = 0
line_number: int = 0
@@ -64,7 +63,6 @@ class Import:
@@ -64,7 +63,6 @@ class Import:
self.rr = None
self.rr = None
self.place_cache = {}
self.place_cache = {}
self.school_place_cache = {}
self.school_place_cache = {}
self.place_rights_cache = {}
self.new_user_ids = []
self.new_user_ids = []
def setup(self):
def setup(self):
@@ -103,19 +101,10 @@ class Import:
@@ -103,19 +101,10 @@ class Import:
return name
return name
def check_rights(self, place: db.Place) -> bool:
def check_rights(self, place: db.Place) -> bool:
if place.place_id in self.place_rights_cache:
return self.place_rights_cache[place.place_id]
if self.rr is None:
self.rr = mo.rights.Rights(self.user)
round = self.round
round = self.round
assert round is not None
assert round is not None
self.rr.get_for(place, round.year, round.category, round.seq)
rights = self.gatekeeper.rights_for(place, round.year, round.category, round.seq)
result = self.rr.have_right(mo.rights.Right.manage_contest)
return rights.have_right(mo.rights.Right.manage_contest)
self.place_rights_cache[place.place_id] = result
return result
def parse_opt_place(self, kod: str) -> Optional[db.Place]:
def parse_opt_place(self, kod: str) -> Optional[db.Place]:
if kod == "":
if kod == "":
@@ -564,6 +553,7 @@ def create_import(user: db.User, type: ImportType, fmt: FileFormat, round: Optio
@@ -564,6 +553,7 @@ def create_import(user: db.User, type: ImportType, fmt: FileFormat, round: Optio
imp.round = round
imp.round = round
imp.contest = contest
imp.contest = contest
imp.fmt = fmt
imp.fmt = fmt
 
imp.gatekeeper = mo.rights.Gatekeeper(user)
imp.setup()
imp.setup()
return imp
return imp
Loading