1
0
mirror of https://gitlab.com/animath/si/plateforme.git synced 2025-06-21 09:18:23 +02:00

Pool support

This commit is contained in:
Yohann D'ANELLO
2020-05-05 04:45:38 +02:00
parent b6422c1a79
commit 104ca590a5
12 changed files with 348 additions and 10 deletions

View File

@ -1,4 +1,5 @@
import random
from datetime import datetime
from django.contrib.auth.mixins import LoginRequiredMixin
from django.contrib.auth.models import AnonymousUser
@ -151,6 +152,16 @@ class DocumentView(LoginRequiredMixin, View):
if isinstance(doc, Solution) or isinstance(doc, Synthesis) or isinstance(doc, MotivationLetter):
grant = grant or doc.team == request.user.team or request.user in doc.team.tournament.organizers.all()
if isinstance(doc, Synthesis) and request.user.organizes:
grant = True
if isinstance(doc, Solution):
for pool in doc.pools.all():
if pool.round == 2 and datetime.now() < doc.tournament.date_solutions_2:
continue
if self.request.user.team in pool.teams.all():
grant = True
if not grant:
raise PermissionDenied