user.py 940 B

123456789101112131415161718192021222324252627282930313233343536
  1. from django.contrib.auth import get_user_model
  2. from ..users.bans import ban_user
  3. from ..users.test import create_test_user
  4. from .username import get_fake_username
  5. from .utils import retry_on_db_error
  6. User = get_user_model()
  7. PASSWORD = "password"
  8. @retry_on_db_error
  9. def get_fake_user(fake, rank=None, requires_activation=User.ACTIVATION_NONE):
  10. username = get_fake_username(fake)
  11. return create_test_user(
  12. username,
  13. fake.email(),
  14. PASSWORD,
  15. rank=rank,
  16. requires_activation=requires_activation,
  17. )
  18. def get_fake_banned_user(fake, rank=None):
  19. user = get_fake_user(fake, rank=rank)
  20. ban_user(user)
  21. return user
  22. def get_fake_inactive_user(fake, rank=None):
  23. return get_fake_user(fake, rank=rank, requires_activation=User.ACTIVATION_USER)
  24. def get_fake_admin_activated_user(fake, rank=None):
  25. return get_fake_user(fake, rank=rank, requires_activation=User.ACTIVATION_ADMIN)