|
@@ -1,5 +1,8 @@
|
|
|
from django.contrib.auth.models import Group
|
|
|
-from tickets.models import TicketList
|
|
|
+from django.contrib.auth import get_user_model
|
|
|
+from django.contrib.auth.hashers import make_password
|
|
|
+from tickets.models import Ticket, TicketList
|
|
|
+from datetime import datetime
|
|
|
|
|
|
def init_default_data():
|
|
|
create_metaservice_initial_groups()
|
|
@@ -63,3 +66,80 @@ def create_metaservice_ticket_lists():
|
|
|
|
|
|
if not ticket_exists:
|
|
|
TicketList.objects.create(pk=pk, name=name, group=group)
|
|
|
+
|
|
|
+
|
|
|
+def create_test_users():
|
|
|
+ """
|
|
|
+ Создает тестовых пользователей
|
|
|
+ """
|
|
|
+
|
|
|
+ User = get_user_model()
|
|
|
+
|
|
|
+ # Создание админа
|
|
|
+ if not get_user_model().objects.filter(phone_number="11111111111").exists():
|
|
|
+ admin = get_user_model().objects.create_superuser(
|
|
|
+ 'admin',
|
|
|
+ 'admin@admin.com',
|
|
|
+ 'Sharix!',
|
|
|
+ phone_number="11111111111"
|
|
|
+ )
|
|
|
+
|
|
|
+ password = make_password("sharix-open-test")
|
|
|
+ test_group = Group.objects.get(pk=99)
|
|
|
+
|
|
|
+ # Группа, в которой надо создать пользователя и их количество
|
|
|
+ test_users = [
|
|
|
+ ('METASERVICE-ADMIN', 1),
|
|
|
+ ('METASERVICE-SUPERVISOR', 3),
|
|
|
+ ('METASERVICE-SUPPORT', 3),
|
|
|
+ ('METASERVICE-TECHSUPPORT', 3),
|
|
|
+
|
|
|
+ ('PARTNER-ADMIN', 1),
|
|
|
+ ('PARTNER-SUPERVISOR', 3),
|
|
|
+ ('PARTNER-SUPPORT', 3),
|
|
|
+ ('PARTNER-TECHSUPPORT', 3),
|
|
|
+
|
|
|
+ ('PROVIDER', 3),
|
|
|
+ ('CLIENT', 3),
|
|
|
+ ('GUEST', 3)
|
|
|
+ ]
|
|
|
+
|
|
|
+ for test_user in test_users:
|
|
|
+ group_name = test_user[0]
|
|
|
+ group = Group.objects.get(name=group_name)
|
|
|
+
|
|
|
+ for i in range(1, test_user[1] + 1):
|
|
|
+ user, created = User.objects.get_or_create(
|
|
|
+ phone_number=f"{group.pk}0{i}",
|
|
|
+ defaults={
|
|
|
+ 'last_name': i,
|
|
|
+ 'first_name': group_name,
|
|
|
+ 'email': f"test-{group_name.lower()}-{i}@domain.org",
|
|
|
+ 'username': f"test-{group_name.lower()}-{i}",
|
|
|
+ 'middle_name': "Test",
|
|
|
+ 'password': password
|
|
|
+ }
|
|
|
+ )
|
|
|
+
|
|
|
+ if created:
|
|
|
+ user.groups.add(
|
|
|
+ test_group,
|
|
|
+ group
|
|
|
+ )
|
|
|
+
|
|
|
+ # Создание тикета о создании пользователей
|
|
|
+ if not Ticket.objects.all().exists():
|
|
|
+ # test-metaservice-admin-1
|
|
|
+ user = get_user_model().objects.filter(phone_number=2101).get()
|
|
|
+ ticket_list = TicketList.objects.get(pk=2103)
|
|
|
+
|
|
|
+ Ticket.objects.create(
|
|
|
+ title=f"Создание тестовых пользователей",
|
|
|
+ ticket_list=ticket_list,
|
|
|
+ ticket_type=1, # ST_REQUEST
|
|
|
+ due_date=datetime.now().date(),
|
|
|
+ created_by=user,
|
|
|
+ note=f"""
|
|
|
+ Успешное создание тестовых пользователей
|
|
|
+ """
|
|
|
+ )
|