From 9bf3b7dff0edb094669c9e9c9439cca142420459 Mon Sep 17 00:00:00 2001 From: Emmy D'Anello Date: Fri, 7 Jun 2024 16:16:11 +0200 Subject: [PATCH] Fix permission to see solutions when they are available Signed-off-by: Emmy D'Anello --- participation/forms.py | 3 +++ registration/views.py | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/participation/forms.py b/participation/forms.py index e216c6b..48ed414 100644 --- a/participation/forms.py +++ b/participation/forms.py @@ -142,10 +142,13 @@ class TournamentForm(forms.ModelForm): 'inscription_limit': forms.DateTimeInput(attrs={'type': 'datetime-local'}, format='%Y-%m-%d %H:%M'), 'solution_limit': forms.DateTimeInput(attrs={'type': 'datetime-local'}, format='%Y-%m-%d %H:%M'), 'solutions_draw': forms.DateTimeInput(attrs={'type': 'datetime-local'}, format='%Y-%m-%d %H:%M'), + 'date_first_phase': forms.DateInput(attrs={'type': 'date'}, format='%Y-%m-%d'), 'syntheses_first_phase_limit': forms.DateTimeInput(attrs={'type': 'datetime-local'}, format='%Y-%m-%d %H:%M'), + 'date_second_phase': forms.DateInput(attrs={'type': 'date'}, format='%Y-%m-%d'), 'syntheses_second_phase_limit': forms.DateTimeInput(attrs={'type': 'datetime-local'}, format='%Y-%m-%d %H:%M'), + 'date_third_phase': forms.DateInput(attrs={'type': 'date'}, format='%Y-%m-%d'), 'syntheses_third_phase_limit': forms.DateTimeInput(attrs={'type': 'datetime-local'}, format='%Y-%m-%d %H:%M'), 'organizers': forms.SelectMultiple(attrs={ diff --git a/registration/views.py b/registration/views.py index 90fd996..44bce89 100644 --- a/registration/views.py +++ b/registration/views.py @@ -837,7 +837,8 @@ class SolutionView(LoginRequiredMixin, View): or user.registration.participates and user.registration.team and (solution.participation.team == user.registration.team or any(passage.pool.round == 1 - or timezone.now() >= passage.pool.tournament.solutions_available_second_phase + or (passage.pool.round == 2 and passage.pool.tournament.solutions_available_second_phase) + or (passage.pool.round == 3 and passage.pool.tournament.solutions_available_third_phase) for passage in passage_participant_qs.all()))): raise PermissionDenied # Guess mime type of the file