Skip to content
Snippets Groups Projects
Commit bb3f78a7 authored by Martin Mareš's avatar Martin Mareš
Browse files

find_or_create_participant dědí školu a rok narození z minulých ročníků

Tím pádem ani přidání účastníka do soutěže orgem, ani import účastníků
nevyžadují znovuvyplnění těchto údajů, když už je známe.

Closes #271.
parent 215b564c
No related branches found
No related tags found
No related merge requests found
...@@ -131,9 +131,16 @@ def find_or_create_participant(user: db.User, year: int, school_id: Optional[int ...@@ -131,9 +131,16 @@ def find_or_create_participant(user: db.User, year: int, school_id: Optional[int
part = sess.query(db.Participant).get((user.user_id, year)) part = sess.query(db.Participant).get((user.user_id, year))
is_new = part is None is_new = part is None
if part is None: if part is None:
prev_part = sess.query(db.Participant).filter_by(user_id=user.user_id).order_by(db.Participant.year.desc()).limit(1).one_or_none()
if not school_id: if not school_id:
if prev_part:
school_id = prev_part.school
else:
raise mo.CheckError('Osoba s daným e-mailem zatím není zaregistrovaná do ročníku, je nutné uvést školu.') raise mo.CheckError('Osoba s daným e-mailem zatím není zaregistrovaná do ročníku, je nutné uvést školu.')
if not birth_year: if not birth_year:
if prev_part:
birth_year = prev_part.birth_year
else:
raise mo.CheckError('Osoba s daným e-mailem zatím není zaregistrovaná do ročníku, je nutné uvést rok narození.') raise mo.CheckError('Osoba s daným e-mailem zatím není zaregistrovaná do ročníku, je nutné uvést rok narození.')
if not grade: if not grade:
raise mo.CheckError('Osoba s daným e-mailem zatím není zaregistrovaná do ročníku, je nutné uvést ročník.') raise mo.CheckError('Osoba s daným e-mailem zatím není zaregistrovaná do ročníku, je nutné uvést ročník.')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment