From 9159e7323d89491862504852ebeab60a745d43fe Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Tue, 20 Oct 2020 14:51:09 +0200 Subject: [PATCH] Don't upload videos after the deadline --- apps/participation/forms.py | 5 +++++ .../templates/participation/participation_detail.html | 4 +++- apps/participation/views.py | 8 ++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/apps/participation/forms.py b/apps/participation/forms.py index fc6249c..907e9fd 100644 --- a/apps/participation/forms.py +++ b/apps/participation/forms.py @@ -74,6 +74,11 @@ class UploadVideoForm(forms.ModelForm): model = Video fields = ('link',) + def clean(self): + if Phase.current_phase().phase_number != 1 and self.instance.link: + self.add_error("link", _("You can't upload your video after the deadline.")) + return super().clean() + class PhaseForm(forms.ModelForm): class Meta: diff --git a/apps/participation/templates/participation/participation_detail.html b/apps/participation/templates/participation/participation_detail.html index 87430d4..6026667 100644 --- a/apps/participation/templates/participation/participation_detail.html +++ b/apps/participation/templates/participation/participation_detail.html @@ -23,7 +23,9 @@
{% trans "Video link:" %}
{{ participation.solution.link|default:novideo }} - + {% if current_phase.phase_number == 1 or participation.solution.link == "" %} + + {% endif %}
{% if participation.solution.platform == "youtube" %} diff --git a/apps/participation/views.py b/apps/participation/views.py index 2b76884..5f78982 100644 --- a/apps/participation/views.py +++ b/apps/participation/views.py @@ -262,6 +262,14 @@ class ParticipationDetailView(LoginRequiredMixin, DetailView): return super().dispatch(request, *args, **kwargs) raise PermissionDenied + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + + context["title"] = lambda: _("Participation of team {trigram}").format(trigram=self.object.team.trigram) + context["current_phase"] = Phase.current_phase() + + return context + class UploadVideoView(LoginRequiredMixin, UpdateView): model = Video