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

Import: Nerozlišitelní účastníci jsou chyba

parent 8053f7c3
No related branches found
No related tags found
No related merge requests found
...@@ -491,6 +491,7 @@ class ContestImport(Import): ...@@ -491,6 +491,7 @@ class ContestImport(Import):
log_msg_prefix = 'Účastníci' log_msg_prefix = 'Účastníci'
log_details = {'action': 'import'} log_details = {'action': 'import'}
template_basename = 'sablona-ucast' template_basename = 'sablona-ucast'
email_last_seen: Dict[str, int]
def __init__( def __init__(
self, self,
...@@ -512,6 +513,7 @@ class ContestImport(Import): ...@@ -512,6 +513,7 @@ class ContestImport(Import):
self.row_example.kod_skoly = default_place.get_code() self.row_example.kod_skoly = default_place.get_code()
else: else:
self.row_example.kod_skoly = '#3333' self.row_example.kod_skoly = '#3333'
self.email_last_seen = {}
assert not self.round.is_subround() assert not self.round.is_subround()
def import_row(self, r: mo.csv.Row) -> None: def import_row(self, r: mo.csv.Row) -> None:
...@@ -542,6 +544,11 @@ class ContestImport(Import): ...@@ -542,6 +544,11 @@ class ContestImport(Import):
email = mo.users.email_or_synthesize(email, krestni, prijmeni, rocnik, school_place) email = mo.users.email_or_synthesize(email, krestni, prijmeni, rocnik, school_place)
except mo.CheckError as e: except mo.CheckError as e:
return self.error(str(e)) return self.error(str(e))
if email in self.email_last_seen:
return self.error(f'Účastník není rozlišitelný od toho z řádku {self.email_last_seen[email]}. Případné jmenovce vyřešte ručním přidáním účastníka.')
self.email_last_seen[email] = self.line_number
user = self.find_or_create_user(email, krestni, prijmeni, is_org=False) user = self.find_or_create_user(email, krestni, prijmeni, is_org=False)
if user is None: if user is None:
return return
... ...
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment