diff --git a/tvorba/views/docasne.py b/tvorba/views/docasne.py index 453909ca..9b2a435f 100644 --- a/tvorba/views/docasne.py +++ b/tvorba/views/docasne.py @@ -27,7 +27,7 @@ class HromadnePridaniForm(Form): """ Formulář pro hromadné přidání úložek a problémů """ tema = CharField(label="Název tématu:") - dil = IntegerField(label="Díl:", min_value=1) + cislo = IntegerField(label="Číslo:", min_value=1) body = CharField(label="Počty bodů (0 pro problém) oddělené čárkami:") def clean_tema(self): @@ -41,7 +41,7 @@ class HromadnePridaniForm(Form): def clean_body(self): """ Kontrola, že `body` je seznam čísel """ try: - list(map(int, self.cleaned_data["body"].split(","))) + list(map(float, self.cleaned_data["body"].split(","))) except ValueError: raise ValidationError("Špatný formát bodů") return self.cleaned_data['body'] @@ -64,21 +64,21 @@ class HromadnePridaniView(FormView): """ Upravený Pavlův skript na hromadné přidání úložek a problémů. """ cd = form.cleaned_data tema = cd["tema"] - dil = cd["dil"] - body = list(map(int, cd["body"].split(","))) + cislo = cd["cislo"] + body = list(map(float, cd["body"].split(","))) t = Problem.objects.get(nazev__exact=tema, nadproblem=None) with transaction.atomic(): - pfx = f"{t.nazev}, díl {dil}, " + pfx = f"{t.nazev}, " for k, b in enumerate(body, 1): u = Uloha.objects.create( nadproblem=t, - nazev=pfx + f"{'úloha' if b > 0 else 'problém'} {k}", + nazev=pfx + f"{'úloha' if b > 0 else 'problém'} {cislo}.{k}", autor=t.autor, garant=t.garant, max_body=b, - cislo_zadani=Cislo.get(t.rocnik.rocnik, dil), + cislo_zadani=Cislo.get(t.rocnik.rocnik, cislo), kod=k, stav=Problem.STAV_ZADANY, )