diff --git a/mamweb/urls.py b/mamweb/urls.py index 4b870fec..95fd90a4 100644 --- a/mamweb/urls.py +++ b/mamweb/urls.py @@ -39,6 +39,9 @@ urlpatterns = [ # Autentizační aplikace (ma vlastni podadresare) path('', include('various.autentizace.urls')), + # Novinková aplikace (ma vlastni podadresare) + path('', include('novinky.urls')), + # Api (ma vlastni podadresare) (autocomplete apod.) path('', include('api.urls')), diff --git a/novinky/__init__.py b/novinky/__init__.py index e69de29b..26e6a606 100644 --- a/novinky/__init__.py +++ b/novinky/__init__.py @@ -0,0 +1,3 @@ +""" +Obsahuje vše okolo novinek (zpráv „Co je nového?“ na titulní straně). +""" diff --git a/seminar/templates/seminar/novinky.html b/novinky/templates/novinky/novinky.html similarity index 100% rename from seminar/templates/seminar/novinky.html rename to novinky/templates/novinky/novinky.html diff --git a/seminar/templates/seminar/stare_novinky.html b/novinky/templates/novinky/stare_novinky.html similarity index 78% rename from seminar/templates/seminar/stare_novinky.html rename to novinky/templates/novinky/stare_novinky.html index c300eaae..faf4c972 100644 --- a/seminar/templates/seminar/stare_novinky.html +++ b/novinky/templates/novinky/stare_novinky.html @@ -8,6 +8,6 @@ {% endblock %} - {% include 'seminar/novinky.html' %} + {% include 'novinky/novinky.html' %} {% endblock %} diff --git a/novinky/urls.py b/novinky/urls.py new file mode 100644 index 00000000..6a3be15b --- /dev/null +++ b/novinky/urls.py @@ -0,0 +1,7 @@ +from django.urls import path + +from .views import StareNovinkyView + +urlpatterns = [ + path('stare-novinky/', StareNovinkyView.as_view(), name='stare_novinky'), +] diff --git a/novinky/views.py b/novinky/views.py index e69de29b..2cb20433 100644 --- a/novinky/views.py +++ b/novinky/views.py @@ -0,0 +1,23 @@ +from django.views import generic + +from .models import Novinky + + +def spravne_novinky(request): + """ + Vrátí správný QuerySet novinek, tedy ten, který daný uživatel smí vidět. + Tj. Organizátorům všechny, ostatním jen veřejné + """ + user = request.user + # Využíváme líné vyhodnocování QuerySetů + qs = Novinky.objects.all() + if not user.je_org: + qs = qs.filter(zverejneno=True) + return qs.order_by('-datum') + + +class StareNovinkyView(generic.ListView): + template_name = 'novinky/stare_novinky.html' + + def get_queryset(self): + return spravne_novinky(self.request) diff --git a/seminar/templates/seminar/titulnistrana/titulnistrana.html b/seminar/templates/seminar/titulnistrana/titulnistrana.html index f79bbbf1..7a6e3185 100644 --- a/seminar/templates/seminar/titulnistrana/titulnistrana.html +++ b/seminar/templates/seminar/titulnistrana/titulnistrana.html @@ -95,7 +95,7 @@ function sousdeadline() { {# Novinky #}