[discgolf] Fix bug in creating people
This commit is contained in:
@ -15,9 +15,12 @@ def _parse_udisc_datetime(raw: str) -> datetime:
|
||||
return parse_datetime(raw)
|
||||
|
||||
|
||||
def _resolve_player(name: str) -> Person:
|
||||
person, _ = Person.objects.get_or_create(name=name.strip())
|
||||
return person
|
||||
def _resolve_player(name: str, user_id: int) -> Person:
|
||||
name = name.strip()
|
||||
existing = Person.objects.filter(name=name, created_by_id=user_id).first()
|
||||
if existing:
|
||||
return existing
|
||||
return Person.objects.create(name=name, created_by_id=user_id)
|
||||
|
||||
|
||||
def import_udisc_csv(
|
||||
@ -95,10 +98,10 @@ def import_udisc_csv(
|
||||
|
||||
if is_teams:
|
||||
people = player_name.split("+")
|
||||
person_ids = [_resolve_player(p.strip()).id for p in people]
|
||||
person_ids = [_resolve_player(p.strip(), user_id).id for p in people]
|
||||
hole_scores["person_ids"] = person_ids
|
||||
else:
|
||||
person = _resolve_player(player_name)
|
||||
person = _resolve_player(player_name, user_id)
|
||||
hole_scores["person_id"] = person.id
|
||||
|
||||
scores[player_name] = hole_scores
|
||||
|
||||
Reference in New Issue
Block a user