diff --git a/seminar/templates/seminar/archiv/problem.html b/seminar/templates/seminar/archiv/problem.html
index 32f68911..67071dea 100644
--- a/seminar/templates/seminar/archiv/problem.html
+++ b/seminar/templates/seminar/archiv/problem.html
@@ -4,31 +4,10 @@
{% block content %}
- {% if problem.cislo_zadani %}
-
- {% block nadpis1a %}{% block nadpis1b %}
- {{ problem.nazev_typu }} {{ problem.kod_v_rocniku }}: {{ problem.nazev }} {{ problem.body_v_zavorce }}
- {% endblock %}{% endblock %}
-
+ {% block problem %}
+ {% endblock %}
-
Zadáno v čísle {{ problem.cislo_zadani.kod }}.
- {% if problem.cislo_reseni %}
-
Řešeno v čísle {{ problem.cislo_reseni.kod }}.
- {% endif %}
- {% else %}
-
Problém {{ problem.nazev }}
- {% endif %}
-
-
-
Zadání
- {{ problem.text_zadani |safe }}
- {% if problem.text_reseni %}
-
Řešení
- {{ problem.text_reseni |safe }}
- {% endif %}
-
- {# TODO Kontrola, zda je uzivatel org #}
- {% if user.is_authenticated %}
+ {% if user.is_staff %}
Text - org
@@ -43,4 +22,3 @@
{% endblock content %}
-
diff --git a/seminar/templates/seminar/archiv/problem_clanek.html b/seminar/templates/seminar/archiv/problem_clanek.html
new file mode 100644
index 00000000..c7beba99
--- /dev/null
+++ b/seminar/templates/seminar/archiv/problem_clanek.html
@@ -0,0 +1,38 @@
+{% extends "seminar/archiv/problem.html" %}
+
+{% block problem %}
+ {% if problem.cislo_zadani %}
+
+
+ {{ problem.nazev_typu }}:
+ {% block nadpis1a %}{% block nadpis1b %}
+ {{ problem.nazev }}
+ {% endblock %}{% endblock %}
+
+
+
+ {% if problem.typ == 'res-clanek' %}
+ {# pozor na mezery #}
+ {% for r in reseni %}{% if not forloop.first %}, {% endif %}
+ {{ r.resitel.jmeno }} {{ r.resitel.prijmeni }}{% if r.body %} ({{ r.body }} b){% endif %}{% endfor %}
+ {% else %}
+ {{ problem.autor.first_name }}
+ {% if problem.autor.organizator.prezdivka %}
+ „{{ problem.autor.organizator.prezdivka }}“
+ {% endif %}
+ {{ problem.autor.last_name }}
+ {% endif %}
+
+
+ {% if problem.cislo_reseni %}
+
Vyšlo v čísle {{ problem.cislo_reseni.kod }}.
+ {% endif %}
+
+ {% else %}
+ {# TODO ? #}
+
Problém {{ problem.nazev }}
+ {% endif %}
+
+ {{ problem.text_zadani |safe }}
+
+{% endblock %}
diff --git a/seminar/templates/seminar/archiv/problem_uloha_tema.html b/seminar/templates/seminar/archiv/problem_uloha_tema.html
new file mode 100644
index 00000000..12ee40ac
--- /dev/null
+++ b/seminar/templates/seminar/archiv/problem_uloha_tema.html
@@ -0,0 +1,27 @@
+{% extends "seminar/archiv/problem.html" %}
+
+{% block problem %}
+
+ {% block nadpis1a %}{% block nadpis1b %}
+ {{ problem.nazev_typu }} {{ problem.kod_v_rocniku }}: {{ problem.nazev }} {{ problem.body_v_zavorce }}
+ {% endblock %}{% endblock %}
+
+ {% if problem.cislo_zadani %}
+
Zadáno v čísle {{ problem.cislo_zadani.kod }}.
+ {% if problem.cislo_reseni %}
+
Řešeno v čísle {{ problem.cislo_reseni.kod }}.
+ {% endif %}
+ {% else %}
+ {# TODO ? #}
+
Problém {{ problem.nazev }}
+ {% endif %}
+
+
+
Zadání
+ {{ problem.text_zadani |safe }}
+ {% if problem.text_reseni %}
+
Řešení
+ {{ problem.text_reseni |safe }}
+ {% endif %}
+
+{% endblock %}
diff --git a/seminar/templates/seminar/clanky/organizatorske_clanky.html b/seminar/templates/seminar/clanky/organizatorske_clanky.html
new file mode 100644
index 00000000..f2e00104
--- /dev/null
+++ b/seminar/templates/seminar/clanky/organizatorske_clanky.html
@@ -0,0 +1,5 @@
+{% extends 'seminar/clanky/resitelske_clanky.html' %}
+
+{% block nadpis1a %}{% block nadpis1b %}
+Organizátorské články
+{% endblock %}{% endblock %}
diff --git a/seminar/templates/seminar/clanky/resitelske_clanky.html b/seminar/templates/seminar/clanky/resitelske_clanky.html
new file mode 100644
index 00000000..6f34f3dc
--- /dev/null
+++ b/seminar/templates/seminar/clanky/resitelske_clanky.html
@@ -0,0 +1,24 @@
+{% extends 'base.html' %}
+
+{% block content %}
+
+
+{% block nadpis1a %}{% block nadpis1b %}
+Řešitelské články
+{% endblock %}{% endblock %}
+
+
+{% for clanek in object_list %}
+{% with clanek.cislo_zadani.rocnik.rocnik as rocnik %}
+ {% ifchanged rocnik %}
+ {% if not forloop.first %}{% endif %}
+
{{ rocnik }}. ročník
+
+
+{% endblock %}
diff --git a/seminar/templates/seminar/clanky/submenu.html b/seminar/templates/seminar/clanky/submenu.html
index b544520b..5f0d78a2 100644
--- a/seminar/templates/seminar/clanky/submenu.html
+++ b/seminar/templates/seminar/clanky/submenu.html
@@ -3,8 +3,8 @@
diff --git a/seminar/templates/seminar/soustredeni/seznam_soustredeni.html b/seminar/templates/seminar/soustredeni/seznam_soustredeni.html
index 020c78b6..a6672c95 100644
--- a/seminar/templates/seminar/soustredeni/seznam_soustredeni.html
+++ b/seminar/templates/seminar/soustredeni/seznam_soustredeni.html
@@ -9,13 +9,13 @@
{# zmena fotky #}{% block header %}soustredeni{% endblock %}
-{% block content %}{% if user.is_authenticated %}{# PRACUJE SE STRANKA #}
+{% block nadpis1a %}{% block nadpis1b %}
+ Soustředění
+{% endblock %}{% endblock %}
+
+{% block content %}
+{#% if user.is_authenticated %#}{# PRACUJE SE STRANKA #}
-
- {% block nadpis1a %}{% block nadpis1b %}
- Soustředění
- {% endblock %}{% endblock %}
-
{# Projdi vsechna soustredeni #}
{% for soustredeni in object_list %}
@@ -29,30 +29,36 @@
že jste přihlášení.
{% endif %}
{# misto soustredeni TODO upravit#}
- {% if soustredeni.misto %}
- Soustředění v {{soustredeni.misto}}
- od {{soustredeni.datum_zacatku}} do {{soustredeni.datum_konce}}
- při {{soustredeni.rocnik.rocnik}}. ročníku M&M
+ {{soustredeni.get_typ_display}}
+ {{soustredeni.misto}}
+
+ -
+ {{soustredeni.datum_zacatku}} – {{soustredeni.datum_konce}}
+
+
+ {% if user.is_authenticated %}
+ {# popis soustredeni #}
+ {% if soustredeni.text %}
+ {% autoescape off %}{{soustredeni.text}}{% endautoescape %}
+ {% endif %}
+ {# Účastníci #}
+
Soustředění se zúčastnili tito účastníci:
+
+ {% for i in soustredeni.soustredeni_ucastnici_set.all %}
+ - {{i.resitel}}
+ {% empty %}
+
- Nic!
+ {% endfor %}
+
{% endif %}
- {# popis soustredeni #}
- {% if soustredeni.text %}
- {% autoescape off %}{{soustredeni.text}}{% endautoescape %}
- {% endif %}
- {# Účastníci #}
-
Soustředění se zúčastnili tito účastníci:
-
- {% for i in soustredeni.soustredeni_ucastnici_set.all %}
- - {{i.resitel}}
- {% empty %}
-
- Nic!
- {% endfor %}
-
{% endif %}
{% empty %}
Žádná soustředění zatím neproběhla!
{% endfor %}
-{% else %}{% include 'seminar/pracuje_se.html' %}{% endif %}{% endblock %}
+{#% else %}{% include 'seminar/pracuje_se.html' %}{% endif %#}
+
+{% endblock %}
diff --git a/seminar/urls.py b/seminar/urls.py
index ff322241..1af3d42a 100644
--- a/seminar/urls.py
+++ b/seminar/urls.py
@@ -22,6 +22,10 @@ urlpatterns = patterns('',
url(r'^$', views.TitulniStranaView.as_view(), name='titulni_strana'),
url(r'^stare-novinky/$', views.StareNovinkyView.as_view(), name='stare_novinky'),
+ url(r'^clanky/resitel/$', views.ClankyResitelView.as_view(), name='clanky_resitel'),
+ url(r'^clanky/org/$', views.ClankyOrganizatorView.as_view(), name='clanky_organizator'),
+
+
url(r'^stav$', views.StavDatabazeView, name='stav_databaze'),
url(r'^aesop-export/mam-rocnik-(?P
\d+)\.csv$', export.ExportRocnikView.as_view(), name='seminar_export_rocnik'),
diff --git a/seminar/views.py b/seminar/views.py
index e2549fd7..e74955a8 100644
--- a/seminar/views.py
+++ b/seminar/views.py
@@ -159,9 +159,23 @@ class RocnikView(generic.DetailView):
context['temata_v_rocniku'] = temata_v_rocniku
return context
+
class ProblemView(generic.DetailView):
model = Problem
- template_name = 'seminar/archiv/problem.html'
+
+ def _je_clanek(self, problem):
+ return problem.typ in [Problem.TYP_ORG_CLANEK, Problem.TYP_RES_CLANEK]
+
+ def get_template_names(self, **kwargs):
+ context = super(ProblemView, self).get_context_data(**kwargs)
+ return ['seminar/archiv/problem_' + ('clanek.html' if self._je_clanek(context['problem']) else 'uloha_tema.html')]
+
+ def get_context_data(self, **kwargs):
+ context = super(ProblemView, self).get_context_data(**kwargs)
+ if context['problem'].typ == Problem.TYP_RES_CLANEK:
+ context['reseni'] = Reseni.objects.filter(problem=context['problem']).select_related('resitel').order_by('resitel__prijmeni')
+ return context
+
class RadekVysledkovky(object):
pass
@@ -271,6 +285,19 @@ class SoustredeniView(generic.DetailView):
model = Soustredeni
template_name = 'seminar/archiv/soustredeni.html'
+### Články
+
+class ClankyResitelView(generic.ListView):
+ model = Problem
+ template_name = 'seminar/clanky/resitelske_clanky.html'
+ queryset = Problem.objects.filter(typ=Problem.TYP_RES_CLANEK, stav=Problem.STAV_ZADANY).select_related('cislo_zadani__rocnik__rocnik').order_by('-cislo_zadani__rocnik__rocnik', 'kod')
+
+class ClankyOrganizatorView(generic.ListView):
+ model = Problem
+ template_name = 'seminar/clanky/organizatorske_clanky.html'
+ queryset = Problem.objects.filter(typ=Problem.TYP_ORG_CLANEK, stav=Problem.STAV_ZADANY).select_related('cislo_zadani__rocnik__rocnik').order_by('-cislo_zadani__rocnik__rocnik', 'kod')
+
+
### Status
def StavDatabazeView(request):