diff --git a/apps/tournament/models.py b/apps/tournament/models.py index 552ece1..9a5732e 100644 --- a/apps/tournament/models.py +++ b/apps/tournament/models.py @@ -208,6 +208,10 @@ class Team(models.Model): return [''.format(url=reverse_lazy("member:information", args=(user.pk,))) + str(user) + '' for user in self.participants] + @property + def future_tournament(self): + return Tournament.get_final() if self.selected_for_final else self.tournament + @property def can_validate(self): # TODO In a normal time, team needs a motivation letter and authorizations. diff --git a/apps/tournament/views.py b/apps/tournament/views.py index a9d2c72..d5f1f37 100644 --- a/apps/tournament/views.py +++ b/apps/tournament/views.py @@ -227,7 +227,10 @@ class SolutionsView(TeamMixin, BaseFormView, SingleTableView): def get_context_data(self, **kwargs): self.object_list = self.get_queryset() - return super().get_context_data(**kwargs) + context = super().get_context_data(**kwargs) + context["now"] = timezone.now() + context["real_deadline"] = self.request.user.team.tournament.date_solutions + timedelta(minutes=30) + return context def get_queryset(self): qs = super().get_queryset() @@ -341,7 +344,9 @@ class SynthesesView(TeamMixin, BaseFormView, SingleTableView): def get_context_data(self, **kwargs): self.object_list = self.get_queryset() - return super().get_context_data(**kwargs) + context = super().get_context_data(**kwargs) + context["now"] = timezone.now() + return context def form_valid(self, form): synthesis = form.instance diff --git a/templates/tournament/solutions_list.html b/templates/tournament/solutions_list.html index 2503997..6005d11 100644 --- a/templates/tournament/solutions_list.html +++ b/templates/tournament/solutions_list.html @@ -4,6 +4,20 @@ {% block content %} {% if form %} + {% if now < user.team.future_tournament.date_solutions %} +
+ {% blocktrans with deadline=user.team.future_tournament.date_solutions %}You can upload your solutions until {{ deadline }}.{% endblocktrans %} +
+ {% else %} +
+ {% if now < real_deadline %} + {% trans "The deadline to send your solutions is reached. However, you have an extra time of 30 minutes to send your papers, no panic :)" %} + {% else %} + {% trans "You can't upload your solutions anymore." %} + {% endif %} +
+ {% endif %} +
{% csrf_token %} {{ form|crispy }}