data.py 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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, service_category):
  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"Создание новой категории сервиса '{service_category.id_metaservice}' - '{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} отправил заявку на добавление и активацию категории сервиса:\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. \n
  27. Проверьте всю информацию и для активации категории сервиса измените статус заявки на ACCEPTED.
  28. Это будет означать, что Сервис сможет обрабатывать заказы данной категории.
  29. """
  30. )
  31. def create_service_category(service_category, user):
  32. """
  33. Создание записи категории Сервиса.
  34. Создается запись в БД, Тикет на проверку и уведомление в джаббер
  35. """
  36. return ServiceCategory.objects.create(
  37. codename=service_category.codename,
  38. #TODO заменить дефолт после появления соответствующего функционала
  39. requirements="DSMPUB",
  40. status="0",
  41. caption=service_category.caption,
  42. description=service_category.description,
  43. link_agreement=service_category.link_agreement,
  44. price_type=service_category.price_type,
  45. metaservice_comission=service_category.metaservice_comission,
  46. #TODO заменить дефолт после появления соответствующего функционала
  47. is_global="f",
  48. is_visible="f",
  49. ticket_status=create_ticket_service_category_activation(user, service_category)
  50. )