Skip to content

Commit 50f9b91

Browse files
committed
don't create duplicate users from admin
1 parent 37c0c90 commit 50f9b91

1 file changed

Lines changed: 15 additions & 7 deletions

File tree

src/backend/core/admin.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -249,13 +249,21 @@ def add_passwordless_view(self, request):
249249
if request.method == "POST":
250250
form = PasswordlessUserForm(request.POST)
251251
if form.is_valid():
252-
user = models.User(email=form.cleaned_data["email"])
253-
user.set_unusable_password()
254-
user.save()
255-
messages.success(
256-
request,
257-
f"Passwordless user created: {user.email}",
258-
)
252+
email = form.cleaned_data["email"]
253+
user = models.User.objects.filter(email=email).first()
254+
if user is None:
255+
user = models.User(email=email)
256+
user.set_unusable_password()
257+
user.save()
258+
messages.success(
259+
request,
260+
f"Passwordless user created: {user.email}",
261+
)
262+
else:
263+
messages.info(
264+
request,
265+
f"User already exists: {user.email}",
266+
)
259267
return redirect("admin:core_user_changelist")
260268
else:
261269
form = PasswordlessUserForm()

0 commit comments

Comments
 (0)