Browse Source

seminar | clanek ma flag, zda je resitelsky, opraveno aktualni zadani

export_seznamu_prednasek
parent
commit
0b7f0c2e42
  1. BIN
      Schema_new.dia
  2. 18
      seminar/migrations/0079_clanek_resitelsky.py
  3. 2
      seminar/models.py
  4. 2
      seminar/urls.py
  5. 28
      seminar/views/views_all.py

BIN
Schema_new.dia

Binary file not shown.

18
seminar/migrations/0079_clanek_resitelsky.py

@ -0,0 +1,18 @@
# Generated by Django 2.2.9 on 2020-03-25 19:24
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('seminar', '0078_otistenereseninode'),
]
operations = [
migrations.AddField(
model_name='clanek',
name='resitelsky',
field=models.BooleanField(default=True, verbose_name='Jde o řešitelský článek?'),
),
]

2
seminar/models.py

@ -753,6 +753,8 @@ class Clanek(Problem):
cislo = models.ForeignKey(Cislo, verbose_name='číslo', blank=True, null=True,
on_delete=models.PROTECT)
resitelsky = models.BooleanField('Jde o řešitelský článek?', default=True)
# má OneToOneField s:
# ClanekNode

2
seminar/urls.py

@ -60,7 +60,7 @@ urlpatterns = [
),
# Zadani
# path('zadani/aktualni/', views.AktualniZadaniView, name='seminar_aktualni_zadani'),
path('zadani/aktualni/', views.AktualniZadaniView.as_view(), name='seminar_aktualni_zadani'),
# path('zadani/temata/', views.ZadaniTemataView, name='seminar_temata'),
#path('zadani/vysledkova-listina/', views.ZadaniAktualniVysledkovkaView, name='seminar_vysledky'),
path('stare-novinky/', views.StareNovinkyView.as_view(), name='stare_novinky'),

28
seminar/views/views_all.py

@ -106,22 +106,18 @@ class TreeNodeView(generic.DetailView):
return context
class AktualniZadaniView(TreeNodeView):
def get_object(self):
nastaveni = get_object_or_404(Nastaveni)
return nastaveni.aktualni_cislo.cislonode
def get_context_data(self,**kwargs):
nastaveni = get_object_or_404(Nastaveni)
context = super().get_context_data(**kwargs)
verejne = nastaveni.aktualni_cislo.verejne()
context['verejne'] = verejne
return context
#def AktualniZadaniView(request):
# nastaveni = get_object_or_404(Nastaveni)
# verejne = nastaveni.aktualni_cislo.verejne()
# problemy = Problem.objects.filter(cislo_zadani=nastaveni.aktualni_cislo).filter(stav = 'zadany')
# ulohy = problemy.filter(typ = 'uloha').order_by('kod')
# serialy = problemy.filter(typ = 'serial').order_by('kod')
# jednorazove_problemy = [ulohy, serialy]
# return render(request, 'seminar/zadani/AktualniZadani.html',
# {'nastaveni': nastaveni,
# 'jednorazove_problemy': jednorazove_problemy,
# 'temata': verejna_temata(nastaveni.aktualni_rocnik),
# 'verejne': verejne,
# },
# )
#
#def ZadaniTemataView(request):
# nastaveni = get_object_or_404(Nastaveni)
# temata = verejna_temata(nastaveni.aktualni_rocnik)
@ -892,7 +888,7 @@ def soustredeniUcastniciExportView(request,soustredeni):
class ClankyResitelView(generic.ListView):
model = Problem
template_name = 'seminar/clanky/resitelske_clanky.html'
queryset = Clanek.objects.filter(stav=Problem.STAV_ZADANY).select_related('cislo_zadani__rocnik').order_by('-cislo_zadani__rocnik__rocnik', 'kod')
queryset = Clanek.objects.filter(stav=Problem.STAV_ZADANY, resitelsky=True).select_related('cislo__rocnik').order_by('-cislo__rocnik__rocnik', 'kod')
# FIXME: pokud chceme orgoclanky, tak nejak zavest do modelu a podle toho odkomentovat a upravit
#class ClankyOrganizatorView(generic.ListView)<F12>:

Loading…
Cancel
Save