diff --git a/arkindex/users/__init__.py b/arkindex/users/__init__.py index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..1cfa95c54f731514492b24b6b1b118c88e120e07 100644 --- a/arkindex/users/__init__.py +++ b/arkindex/users/__init__.py @@ -0,0 +1 @@ +default_app_config = 'arkindex.users.apps.UsersConfig' diff --git a/arkindex/users/apps.py b/arkindex/users/apps.py index 4ce1fabc032a21e92bb0e0299a650bcdc4fffefe..04be7d432258ef78bb2e9d77a83c117c74ca7b18 100644 --- a/arkindex/users/apps.py +++ b/arkindex/users/apps.py @@ -2,4 +2,7 @@ from django.apps import AppConfig class UsersConfig(AppConfig): - name = 'users' + name = 'arkindex.users' + + def ready(self): + from arkindex.users import signals # noqa diff --git a/arkindex/users/signals.py b/arkindex/users/signals.py new file mode 100644 index 0000000000000000000000000000000000000000..b484a7c979edb7c83b563073681c5570c9b655de --- /dev/null +++ b/arkindex/users/signals.py @@ -0,0 +1,10 @@ +from django.conf import settings +from django.db.models.signals import post_save +from django.dispatch import receiver +from rest_framework.authtoken.models import Token + + +@receiver(post_save, sender=settings.AUTH_USER_MODEL) +def create_auth_token(sender, instance=None, created=False, **kwargs): + if created: + Token.objects.create(user=instance) diff --git a/arkindex/users/tests.py b/arkindex/users/tests.py index 71f77aebdff7ebc15e01ef684759ff976b83e905..7853150a752718e7d3e4e5c95e0799c250fd390f 100644 --- a/arkindex/users/tests.py +++ b/arkindex/users/tests.py @@ -3,6 +3,7 @@ from django.urls import reverse from django.core import mail from django.contrib import auth from arkindex.users.models import User +from rest_framework.authtoken.models import Token class TestUsers(TestCase): @@ -41,3 +42,9 @@ class TestUsers(TestCase): self.assertListEqual(response.redirect_chain, [(reverse('password_reset_done'), 302)]) self.assertEqual(len(mail.outbox), 1) self.assertEqual(mail.outbox[0].to, ['email@address.com']) + + def test_auto_token(self): + """ + Check creating a user automatically creates a token + """ + self.assertEqual(Token.objects.filter(user=self.user).count(), 1)