|
|
|
@ -3,6 +3,7 @@ from django.db import models |
|
|
|
from django.utils import timezone |
|
|
|
from django.utils import timezone |
|
|
|
from django.contrib.auth.models import AbstractBaseUser, BaseUserManager, AbstractUser, Group, PermissionsMixin |
|
|
|
from django.contrib.auth.models import AbstractBaseUser, BaseUserManager, AbstractUser, Group, PermissionsMixin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class UserManager(BaseUserManager): |
|
|
|
class UserManager(BaseUserManager): |
|
|
|
def create_user(self, email, password=None): |
|
|
|
def create_user(self, email, password=None): |
|
|
|
if not email: |
|
|
|
if not email: |
|
|
|
@ -54,7 +55,7 @@ class User(AbstractBaseUser, PermissionsMixin): |
|
|
|
REQUIRED_FIELDS = [] |
|
|
|
REQUIRED_FIELDS = [] |
|
|
|
objects = UserManager() |
|
|
|
objects = UserManager() |
|
|
|
contractor_objects = ContractorUserManager() |
|
|
|
contractor_objects = ContractorUserManager() |
|
|
|
customers_objects = CustomerUserManager() |
|
|
|
customer_objects = CustomerUserManager() |
|
|
|
|
|
|
|
|
|
|
|
class Meta: |
|
|
|
class Meta: |
|
|
|
verbose_name = 'Пользователь' |
|
|
|
verbose_name = 'Пользователь' |
|
|
|
@ -64,7 +65,7 @@ class User(AbstractBaseUser, PermissionsMixin): |
|
|
|
class Team(models.Model): |
|
|
|
class Team(models.Model): |
|
|
|
name = models.CharField(max_length=255) |
|
|
|
name = models.CharField(max_length=255) |
|
|
|
users = models.ManyToManyField(User, related_name ='teams', blank=True) |
|
|
|
users = models.ManyToManyField(User, related_name ='teams', blank=True) |
|
|
|
owner = models.OneToOneField(User, related_name='team', null=True) |
|
|
|
owner = models.OneToOneField(User, related_name='team', blank=True, null=True) |
|
|
|
# groups = models.ManyToManyField(Group, related_name='teams', blank=True) |
|
|
|
# groups = models.ManyToManyField(Group, related_name='teams', blank=True) |
|
|
|
|
|
|
|
|
|
|
|
def __str__(self): |
|
|
|
def __str__(self): |
|
|
|
|