|
|
|
|
@ -42,7 +42,7 @@ class UserManager(ActualOnlyManager, BaseUserManager): |
|
|
|
|
def get_queryset(self): |
|
|
|
|
return CaseInsensitiveQuerySet(self.model) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#@TODO: translate into english and use translation |
|
|
|
|
class User(AbstractStatusModel, PermissionsMixin, AbstractBaseUser): |
|
|
|
|
username = models.CharField(_('username'),max_length=255, blank=False, null=False) |
|
|
|
|
email = models.EmailField( |
|
|
|
|
@ -84,14 +84,20 @@ class User(AbstractStatusModel, PermissionsMixin, AbstractBaseUser): |
|
|
|
|
def get_short_name(self): |
|
|
|
|
return self.email |
|
|
|
|
|
|
|
|
|
class Meta: |
|
|
|
|
verbose_name = _('пользователь') |
|
|
|
|
verbose_name_plural = _('пользователи') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#@TODO: translate into english and use translation |
|
|
|
|
class Group(GroupBase): |
|
|
|
|
class Meta: |
|
|
|
|
proxy = True |
|
|
|
|
verbose_name = GroupBase._meta.verbose_name |
|
|
|
|
verbose_name_plural = GroupBase._meta.verbose_name_plural |
|
|
|
|
verbose_name = _('группа') |
|
|
|
|
verbose_name_plural = _('группы') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#@TODO: translate into english and use translation |
|
|
|
|
class Profile(AbstractStatusModel): |
|
|
|
|
user = models.OneToOneField(get_user_model(), on_delete=models.CASCADE) |
|
|
|
|
first_name = models.CharField(_('first name'), max_length=100, blank=True, null=True) |
|
|
|
|
@ -112,8 +118,8 @@ class Profile(AbstractStatusModel): |
|
|
|
|
return self.first_name and self.last_name and self.patronymic and self.birthday |
|
|
|
|
|
|
|
|
|
class Meta: |
|
|
|
|
verbose_name = _('profile') |
|
|
|
|
verbose_name_plural = _('profiles') |
|
|
|
|
verbose_name = _('профиль') |
|
|
|
|
verbose_name_plural = _('профили') |
|
|
|
|
|
|
|
|
|
def __str__(self): |
|
|
|
|
return str(self.user) |
|
|
|
|
@ -126,7 +132,7 @@ COMPANY_STATUS_LIST = ( |
|
|
|
|
(COMPANY_STATUS_INDIVIDUAL, _("Individual")) |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#@TODO: translate into english and use translation |
|
|
|
|
class Company(AbstractStatusModel): |
|
|
|
|
user = models.OneToOneField(get_user_model(), on_delete=models.CASCADE) |
|
|
|
|
company_name = models.CharField(max_length=255, blank=True, null=True) |
|
|
|
|
@ -147,9 +153,21 @@ class Company(AbstractStatusModel): |
|
|
|
|
return self.company_name |
|
|
|
|
|
|
|
|
|
class Meta: |
|
|
|
|
verbose_name = _('company') |
|
|
|
|
verbose_name_plural = _('companies') |
|
|
|
|
verbose_name = _('компания') |
|
|
|
|
verbose_name_plural = _('компании') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class PickUpRequest(models.Model): |
|
|
|
|
user = models.ForeignKey(User, on_delete=models.CASCADE, null=True) |
|
|
|
|
points = models.DecimalField(max_digits=8, decimal_places=2, null=True, default=0.00) |
|
|
|
|
requisites = models.CharField(max_length=256, default='') |
|
|
|
|
|
|
|
|
|
def __str__(self): |
|
|
|
|
return str(self.user.id) |
|
|
|
|
|
|
|
|
|
class Meta: |
|
|
|
|
verbose_name = 'PickUpRequest' |
|
|
|
|
verbose_name_plural = 'PickUpRequests' |
|
|
|
|
|
|
|
|
|
@receiver(post_save, sender=get_user_model()) |
|
|
|
|
def create_user_profile(sender, instance, created, **kwargs): |
|
|
|
|
|