Обновления в user_roles: модели, сервисы, представления и миграции
This commit is contained in:
@@ -13,18 +13,23 @@ class Role(models.Model):
|
||||
|
||||
Не нужно явно связывать с тенантом через FK - изоляция происходит автоматически!
|
||||
"""
|
||||
PLATFORM_SUPPORT = 'platform_support'
|
||||
OWNER = 'owner'
|
||||
MANAGER = 'manager'
|
||||
FLORIST = 'florist'
|
||||
COURIER = 'courier'
|
||||
|
||||
ROLE_CHOICES = [
|
||||
(PLATFORM_SUPPORT, 'Техподдержка платформы'),
|
||||
(OWNER, 'Владелец'),
|
||||
(MANAGER, 'Менеджер'),
|
||||
(FLORIST, 'Флорист'),
|
||||
(COURIER, 'Курьер'),
|
||||
]
|
||||
|
||||
# Роли, скрытые от пользователей тенанта (не отображаются в списках)
|
||||
HIDDEN_ROLES = [PLATFORM_SUPPORT]
|
||||
|
||||
code = models.CharField(
|
||||
max_length=20,
|
||||
choices=ROLE_CHOICES,
|
||||
@@ -67,11 +72,11 @@ class UserRole(models.Model):
|
||||
Один пользователь = одна роль в рамках одного тенанта.
|
||||
"""
|
||||
user = models.OneToOneField(
|
||||
settings.AUTH_USER_MODEL,
|
||||
'accounts.CustomUser',
|
||||
on_delete=models.CASCADE,
|
||||
related_name='tenant_role',
|
||||
verbose_name="Пользователь",
|
||||
help_text="Пользователь из public schema (SHARED_APPS)"
|
||||
help_text="Пользователь тенанта (из tenant schema)"
|
||||
)
|
||||
role = models.ForeignKey(
|
||||
Role,
|
||||
@@ -81,7 +86,7 @@ class UserRole(models.Model):
|
||||
)
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
created_by = models.ForeignKey(
|
||||
settings.AUTH_USER_MODEL,
|
||||
'accounts.CustomUser',
|
||||
null=True,
|
||||
blank=True,
|
||||
on_delete=models.SET_NULL,
|
||||
|
||||
Reference in New Issue
Block a user