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...
This commit is contained in:
parent
3e94572e6e
commit
b4d4a7c917
1 changed files with 18 additions and 8 deletions
|
@ -227,16 +227,25 @@ class AktualniZadaniView(TreeNodeView):
|
||||||
|
|
||||||
### Titulni strana
|
### 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):
|
class TitulniStranaView(generic.ListView):
|
||||||
template_name='seminar/titulnistrana.html'
|
template_name='seminar/titulnistrana.html'
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
# Pro nepřihlášené uživatele chceme novinky jen veřejné
|
return spravne_novinky(self.request)[:5]
|
||||||
# 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]
|
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super(TitulniStranaView, self).get_context_data(**kwargs)
|
context = super(TitulniStranaView, self).get_context_data(**kwargs)
|
||||||
|
@ -273,9 +282,10 @@ class TitulniStranaView(generic.ListView):
|
||||||
return context
|
return context
|
||||||
|
|
||||||
class StareNovinkyView(generic.ListView):
|
class StareNovinkyView(generic.ListView):
|
||||||
model = Novinky
|
|
||||||
template_name = 'seminar/stare_novinky.html'
|
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
|
### Co je M&M
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue