Deadliny na titulní straně - zobrazování všech

This commit is contained in:
František Kmječ 2021-01-20 21:59:15 +01:00
parent 69bdc825ee
commit 1127837499
2 changed files with 35 additions and 37 deletions

View file

@ -1,12 +1,3 @@
<script>
function preddeadline() {
alert("Řešení, která nám přijdou do tohoto deadlinu, se pokusíme opravit co nejdříve, abyste měli ještě šanci si je ještě opravit před definitivním deadlinem čísla.");
}
function sousdeadline() {
alert("Body za řešení, která nám přijdou do tohoto deadlinu, se ještě započítají pro účast na připravovaném soustředění.");
}
</script>
{% extends 'base.html' %} {% extends 'base.html' %}
{% load humanize %} {% load humanize %}
@ -15,23 +6,34 @@ function sousdeadline() {
{% block content %} {% block content %}
{% if nejblizsi_deadline %} {% if deadline_soustredeni or preddeadline or deadline %}
<div class="odpocet"> <div class="odpocet">
<p><b><big>Do <p>
{% if typ_deadline == 'soustredeni' %} <b>
<a href="" onClick="sousdeadline()" <big>
title="Body za řešení, která nám přijdou do tohoto deadlinu, se ještě započítají pro účast na připravovaném soustředění."> Do konce <a href="/zadani/aktualni/">odeslání řešení</a>
deadlinu</a> odeslání <a href="/zadani/aktualni/">řešení zbývá:
</a> pro účast na soustředění <div class="odpocet-soustredeni">
{% if deadline_soustredeni %}
{% elif typ_deadline == 'preddeadline' %} <a href="" onClick="preddeadline()" {{deadline_soustredeni|timeuntil}} (pro <abbr title="Body za řešení, která nám přijdou do tohoto deadlinu, se ještě započítají pro účast na připravovaném soustředění.">
title="Řešení, která nám přijdou do tohoto deadlinu, se pokusíme opravit co nejdříve, abyste měli ještě šanci si je ještě opravit před definitivním deadlinem čísla.">1. deadlinu</a> aktuálního <a href="/zadani/aktualni/">čísla</a> účast na soustředění</abbr>)
{% else %} deadlinu aktuálního <a href="/zadani/aktualni/">čísla</a> {% endif %}
{% endif %}zbývá: </div>
{{nejblizsi_deadline|timeuntil}}</big></b></p> <div class="odpocet-preddeadline">
{% if preddeadline %}
{{preddeadline|timeuntil}} (do <abbr title="Řešení, která nám přijdou do tohoto deadlinu, se pokusíme opravit co nejdříve, abyste měli ještě šanci si je ještě opravit před definitivním deadlinem čísla.">1. deadline</abbr>)
{% endif %}
</div>
<div class="odpocet-deadline">
{% if deadline %}
{{deadline|timeuntil}} (do deadline)
{% endif %}
</div>
</big>
</b>
</p>
</div> </div>
{% endif %} {% endif %}
<div class=titulnistrana> <div class=titulnistrana>
<div class="titulnistrana_obsah"> <div class="titulnistrana_obsah">

View file

@ -562,23 +562,19 @@ class TitulniStranaView(generic.ListView):
context = super(TitulniStranaView, self).get_context_data(**kwargs) context = super(TitulniStranaView, self).get_context_data(**kwargs)
nastaveni = get_object_or_404(Nastaveni) nastaveni = get_object_or_404(Nastaveni)
deadline_soustredeni = (nastaveni.aktualni_cislo.datum_deadline_soustredeni, "soustredeni") context['deadline_soustredeni'] = nastaveni.aktualni_cislo.datum_deadline_soustredeni
preddeadline = (nastaveni.aktualni_cislo.datum_preddeadline, "preddeadline") context['preddeadline'] = nastaveni.aktualni_cislo.datum_preddeadline
deadline = (nastaveni.aktualni_cislo.datum_deadline, "deadline") context['deadline'] = nastaveni.aktualni_cislo.datum_deadline
now = date.today()
try: if context['deadline_soustredeni'] is not None and context['deadline_soustredeni'] < now:
nejblizsi_deadline = sorted(filter(lambda dl: dl[0] is not None and dl[0] >= date.today(), [deadline_soustredeni, preddeadline, deadline]))[0] context['deadline_soustredeni'] = None
if nejblizsi_deadline[0] == deadline_soustredeni[0]: if context['preddeadline'] is not None and context['preddeadline'] < now:
nejblizsi_deadline = deadline_soustredeni context['preddeadline'] = None
except IndexError: if context['deadline'] is not None and context['deadline'] < now:
nejblizsi_deadline = (None, None) # neni zadna aktualni deadline context['deadline'] = None
if nejblizsi_deadline[0] is not None:
context['nejblizsi_deadline'] = datetime.combine(nejblizsi_deadline[0], datetime.max.time())
else:
context['nejblizsi_deadline'] = None
context['typ_deadline'] = nejblizsi_deadline[1]
# Aktuální témata # Aktuální témata
nazvy_a_odkazy_na_aktualni_temata = [] nazvy_a_odkazy_na_aktualni_temata = []