|
@@ -0,0 +1,59 @@
|
|
|
+from datetime import datetime, timedelta
|
|
|
+from dbsynce.lib.core import get_admin_url
|
|
|
+from dbsynce.models import ServiceCategory
|
|
|
+from tickets.models import Ticket, TicketList
|
|
|
+
|
|
|
+def create_ticket_service_category_activation(user, metaservice):
|
|
|
+ """
|
|
|
+ Создание тикета на активацию Категории Сервиса.
|
|
|
+
|
|
|
+ Список: 2101, METASERVICE-SUPERVISOR: Активация категорий сервисов (ST_REQUEST)
|
|
|
+ Тип: 1, ST_REQUEST
|
|
|
+ """
|
|
|
+ # FIXME: Возможно нужно автоматически создавать содержимое поля json
|
|
|
+
|
|
|
+ #TODO вместе с созданием тикета должно отправляться уведомление в группу, но может быть это будет на уровне обработчиков
|
|
|
+
|
|
|
+ return Ticket.objects.create(
|
|
|
+ title=f"Создание новой категории сервиса '{metaservice.legal_name}' - '{service_category.caption}'",
|
|
|
+ ticket_list=TicketList.objects.get(pk=2102),
|
|
|
+ ticket_type=1,
|
|
|
+ due_date=datetime.now().date() + timedelta(days=30),
|
|
|
+ created_by=user,
|
|
|
+
|
|
|
+ note=f"""
|
|
|
+ Пользователь {user} #{user.pk} отправил заявку на добавление и активацию категории сервиса:\n
|
|
|
+ - Название: {service_category.caption}\n
|
|
|
+ - Договор: {service_category.link_agreement}\n
|
|
|
+ - Комиссия Сервиса: {service_category.metaservice_comission}\n
|
|
|
+ - Тарификация: {service_category.price_type}\n
|
|
|
+ - Описание: {service_category.description}\n
|
|
|
+ <a href="{get_admin_url(metaservice)}">Полная информация</a>\n
|
|
|
+ \n
|
|
|
+ Проверьте всю информацию и для активации категории сервиса измените статус заявки на ACCEPTED.
|
|
|
+ Это будет означать, что Сервис сможет обрабатывать заказы данной категории.
|
|
|
+ """
|
|
|
+ )
|
|
|
+
|
|
|
+def create_service_category(service_category, metaservice):
|
|
|
+ """
|
|
|
+ Создание записи категории Сервиса.
|
|
|
+ Создается запись в БД, Тикет на проверку и уведомление в джаббер
|
|
|
+
|
|
|
+ """
|
|
|
+ return ServiceCategory.objects.create(
|
|
|
+ id_metaservice=service_category.metaservice,
|
|
|
+ codename=service_category.codename,
|
|
|
+ #TODO заменить дефолт после появления соответствующего функционала
|
|
|
+ requirements="DSMPUB",
|
|
|
+ status="0",
|
|
|
+ caption=service_category.caption,
|
|
|
+ description=service_category.description,
|
|
|
+ link_agreement=service_category.link_agreement,
|
|
|
+ price_type=service_category.price_type,
|
|
|
+ metaservice_comission=service_category.metaservice_comission,
|
|
|
+ #TODO заменить дефолт после появления соответствующего функционала
|
|
|
+ is_global="0",
|
|
|
+ is_visible="0",
|
|
|
+ ticket_status=create_ticket_service_category_activation(self.request.user, instance)
|
|
|
+ )
|