seed.py 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. from django.contrib.auth.models import Group
  2. from tickets.models import TicketList
  3. def init_default_data():
  4. create_metaservice_initial_groups()
  5. create_metaservice_ticket_lists()
  6. def create_metaservice_initial_groups():
  7. groups = [
  8. ('METASERVICE-ADMIN', 21),
  9. ('METASERVICE-SUPERVISOR', 22),
  10. ('METASERVICE-SUPPORT', 23),
  11. ('METASERVICE-TECHSUPPORT', 24),
  12. ('PARTNER-ADMIN', 31),
  13. ('PARTNER-SUPERVISOR', 32),
  14. ('PARTNER-SUPPORT', 33),
  15. ('PARTNER-TECHSUPPORT', 34),
  16. ('PROVIDER', 41),
  17. ('CLIENT', 51),
  18. ('GUEST', 61),
  19. ('TEST', 99)
  20. ]
  21. for name, pk in groups:
  22. group, created = Group.objects.get_or_create(name=name, defaults={'pk': pk})
  23. if not created:
  24. print(f"Group {name} already exists.")
  25. def create_metaservice_ticket_lists():
  26. ticket_data = [
  27. # METASERVICE
  28. (2101, 'Активация партнеров (NEG_REQUEST)', 'METASERVICE-ADMIN'),
  29. (2102, 'Права в сервисе (ACCESS_REQUEST)', 'METASERVICE-ADMIN'),
  30. (2103, 'Проверка документов (ST_REQUEST)', 'METASERVICE-ADMIN'),
  31. (2201, 'Активность пользователей (ST_REQUEST)', 'METASERVICE-SUPERVISOR'),
  32. (2202, 'Оперативный доступ (ST_REQUEST)', 'METASERVICE-SUPERVISOR'),
  33. (2203, 'Оперативный доступ экстра (ACCESS_REQUEST)', 'METASERVICE-SUPERVISOR'),
  34. (2204, 'Права сервиса (ST_REQUEST)', 'METASERVICE-SUPERVISOR'),
  35. (2205, 'Проверка документов (ST_REQUEST)', 'METASERVICE-SUPERVISOR'),
  36. (2301, 'Входящие обычные заявки (ST_REQUEST)', 'METASERVICE-SUPPORT'),
  37. (2302, 'Заявки на услуги сервиса (SERVICE_REQUEST)', 'METASERVICE-SUPPORT'),
  38. (2401, 'Входящие технические заявки (ST_REQUEST)', 'METASERVICE-TECHSUPPORT'),
  39. # PARTNER
  40. (3101, 'Документы исполнителей (ST_REQUEST)', 'PARTNER-ADMIN'),
  41. (3102, 'Документы ресурсов (ST_REQUEST)', 'PARTNER-ADMIN'),
  42. (3103, 'Права в партнерке (ACCESS_REQUEST)', 'PARTNER-ADMIN'),
  43. (3201, 'Активность внутри партнера (ST_REQUEST)', 'PARTNER-SUPERVISOR'),
  44. (3202, 'Документы исполнителей (ST_REQUEST)', 'PARTNER-SUPERVISOR'),
  45. (3203, 'Документы ресурсов (ST_REQUEST)', 'PARTNER-SUPERVISOR'),
  46. (3204, 'Доступ внутри партнера (ST_REQUEST)', 'PARTNER-SUPERVISOR'),
  47. (3205, 'Оперативный доступ (ST_REQUEST)', 'PARTNER-SUPERVISOR'),
  48. (3206, 'Оперативный доступ экстра (ST_REQUEST)', 'PARTNER-SUPERVISOR'),
  49. (3207, 'Ручное подтверждение заявок (ACCESS-REQUEST)', 'PARTNER-SUPERVISOR'),
  50. (3401, 'Входящие технические заявки (ST_REQUEST)', 'PARTNER-TECHSUPPORT'),
  51. ]
  52. for pk, name, group_name in ticket_data:
  53. group = Group.objects.get(name=group_name)
  54. # Проверяем существование тикета с таким же name и group
  55. ticket_exists = TicketList.objects.filter(group=group, name=name).exists()
  56. if not ticket_exists:
  57. TicketList.objects.create(pk=pk, name=name, group=group)