diff --git a/seminar/models/tvorba.py b/seminar/models/tvorba.py
index 9178c511..452a75e7 100644
--- a/seminar/models/tvorba.py
+++ b/seminar/models/tvorba.py
@@ -331,6 +331,9 @@ class Cislo(SeminarModelBase):
def zlomovy_deadline_pro_papirove_cislo(self):
return Deadline.objects.filter(Q(typ=Deadline.TYP_PRVNI) | Q(typ=Deadline.TYP_PRVNI_A_SOUS), cislo=self).first()
+ @property
+ def posledni_deadline(self):
+ return self.deadline_v_cisle.all().last()
class Deadline(SeminarModelBase):
class Meta:
diff --git a/seminar/templates/seminar/archiv/odmeny.html b/seminar/templates/seminar/archiv/odmeny.html
index 1c2fb249..aa5ffb7f 100644
--- a/seminar/templates/seminar/archiv/odmeny.html
+++ b/seminar/templates/seminar/archiv/odmeny.html
@@ -3,13 +3,29 @@
{% block content %}
{% block nadpis1a %}
- Odměny {{ cislo }}
+ Odměny
{% endblock %}
+
+ Od prvního deadlinu {{ from_cislo }} do prvního deadlinu {{ to_cislo }}
+
+ {% for z in zmeny_prvni_prvni %}
+ - {{z.jmeno}}: {{z.ftitul}} → {{z.ttitul}}
+ {% endfor %}
+
+
+ Od {{ from_cislo }} do prvního deadlinu {{ to_cislo }} (pro první číslo)
+
+ {% for z in zmeny_posledni_prvni %}
+ - {{z.jmeno}}: {{z.ftitul}} → {{z.ttitul}}
+ {% endfor %}
+
+
+ Od prvního deadlinu {{ from_cislo }} do {{ to_cislo }} (pro poslední číslo)
- {% for z in zmeny %}
+ {% for z in zmeny_prvni_posledni %}
- {{z.jmeno}}: {{z.ftitul}} → {{z.ttitul}}
{% endfor %}
-
+
{% endblock content %}
diff --git a/seminar/views/views_all.py b/seminar/views/views_all.py
index 965e6c82..6c05b77a 100644
--- a/seminar/views/views_all.py
+++ b/seminar/views/views_all.py
@@ -477,17 +477,35 @@ class OdmenyView(generic.TemplateView):
fromcislo = Cislo.objects.get(rocnik=self.kwargs.get('frocnik'), poradi=self.kwargs.get('fcislo'))
tocislo = Cislo.objects.get(rocnik=self.kwargs.get('trocnik'), poradi=self.kwargs.get('tcislo'))
resitele = aktivniResitele(tocislo)
- frombody = body_resitelu(resitele, fromcislo)
- tobody = body_resitelu(resitele, tocislo)
- outlist = []
- for (aid, tbody) in tobody.items():
- fbody = frombody.get(aid,0)
- resitel = Resitel.objects.get(pk=aid)
- ftitul = resitel.get_titul(fbody)
- ttitul = resitel.get_titul(tbody)
- if ftitul != ttitul:
- outlist.append({'jmeno': resitel.osoba.plne_jmeno(), 'ftitul': ftitul, 'ttitul': ttitul})
- context['zmeny'] = outlist
+
+ def get_diff(from_deadline: Deadline, to_deadline: Deadline):
+ frombody = body_resitelu(resitele=resitele, jen_verejne=False, do=from_deadline)
+ tobody = body_resitelu(resitele=resitele, jen_verejne=False, do=to_deadline)
+ outlist = []
+ for (aid, tbody) in tobody.items():
+ fbody = frombody.get(aid,0)
+ resitel = Resitel.objects.get(pk=aid)
+ ftitul = resitel.get_titul(fbody)
+ ttitul = resitel.get_titul(tbody)
+ if ftitul != ttitul:
+ outlist.append({'jmeno': resitel.osoba.plne_jmeno(), 'ftitul': ftitul, 'ttitul': ttitul})
+ return outlist
+
+ context["from_cislo"] = fromcislo
+ context["to_cislo"] = tocislo
+ context["zmeny_prvni_prvni"] = get_diff(
+ fromcislo.zlomovy_deadline_pro_papirove_cislo(),
+ tocislo.zlomovy_deadline_pro_papirove_cislo()
+ )
+ context["zmeny_prvni_posledni"] = get_diff(
+ fromcislo.zlomovy_deadline_pro_papirove_cislo(),
+ tocislo.posledni_deadline
+ )
+ context["zmeny_posledni_prvni"] = get_diff(
+ fromcislo.posledni_deadline,
+ tocislo.zlomovy_deadline_pro_papirove_cislo()
+ )
+
return context