From 01f41bc71d8748f3ee790be2b91bb5474d11c979 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C4=9Bj=20Koci=C3=A1n?= Date: Sat, 12 Sep 2015 00:22:17 +0200 Subject: [PATCH] =?UTF-8?q?=C3=9Apravy=20novinek?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * předvyplnění přihlášeného uživatele * zobrazení pěti nejnovějších na titulní straně bez ohledu na stáří * archiv --- seminar/admin.py | 9 ++++++ seminar/templates/seminar/novinky.html | 31 +++++++++++++++++++ seminar/templates/seminar/stare_novinky.html | 11 +++++++ seminar/templates/seminar/titulnistrana.html | 32 ++------------------ seminar/urls.py | 1 + seminar/views.py | 8 +++-- 6 files changed, 61 insertions(+), 31 deletions(-) create mode 100644 seminar/templates/seminar/novinky.html create mode 100644 seminar/templates/seminar/stare_novinky.html diff --git a/seminar/admin.py b/seminar/admin.py index 3a9fa74f..eeb415ac 100644 --- a/seminar/admin.py +++ b/seminar/admin.py @@ -380,6 +380,15 @@ class NovinkyAdmin(admin.ModelAdmin): list_display = ['datum', 'autor', 'text', 'zverejneno', 'obrazek'] actions = [zverejnit_novinky, zneverejnit_novinky] + # předvyplnění přihlášeného uživatele jako autora novinky + def formfield_for_foreignkey(self, db_field, request, **kwargs): + if db_field.name == 'autor': + kwargs['initial'] = request.user.id + return super(NovinkyAdmin, self).formfield_for_foreignkey( + db_field, request, **kwargs + ) + + admin.site.register(Novinky, NovinkyAdmin) ### Organizator diff --git a/seminar/templates/seminar/novinky.html b/seminar/templates/seminar/novinky.html new file mode 100644 index 00000000..10bf0007 --- /dev/null +++ b/seminar/templates/seminar/novinky.html @@ -0,0 +1,31 @@ +{% for novinka in object_list %} +{# pripravene div-y na stylovani#} +
+ {# datum #} +
{{novinka.datum}}
+ {# text #} + {{ novinka.text | safe }} + {# obrazek #} + {% if novinka.obrazek %} +
+ +
+ {% endif %} + {# autor #} + {% if user.is_staff %} +
{{novinka.autor.first_name}} + {% if novinka.autor.organizator.prezdivka%} + „{{novinka.autor.organizator.prezdivka}}“ + {% endif %} + {{novinka.autor.last_name}} +
+ {% endif %} +
+{% endfor%} diff --git a/seminar/templates/seminar/stare_novinky.html b/seminar/templates/seminar/stare_novinky.html new file mode 100644 index 00000000..97012e25 --- /dev/null +++ b/seminar/templates/seminar/stare_novinky.html @@ -0,0 +1,11 @@ +{% extends 'base.html' %} + +{% block content %} + +

+ Archiv novinek +

+ + {% include 'seminar/novinky.html' %} + +{% endblock %} diff --git a/seminar/templates/seminar/titulnistrana.html b/seminar/templates/seminar/titulnistrana.html index 89a0f566..584668db 100644 --- a/seminar/templates/seminar/titulnistrana.html +++ b/seminar/templates/seminar/titulnistrana.html @@ -13,34 +13,8 @@ {# Novinky #}

Novinky

+ {% include 'seminar/novinky.html' %} + + Archiv novinek - {% for novinka in object_list %} - {# pripravene div-y na stylovani#} -
- {# datum #} -
{{novinka.datum}}
- {# text #} - {% autoescape off %}{{novinka.text}}{% endautoescape %} - {# obrazek #} - {% if novinka.obrazek %} -
- -
- {% endif %} - {# autor #} -
{{novinka.autor.first_name}} - {% if novinka.autor.organizator.prezdivka%} - „{{novinka.autor.organizator.prezdivka}}“ - {% endif %} - {{novinka.autor.last_name}} -
-
- {% endfor%} {% endblock %} diff --git a/seminar/urls.py b/seminar/urls.py index 476cf3f1..ff322241 100644 --- a/seminar/urls.py +++ b/seminar/urls.py @@ -20,6 +20,7 @@ urlpatterns = patterns('', url(r'^zadani/aktualni/$', views.AktualniZadaniView, name='seminar_aktualni_zadani'), url(r'^zadani/temata/$', views.ZadaniTemataView, name='seminar_temata'), url(r'^$', views.TitulniStranaView.as_view(), name='titulni_strana'), + url(r'^stare-novinky/$', views.StareNovinkyView.as_view(), name='stare_novinky'), url(r'^stav$', views.StavDatabazeView, name='stav_databaze'), diff --git a/seminar/views.py b/seminar/views.py index e8f5917b..4eaf8f19 100644 --- a/seminar/views.py +++ b/seminar/views.py @@ -42,13 +42,17 @@ def ZadaniTemataView(request): class TitulniStranaView(generic.ListView): model = Novinky template_name='seminar/titulnistrana.html' - pred_dvema_mesici = (date.today() - timedelta(2*365/12)) - queryset = Novinky.objects.filter(datum__range=(pred_dvema_mesici, date.today())).filter(zverejneno=True).order_by('-datum') + queryset = Novinky.objects.filter(zverejneno=True).order_by('-datum')[:5] #def get_context_data(self, **kwargs): # context = super(TitulniStranaView, self).get_context_data(**kwargs) # return context +class StareNovinkyView(generic.ListView): + model = Novinky + template_name = 'seminar/stare_novinky.html' + queryset = Novinky.objects.filter(zverejneno=True).order_by('-datum') + ### Co je M&M ## Organizatori