Обновления в user_roles: модели, сервисы, представления и миграции
This commit is contained in:
@@ -18,6 +18,12 @@ class RoleService:
|
||||
поэтому роли создаются в schema конкретного тенанта автоматически!
|
||||
"""
|
||||
default_roles = [
|
||||
{
|
||||
'code': Role.PLATFORM_SUPPORT,
|
||||
'name': 'Техподдержка платформы',
|
||||
'description': 'Служебный аккаунт техподдержки платформы. Полный доступ для помощи владельцу.',
|
||||
'is_system': True,
|
||||
},
|
||||
{
|
||||
'code': Role.OWNER,
|
||||
'name': 'Владелец',
|
||||
@@ -50,6 +56,26 @@ class RoleService:
|
||||
defaults=role_data
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def get_visible_roles():
|
||||
"""
|
||||
Возвращает роли, видимые для пользователей тенанта.
|
||||
Исключает служебные роли (platform_support).
|
||||
"""
|
||||
return Role.objects.exclude(code__in=Role.HIDDEN_ROLES)
|
||||
|
||||
@staticmethod
|
||||
def get_visible_users():
|
||||
"""
|
||||
Возвращает пользователей, видимых для владельца тенанта.
|
||||
Исключает пользователей с ролью platform_support.
|
||||
"""
|
||||
from accounts.models import CustomUser
|
||||
hidden_user_ids = UserRole.objects.filter(
|
||||
role__code__in=Role.HIDDEN_ROLES
|
||||
).values_list('user_id', flat=True)
|
||||
return CustomUser.objects.exclude(id__in=hidden_user_ids)
|
||||
|
||||
@staticmethod
|
||||
def get_role_by_code(code):
|
||||
"""Получить роль по коду"""
|
||||
|
||||
Reference in New Issue
Block a user