@ -1,15 +1,23 @@
import seminar . models as m
from django . shortcuts import render
def zadavatkoProblemuView ( req , problem = None ) :
template_name = ' seminar/templates/seminar/org/vyroba_problemu.html '
if problem = None :
problemy = m . Problem . objects . all ( )
# TODO: Možná jen úlohy a problémy?
template_name = ' seminar/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
# --- snip ---
# 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
@ -17,3 +25,16 @@ def zadavatkoProblemuView(req, problem=None):
# - 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)?