mirror of
				https://gitlab.com/animath/si/plateforme.git
				synced 2025-11-04 11:12:18 +01:00 
			
		
		
		
	Pool support
This commit is contained in:
		@@ -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
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user