Browse Source

Novinky: I staré novinky chceme všechny

Fun fact: předtím neveřejné novinky byly vidět jen na titulní stránce, v
seznamu starších ne...
middleware_test
Pavel 'LEdoian' Turinsky 4 years ago
parent
commit
b4d4a7c917
  1. 26
      seminar/views/views_all.py

26
seminar/views/views_all.py

@ -227,16 +227,25 @@ class AktualniZadaniView(TreeNodeView):
### Titulni strana
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()
# TODO: Tohle by mělo spíš kontrolovat, že je/není někdo org, než že může do Adminu.
if not user.is_staff:
qs = qs.filter(zverejneno=True)
return qs.order_by('-datum')
class TitulniStranaView(generic.ListView):
template_name='seminar/titulnistrana.html'
def get_queryset(self):
# Pro nepřihlášené uživatele chceme novinky jen veřejné
# Využíváme líné vyhodnocování QuerySetů
qs = Novinky.objects.all()
if not self.request.user.is_authenticated:
qs = qs.filter(zverejneno=True)
return qs.order_by('-datum')[:5]
return spravne_novinky(self.request)[:5]
def get_context_data(self, **kwargs):
context = super(TitulniStranaView, self).get_context_data(**kwargs)
@ -273,9 +282,10 @@ class TitulniStranaView(generic.ListView):
return context
class StareNovinkyView(generic.ListView):
model = Novinky
template_name = 'seminar/stare_novinky.html'
queryset = Novinky.objects.filter(zverejneno=True).order_by('-datum')
def get_queryset(self):
return spravne_novinky(self.request)
### Co je M&M

Loading…
Cancel
Save