From ce653aa7afc9b0c0aa76f4b4799643278f740041 Mon Sep 17 00:00:00 2001 From: Martin Mares <mj@ucw.cz> Date: Thu, 13 Jan 2022 00:24:42 +0100 Subject: [PATCH] =?UTF-8?q?Objekt=20typu=20Rights=20si=20pamatuje,=20kter?= =?UTF-8?q?=C3=BD=20gatekeeper=20ho=20vyrobil?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mo/rights.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mo/rights.py b/mo/rights.py index 75c8a876..1bc0b58d 100644 --- a/mo/rights.py +++ b/mo/rights.py @@ -167,6 +167,7 @@ class Rights: user: db.User user_roles: List[db.UserRole] rights: Set[Right] + gatekeeper: 'Gatekeeper' # který tato práva přidělil def __repr__(self): ros = " ".join([r.role.name for r in self.user_roles]) @@ -409,6 +410,7 @@ class Gatekeeper: return self.rights_cache[cache_key] rights = Rights() + rights.gatekeeper = self rights.user = self.user rights.user_roles = [] rights.rights = set() @@ -444,6 +446,7 @@ class Gatekeeper: else: place = self.get_root_place() rights = RoundRights() + rights.gatekeeper = self rights.round = round rights._clone_from(self.rights_for( place=place, @@ -455,6 +458,7 @@ class Gatekeeper: def rights_for_contest(self, contest: db.Contest, site: Optional[db.Place] = None) -> ContestRights: rights = ContestRights() + rights.gatekeeper = self rights.round = contest.round rights.contest = contest rights._clone_from(self.rights_for( -- GitLab