ticket_gen.py 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. from datetime import datetime, timedelta
  2. from dbsynce.lib.core import get_admin_url
  3. from dbsynce.models import DocumentFile
  4. from tickets.models import Ticket, TicketList
  5. def create_ticket_partner_activation(user, сompany):
  6. """
  7. Создание тикета на активацию партнера.
  8. Список: 2101, METASERVICE-ADMIN: Активация партнеров (NEG_REQUEST)
  9. Тип: 4, NEG_REQUEST
  10. """
  11. # FIXME: Возможно нужно автоматически создавать содержимое поля json
  12. return Ticket.objects.create(
  13. title=f"Создание нового Партнера '{сompany.legal_name}'",
  14. ticket_list=TicketList.objects.get(pk=2101),
  15. ticket_type=4,
  16. due_date=datetime.now().date() + timedelta(days=30),
  17. created_by=user,
  18. note=f"""
  19. Пользователь {user} #{user.pk} отправил заявку на становление партнером сервиса:\n
  20. - Имя: {сompany.legal_name}\n
  21. - ИНН: {сompany.inn}\n
  22. - Юридический адрес: {сompany.address}\n
  23. <a href="{get_admin_url(сompany)}">Полная информация</a>\n
  24. \n
  25. Проверьте всю информацию и для активации партнера измените статус заявки на ACCEPTED.
  26. Это будет означать, что договорные отношения между сервисом и партнером, вступают в силу.
  27. """
  28. )
  29. def create_ticket_partner_docs_verification(user, company, doc):
  30. """
  31. Создание тикета на проверку документов партнера.
  32. Список: 2103, METASERVICE-ADMIN: Проверка документов (ST_REQUEST)
  33. Тип: 1, ST_REQUEST
  34. """
  35. doc_name = doc.get_doc_type_display()
  36. doc_files = DocumentFile.objects.filter(document=doc)
  37. note = f"Пользователь {user} #{user.pk} добавил новые файлы документа <a href='{get_admin_url(doc)}'>{doc_name}</a> партнера <a href='{get_admin_url(company)}'>{company.legal_name}</a> требующие проверки:<ul>"
  38. for file in doc_files:
  39. note += f"<li><a href='{file.file.url}' target='_blank'>{file}</a></li>"
  40. note += "</ul>"
  41. return Ticket.objects.create(
  42. title=f"Проверка документа '{doc_name}' партнера '{company.legal_name}'",
  43. ticket_list=TicketList.objects.get(pk=2103),
  44. ticket_type=1,
  45. due_date=datetime.now().date() + timedelta(days=30),
  46. created_by=user,
  47. note=note
  48. )