Skip to content

Commit

Permalink
Improved existing-user logic.
Browse files Browse the repository at this point in the history
  • Loading branch information
kaj committed Dec 7, 2023
1 parent e4e4fc0 commit 1f25270
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions app/finger/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -149,13 +149,22 @@ def update_data(self, data):
if fields["identifier"]:
member, _ = self.update_or_create(identifier__exact=fields["identifier"], defaults=fields)
else:
try:
user_from_db = User.objects.get(username=user.get("användarnamn"))
except User.DoesNotExist:
user_from_db = None
if user.get("användarnamn"):
try:
user_from_db = User.objects.get(username=user.get("användarnamn"))
except User.DoesNotExist:
pass
except User.MultipleObjectsReturned:
raise Exception("Multiple users have username %r" % user.get("användarnamn"))

if user_from_db is None and fields["kth_account"]:
try:
user_from_db = User.objects.get(member__kth_account=fields["kth_account"])
except User.DoesNotExist:
user_from_db = None
pass
except User.MultipleObjectsReturned:
raise Exception("Multiple users have kth account %r" % fields["kth_account"])

if self.is_valid_user(user) and user_from_db:
member, _ = self.update_or_create(id=user_from_db.id, defaults=fields)
Expand Down

0 comments on commit 1f25270

Please sign in to comment.