data.py 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. from datetime import datetime, timedelta
  2. from dbsynce.lib.core import get_admin_url
  3. from dbsynce.models import ServiceCategory
  4. from tickets.models import Ticket, TicketList
  5. def create_ticket_service_category_activation(user, metaservice):
  6. """
  7. Создание тикета на активацию Категории Сервиса.
  8. Список: 2101, METASERVICE-SUPERVISOR: Активация категорий сервисов (ST_REQUEST)
  9. Тип: 1, ST_REQUEST
  10. """
  11. # FIXME: Возможно нужно автоматически создавать содержимое поля json
  12. #TODO вместе с созданием тикета должно отправляться уведомление в группу, но может быть это будет на уровне обработчиков
  13. return Ticket.objects.create(
  14. title=f"Создание новой категории сервиса '{metaservice.legal_name}' - '{service_category.caption}'",
  15. ticket_list=TicketList.objects.get(pk=2102),
  16. ticket_type=1,
  17. due_date=datetime.now().date() + timedelta(days=30),
  18. created_by=user,
  19. note=f"""
  20. Пользователь {user} #{user.pk} отправил заявку на добавление и активацию категории сервиса:\n
  21. - Название: {service_category.caption}\n
  22. - Договор: {service_category.link_agreement}\n
  23. - Комиссия Сервиса: {service_category.metaservice_comission}\n
  24. - Тарификация: {service_category.price_type}\n
  25. - Описание: {service_category.description}\n
  26. <a href="{get_admin_url(metaservice)}">Полная информация</a>\n
  27. \n
  28. Проверьте всю информацию и для активации категории сервиса измените статус заявки на ACCEPTED.
  29. Это будет означать, что Сервис сможет обрабатывать заказы данной категории.
  30. """
  31. )
  32. def create_service_category(service_category, metaservice):
  33. """
  34. Создание записи категории Сервиса.
  35. Создается запись в БД, Тикет на проверку и уведомление в джаббер
  36. """
  37. return ServiceCategory.objects.create(
  38. id_metaservice=service_category.metaservice,
  39. codename=service_category.codename,
  40. #TODO заменить дефолт после появления соответствующего функционала
  41. requirements="DSMPUB",
  42. status="0",
  43. caption=service_category.caption,
  44. description=service_category.description,
  45. link_agreement=service_category.link_agreement,
  46. price_type=service_category.price_type,
  47. metaservice_comission=service_category.metaservice_comission,
  48. #TODO заменить дефолт после появления соответствующего функционала
  49. is_global="0",
  50. is_visible="0",
  51. ticket_status=create_ticket_service_category_activation(self.request.user, instance)
  52. )