Browse Source

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

export_seznamu_prednasek
František Kmječ 4 years ago
parent
commit
1127837499
  1. 48
      seminar/templates/seminar/titulnistrana.html
  2. 26
      seminar/views/views_all.py

48
seminar/templates/seminar/titulnistrana.html

@ -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">

26
seminar/views/views_all.py

@ -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()
if context['deadline_soustredeni'] is not None and context['deadline_soustredeni'] < now:
context['deadline_soustredeni'] = None
if context['preddeadline'] is not None and context['preddeadline'] < now:
context['preddeadline'] = None
if context['deadline'] is not None and context['deadline'] < now:
context['deadline'] = None
try:
nejblizsi_deadline = sorted(filter(lambda dl: dl[0] is not None and dl[0] >= date.today(), [deadline_soustredeni, preddeadline, deadline]))[0]
if nejblizsi_deadline[0] == deadline_soustredeni[0]:
nejblizsi_deadline = deadline_soustredeni
except IndexError:
nejblizsi_deadline = (None, None) # neni zadna aktualni deadline
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 = []

Loading…
Cancel
Save