fixed error in user creation

This commit is contained in:
Sam
2021-03-11 13:04:30 +00:00
parent f23e1670c5
commit 67644512ff
3 changed files with 11 additions and 5 deletions

View File

@@ -24,6 +24,8 @@ class UserManager(BaseUserManager):
def create_user(self, email, password=None, **extra_fields):
extra_fields.setdefault('is_superuser', False)
extra_fields.setdefault('is_staff', False)
extra_fields.setdefault('is_active', False)
return self._create_user(email, password, **extra_fields)
def create_superuser(self, email, password, **extra_fields):

View File

@@ -589,7 +589,7 @@ class CreateCompanyUserTest(APITestCase):
self.factory = factories.CustomUserFactory
self.model = models.CustomUser
# create user
self.email = f"user@mail.com"
self.email = "user@mail.com"
self.password = ''.join(random.choices(string.ascii_uppercase, k = 10))
self.user = self.factory(email=self.email, is_active=False)
self.user.set_password(self.password)
@@ -630,6 +630,10 @@ class CreateCompanyUserTest(APITestCase):
self.assertEquals(response.status_code, 201)
self.assertEquals(len(mail.outbox), 1)
# user exists and it's inactice
self.assertTrue(self.model.objects.get(email='test@email.com'))
self.assertFalse(self.model.objects.get(email='test@email.com').is_active)
self.assertTrue(Company.objects.get(cif='qwerewq'))
def test_creation_error(self):

View File

@@ -44,9 +44,9 @@ logging.basicConfig(
class CustomUserViewSet(viewsets.ModelViewSet):
model = models.CustomUser
model = User
model_name = 'custom_user'
queryset = models.CustomUser.objects.all()
queryset = User.objects.all()
permission_classes = [CustomUserPermissions,]
read_serializer_class = core_serializers.CustomUserReadSerializer
write_serializer_class = core_serializers.CustomUserWriteSerializer
@@ -77,7 +77,7 @@ class CustomUserViewSet(viewsets.ModelViewSet):
if serializer.is_valid():
# save model instance data
password = serializer.validated_data.pop('password')
instance = self.model(**serializer.validated_data)
instance = self.model.objects.create_user(**serializer.validated_data)
instance.set_password(password)
instance.save()
# send verification email
@@ -141,7 +141,7 @@ def create_company_user(request):
if user_serializer.is_valid():
# save model instance data
password = user_serializer.validated_data.pop('password')
new_user = User(**user_serializer.validated_data)
new_user = User.objects.create_user(**user_serializer.validated_data)
new_user.set_password(password)
new_user.save()
# send verification email