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

Import: Nedovolíme vícenásobnou účast v tomtéž kole

parent 0281930b
No related branches found
No related tags found
No related merge requests found
......@@ -182,8 +182,12 @@ class Import:
place = contest.place
sess = db.get_session()
pion = sess.query(db.Participation).get((user.user_id, contest.contest_id))
if not pion:
pions = (sess.query(db.Participation)
.filter_by(user=user)
.filter(db.Participation.contest.has(db.Contest.round == contest.round))
.all())
if not pions:
pion = db.Participation(user=user, contest=contest, place_id=place.place_id, state=db.PartState.registered)
sess.add(pion)
mo.util.log(
......@@ -191,8 +195,13 @@ class Import:
what=user.user_id,
details={'action': 'add-to-contest', 'new': db.row2dict(pion)},
)
elif len(pions) == 1:
pion = pions[0]
if pion.place != place:
return self.error('Již se tohoto kola účastní v jiné oblasti')
else:
return self.error('Již se tohoto kola účastní ve vice oblastech, což by nemělo být možné')
# FIXME: Kontrolovat účast v tomtéž kole, ale jiném contestu
return pion
def import_contest_row(self, contest: Optional[db.Contest], r: ContestImportRow):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment