Web M&M
https://mam.matfyz.cz
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.7 KiB
40 lines
1.7 KiB
import seminar.models as m
|
|
from django.shortcuts import render
|
|
|
|
|
|
def zadavatkoProblemuView(req, problem=None):
|
|
template_name = 'tvorba/org/vyroba_problemu.html'
|
|
|
|
if req.method == 'POST':
|
|
cilovy_stav = req.POST['akce']
|
|
pr = req.POST['problem_id']
|
|
print(cilovy_stav, pr)
|
|
|
|
if problem is None:
|
|
# Vykradený autocomplete :-)
|
|
rocnik = m.Nastaveni.get_solo().aktualni_rocnik
|
|
problemy = m.Uloha.objects.filter(cislo_zadani__rocnik=rocnik)
|
|
# Věříme, že drtivá většina úložek bude mít číslo zadání už od vzniku, protože vznikly tady. K úložce bez čísla zadání se pořád dá dostat přes témátko, k těm netémátkovým jen z Admina.
|
|
else:
|
|
problemy = problem.podproblemy_rekurzivne
|
|
|
|
# Je potřeba mít v kontextu:
|
|
# - seznam příslušných problémů
|
|
# - Formulář na vybírání problémů a společné změny
|
|
# - Umět filtrovat jen na nevyřešené problémy (Návrhy, Smazané a Vyřešené nechci vidět vždycky)
|
|
# - Formulář na vyrábění problémů – logika má být asi ve forms…
|
|
|
|
|
|
ctx = {'object_list': problemy, 'form': 'Hello!', 'STAVY': dict(m.Problem.STAV_CHOICES)}
|
|
return render(req, template_name, ctx)
|
|
|
|
# TODO: Přesunout forms někam jinam! (nechtělo se mi počáteční implementaci sekat do spousty souborů, pro vývoj to bylo přehlednější)
|
|
|
|
# NOTE: Formsety nejdou použít, protože my chceme vlastní značítka.
|
|
# - Na takovém řádku chceme:
|
|
# - Zaškrtávátko s výběrem
|
|
# - Přehled stavu: název problému, stav, číslo zadání, počet bodů
|
|
# - Nějak snadno umět upravit stav. (Výhledově inlinemodelform + disketka asi)
|
|
# - Odkaz do Admina
|
|
# - Reset opravovatelů/garantů/… (i.e. podědit z nadproblému)?
|
|
|
|
|