Browse Source

Split novinek

pull/60/head
Jonas Havelka 3 months ago
parent
commit
9920465f99
  1. 3
      mamweb/urls.py
  2. 3
      novinky/__init__.py
  3. 0
      novinky/templates/novinky/novinky.html
  4. 2
      novinky/templates/novinky/stare_novinky.html
  5. 7
      novinky/urls.py
  6. 23
      novinky/views.py
  7. 2
      seminar/templates/seminar/titulnistrana/titulnistrana.html
  8. 1
      seminar/urls.py
  9. 19
      seminar/views/views_all.py

3
mamweb/urls.py

@ -39,6 +39,9 @@ urlpatterns = [
# Autentizační aplikace (ma vlastni podadresare) # Autentizační aplikace (ma vlastni podadresare)
path('', include('various.autentizace.urls')), path('', include('various.autentizace.urls')),
# Novinková aplikace (ma vlastni podadresare)
path('', include('novinky.urls')),
# Api (ma vlastni podadresare) (autocomplete apod.) # Api (ma vlastni podadresare) (autocomplete apod.)
path('', include('api.urls')), path('', include('api.urls')),

3
novinky/__init__.py

@ -0,0 +1,3 @@
"""
Obsahuje vše okolo novinek (zpráv Co je nového? na titulní straně).
"""

0
seminar/templates/seminar/novinky.html → novinky/templates/novinky/novinky.html

2
seminar/templates/seminar/stare_novinky.html → novinky/templates/novinky/stare_novinky.html

@ -8,6 +8,6 @@
{% endblock %} {% endblock %}
</h1> </h1>
{% include 'seminar/novinky.html' %} {% include 'novinky/novinky.html' %}
{% endblock %} {% endblock %}

7
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'),
]

23
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)

2
seminar/templates/seminar/titulnistrana/titulnistrana.html

@ -95,7 +95,7 @@ function sousdeadline() {
{# Novinky #} {# Novinky #}
<h1>Co je nového?</h1> <h1>Co je nového?</h1>
{% include 'seminar/novinky.html' %} {% include 'novinky/novinky.html' %}
<a href='/stare-novinky/'>Archiv novinek</a> <a href='/stare-novinky/'>Archiv novinek</a>

1
seminar/urls.py

@ -77,7 +77,6 @@ urlpatterns = [
path('', views.TitulniStranaView.as_view(), name='titulni_strana'), path('', views.TitulniStranaView.as_view(), name='titulni_strana'),
path('jak-resit/', views.JakResitView.as_view(), name='jak_resit'), path('jak-resit/', views.JakResitView.as_view(), name='jak_resit'),
path('stare-novinky/', views.StareNovinkyView.as_view(), name='stare_novinky'),
# Dočasné & neodladěné: # Dočasné & neodladěné:
path( path(

19
seminar/views/views_all.py

@ -18,6 +18,7 @@ from seminar.models import Problem, Cislo, Reseni, Nastaveni, Rocnik, \
#from .models import VysledkyZaCislo, VysledkyKCisluZaRocnik, VysledkyKCisluOdjakziva #from .models import VysledkyZaCislo, VysledkyKCisluZaRocnik, VysledkyKCisluOdjakziva
from seminar import utils from seminar import utils
from treenode import treelib from treenode import treelib
from novinky.views import spravne_novinky
import treenode.templatetags as tnltt import treenode.templatetags as tnltt
import treenode.serializers as vr import treenode.serializers as vr
from vysledkovky.utils import body_resitelu, VysledkovkaCisla, \ from vysledkovky.utils import body_resitelu, VysledkovkaCisla, \
@ -218,18 +219,6 @@ def ZadaniAktualniVysledkovkaView(request):
### 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()
if not user.je_org:
qs = qs.filter(zverejneno=True)
return qs.order_by('-datum')
def aktualni_temata(rocnik): def aktualni_temata(rocnik):
""" """
Vrací PolymorphicQuerySet témat v daném ročníku, ke kterým se aktuálně něco odevzdat. Vrací PolymorphicQuerySet témat v daném ročníku, ke kterým se aktuálně něco odevzdat.
@ -264,12 +253,6 @@ class TitulniStranaView(generic.ListView):
return context return context
class StareNovinkyView(generic.ListView):
template_name = 'seminar/stare_novinky.html'
def get_queryset(self):
return spravne_novinky(self.request)
### Co je M&M ### Co je M&M

Loading…
Cancel
Save