Эх сурвалжийг харах

Merge branch 'unstable' of blezz-tech/sharix-open-backend into unstable

+ 61 - 0
lib/seed.py

@@ -0,0 +1,61 @@
+from django.contrib.auth.models import Group
+from tickets.models import TicketList
+
+
+def create_initial_groups():
+    groups = [
+        ('METASERVICE-ADMIN', 21),
+        ('METASERVICE-SUPERVISOR', 22),
+        ('METASERVICE-SUPPORT', 23),
+        ('METASERVICE-TECHSUPPORT', 24),
+        ('PARTNER-ADMIN', 31),
+        ('PARTNER-SUPERVISOR', 32),
+        ('PARTNER-SUPPORT', 33),
+        ('PARTNER-TECHSUPPORT', 34),
+        ('PROVIDER', 41),
+        ('CLIENT', 51),
+        ('GUEST', 61),
+        ('TEST', 99)
+    ]
+
+    for name, pk in groups:
+        group, created = Group.objects.get_or_create(name=name, defaults={'pk': pk})
+        if not created:
+            print(f"Group {name} already exists.")
+
+
+def create_initial_ticket_lists():
+    ticket_data = [
+        # METASERVICE
+        (2101, 'Активация партнеров (NEG_REQUEST)', 'METASERVICE-ADMIN'),
+        (2102, 'Права в сервисе (ACCESS_REQUEST)', 'METASERVICE-ADMIN'),
+        (2103, 'Проверка документов (ST_REQUEST)', 'METASERVICE-ADMIN'),
+        (2201, 'Активность пользователей (ST_REQUEST)', 'METASERVICE-SUPERVISOR'),
+        (2202, 'Оперативный доступ (ST_REQUEST)', 'METASERVICE-SUPERVISOR'),
+        (2203, 'Оперативный доступ экстра (ACCESS_REQUEST)', 'METASERVICE-SUPERVISOR'),
+        (2204, 'Права сервиса (ST_REQUEST)', 'METASERVICE-SUPERVISOR'),
+        (2205, 'Проверка документов (ST_REQUEST)', 'METASERVICE-SUPERVISOR'),
+        (2301, 'Входящие обычные заявки (ST_REQUEST)', 'METASERVICE-SUPPORT'),
+        (2302, 'Заявки на услуги сервиса (SERVICE_REQUEST)', 'METASERVICE-SUPPORT'),
+        (2401, 'Входящие технические заявки (ST_REQUEST)', 'METASERVICE-TECHSUPPORT'),
+        # PARTNER
+        (3101, 'Документы исполнителей (ST_REQUEST)', 'PARTNER-ADMIN'),
+        (3102, 'Документы ресурсов (ST_REQUEST)', 'PARTNER-ADMIN'),
+        (3103, 'Права в партнерке (ACCESS_REQUEST)', 'PARTNER-ADMIN'),
+        (3201, 'Активность внутри партнера (ST_REQUEST)', 'PARTNER-SUPERVISOR'),
+        (3202, 'Документы исполнителей (ST_REQUEST)', 'PARTNER-SUPERVISOR'),
+        (3203, 'Документы ресурсов (ST_REQUEST)', 'PARTNER-SUPERVISOR'),
+        (3204, 'Доступ внутри партнера (ST_REQUEST)', 'PARTNER-SUPERVISOR'),
+        (3205, 'Оперативный доступ (ST_REQUEST)', 'PARTNER-SUPERVISOR'),
+        (3206, 'Оперативный доступ экстра (ST_REQUEST)', 'PARTNER-SUPERVISOR'),
+        (3207, 'Ручное подтверждение заявок (ACCESS-REQUEST)', 'PARTNER-SUPERVISOR'),
+        (3401, 'Входящие технические заявки (ST_REQUEST)', 'PARTNER-TECHSUPPORT'),
+    ]
+
+    for pk, name, group_name in ticket_data:
+        group = Group.objects.get(name=group_name)
+        # Проверяем существование тикета с таким же name и group
+        ticket_exists = TicketList.objects.filter(group=group, name=name).exists()
+
+        if not ticket_exists:
+            TicketList.objects.create(pk=pk, name=name, group=group)

+ 0 - 0
management/__init__.py


+ 0 - 0
management/commands/__init__.py


+ 15 - 0
management/commands/init_default_data.py

@@ -0,0 +1,15 @@
+from django.core.management.base import BaseCommand
+
+from dbsynce.lib.seed import *
+
+class Command(BaseCommand):
+    help = "Create initial data."
+
+    def handle(self, *args, **options):
+        self.stdout.write(self.style.SUCCESS('Start seeding'))
+
+        create_initial_groups()
+        create_initial_ticket_lists()
+
+        self.stdout.write(self.style.SUCCESS('Successful seeding'))
+        # raise NotImplementedError()