Advertisement
Guest User

Untitled

a guest
Apr 21st, 2016
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin, BaseUserManager
  2.  
  3. class EmailUserManager(BaseUserManager):
  4. def create_user(self, email, password=None):
  5. if not email:
  6. raise ValueError('Users must have an email address')
  7.  
  8. user = self.model(email=self.normalize_email(email),)
  9. user.set_password(password)
  10. user.save(using=self._db)
  11. return user
  12.  
  13. def create_superuser(self, email, password):
  14. user = self.create_user(email, password=password,)
  15. user.is_admin = True
  16. user.is_superuser = True
  17. user.save(using=self._db)
  18. return user
  19.  
  20.  
  21. class EmailUser(AbstractBaseUser, PermissionsMixin):
  22. email = EmailField(
  23. verbose_name='email',
  24. max_length=255,
  25. unique=True,
  26. )
  27. is_active = models.BooleanField(default=True)
  28. is_admin = models.BooleanField(default=False)
  29. date_joined = models.DateTimeField(default=timezone.now)
  30.  
  31. objects = EmailUserManager()
  32.  
  33. USERNAME_FIELD = 'email'
  34.  
  35. def get_full_name(self):
  36. return self.email
  37.  
  38. def get_short_name(self):
  39. return self.email
  40.  
  41. def __str__(self):
  42. return self.email
  43.  
  44. @property
  45. def is_staff(self):
  46. return self.is_admin
  47.  
  48. from django.db import models
  49. from django.conf.settings import AUTH_USER_MODEL
  50.  
  51. class Profile(models.Model):
  52. class Meta:
  53. verbose_name = 'Profile'
  54. verbose_name_plural = 'Profiles'
  55.  
  56. user = models.OneToOneField(AUTH_USER_MODEL, verbose_name='User',
  57. related_name='profile')
  58. full_name = models.CharField('Full name', max_length=64, blank=False)
  59. phone = models.CharField('Phone', max_length=64, blank=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement