mirror of
https://github.com/inventree/InvenTree.git
synced 2026-08-13 00:46:15 +00:00
[bug] Handle duplicate email addresses for magic links (#12621)
This commit is contained in:
@@ -69,6 +69,9 @@ class GetSimpleLoginView(GenericAPIView):
|
|||||||
return User.objects.get(email=email)
|
return User.objects.get(email=email)
|
||||||
except User.DoesNotExist:
|
except User.DoesNotExist:
|
||||||
return None
|
return None
|
||||||
|
except User.MultipleObjectsReturned:
|
||||||
|
logger.warning('Multiple users found with email: %s', email)
|
||||||
|
return None
|
||||||
|
|
||||||
def create_link(self, user):
|
def create_link(self, user):
|
||||||
"""Create a login link for this user."""
|
"""Create a login link for this user."""
|
||||||
|
|||||||
@@ -1708,6 +1708,18 @@ class MagicLoginTest(InvenTreeTestCase):
|
|||||||
# And we should be logged in again
|
# And we should be logged in again
|
||||||
self.assertEqual(resp.wsgi_request.user, self.user)
|
self.assertEqual(resp.wsgi_request.user, self.user)
|
||||||
|
|
||||||
|
def test_duplicate_email(self):
|
||||||
|
"""Test that duplicate email addresses do not raise a server error."""
|
||||||
|
User = get_user_model()
|
||||||
|
User.objects.create_user(
|
||||||
|
username='duplicate', email=self.user.email, password='password'
|
||||||
|
)
|
||||||
|
|
||||||
|
resp = self.client.post(reverse('sesame-generate'), {'email': self.user.email})
|
||||||
|
self.assertEqual(resp.status_code, 200)
|
||||||
|
self.assertEqual(resp.data, {'status': 'ok'})
|
||||||
|
self.assertEqual(len(mail.outbox), 0)
|
||||||
|
|
||||||
|
|
||||||
class MaintenanceModeTest(InvenTreeTestCase):
|
class MaintenanceModeTest(InvenTreeTestCase):
|
||||||
"""Unit tests for maintenance mode."""
|
"""Unit tests for maintenance mode."""
|
||||||
|
|||||||
Reference in New Issue
Block a user