Guest User

Untitled

a guest
Dec 28th, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1. from django.db import models
  2. from django.contrib.auth.models import AbstractBaseUser
  3. from django.contrib.auth.models import BaseUserManager
  4.  
  5.  
  6. class AccountManager(BaseUserManager):
  7.  
  8. def create_user(self, username=None, password=None, **kwargs):
  9. account = self.model(username=username)
  10.  
  11. account.set_password(password)
  12. account.is_stuff = False
  13. account.save()
  14.  
  15. return account
  16.  
  17. def create_superuser(self, username, password, **kwargs):
  18. account = self.create_user(username, password, **kwargs)
  19. account.is_admin = True
  20. account.is_staff = True
  21. account.save()
  22.  
  23. return account
  24.  
  25.  
  26. class Account(AbstractBaseUser):
  27. username = models.CharField(max_length=40, unique=True)
  28. is_admin = models.BooleanField(default=False)
  29. created_at = models.DateTimeField(auto_now_add=True)
  30. updated_at = models.DateTimeField(auto_now=True)
  31. initialized = models.BooleanField(default=False)
  32.  
  33. USERNAME_FIELD = 'username'
  34.  
  35. objects = AccountManager()
  36.  
  37. class GetUserList(ListAPIView):
  38. permission_classes = (permissions.IsAdminUser,)
  39. queryset = Account.objects.all()
  40. serializer_class = AccountSerializer
  41.  
  42. class IsAdminUser(permissions.BasePermission):
  43.  
  44. def has_permission(self, request, view):
  45. return request.user.is_admin
  46.  
  47. class GetUserList(ListAPIView):
  48. permission_classes = (IsAdminUser,)
  49. queryset = Account.objects.all()
  50. serializer_class = AccountSerializer
  51.  
  52. is_staff = models.BooleanField(_('staff status'),default=False)
Add Comment
Please, Sign In to add comment