user_utils.py 871 B

123456789101112131415161718192021222324
  1. from faker import Factory
  2. from users.models import User
  3. faker = Factory.create()
  4. def create_account(username=None, email=None, password=None, name=None, **kwargs):
  5. "Allow to create accounts by passing None or specific arguements"
  6. email = email or faker.email()
  7. username = username or email.split('@')[0]
  8. password = password or faker.password()
  9. name = name or faker.name()
  10. description = kwargs.get('description') or faker.text()
  11. is_superuser = kwargs.get('is_superuser') or False
  12. is_manager = kwargs.get('is_manager') or False
  13. is_editor = kwargs.get('is_editor') or False
  14. user = User.objects.create(username=username, email=email, name=name, description=description, is_superuser=is_superuser, is_staff=is_superuser, is_editor=is_editor, is_manager=is_manager)
  15. user.set_password(password)
  16. user.save()
  17. return user