Skip to content
Snippets Groups Projects

Formulářová políčka; Přidání účastníka do soutěže; Editace registrace do ročníku

Merged Jiří Kalvoda requested to merge jk/add-contestant into devel
+ 13
12
@@ -13,11 +13,11 @@ import mo.util
@@ -13,11 +13,11 @@ import mo.util
from mo.util import logger
from mo.util import logger
import mo.tokens
import mo.tokens
def normalize_grade(rocnik:str, school:db.School) -> str:
def normalize_grade(rocnik: str, school: db.School) -> str:
""" Aktuálně provádí jen kontrolu formátu. """
""" Aktuálně provádí jen kontrolu formátu. """
if not re.fullmatch(r'\d(/\d)?', rocnik):
if not re.fullmatch(r'\d(/\d)?', rocnik):
raise mo.CheckError(f'Ročník má neplatný formát, musí to být buď číslice, nebo číslice/číslice')
raise mo.CheckError('Ročník má neplatný formát, musí to být buď číslice, nebo číslice/číslice')
if not school.is_zs and re.fullmatch(r'\d', rocnik):
if not school.is_zs and re.fullmatch(r'\d', rocnik):
raise mo.CheckError(f'Ročník pro střední školu ({school.place.name}) zapisujte ve formátu číslice/číslice')
raise mo.CheckError(f'Ročník pro střední školu ({school.place.name}) zapisujte ve formátu číslice/číslice')
@@ -27,19 +27,20 @@ def normalize_grade(rocnik:str, school:db.School) -> str:
@@ -27,19 +27,20 @@ def normalize_grade(rocnik:str, school:db.School) -> str:
return rocnik
return rocnik
def validate_and_find_school(kod:str) -> db.Place:
if kod == "":
raise mo.CheckError('Škola je povinná')
place = db.get_place_by_code(kod, fetch_school=True)
def validate_and_find_school(kod: str) -> db.Place:
if not place:
if kod == "":
raise mo.CheckError(f'Škola s kódem "{kod}" nenalezena'+
raise mo.CheckError('Škola je povinná')
('. Nechybí vám # na začátku?' if re.fullmatch(r'\d+', kod) else ''))
if place.type != db.PlaceType.school:
place = db.get_place_by_code(kod, fetch_school=True)
raise mo.CheckError(f'Kód školy "{kod}" neodpovídá škole')
if not place:
 
raise mo.CheckError(f'Škola s kódem "{kod}" nenalezena' +
 
('. Nechybí vám # na začátku?' if re.fullmatch(r'\d+', kod) else ''))
return place
if place.type != db.PlaceType.school:
 
raise mo.CheckError(f'Kód školy "{kod}" neodpovídá škole')
 
 
return place
def find_or_create_user(email: str, krestni: str, prijmeni: str, is_org: bool) -> tuple[db.User, bool]:
def find_or_create_user(email: str, krestni: str, prijmeni: str, is_org: bool) -> tuple[db.User, bool]:
Loading