servicetype.py 3.2 KB

123456789101112131415161718192021222324
  1. from django.db import models
  2. from tickets.models import Task
  3. class ServiceType(models.Model):
  4. """
  5. Перечень типов услуг
  6. """
  7. codename = models.CharField(max_length=255, help_text="латинское наименование услуги в системе")
  8. caption = models.CharField(max_length=255, help_text="наименование услуги для отображения пользователю")
  9. description = models.TextField(blank=True, help_text="текстовое описание услуги")
  10. requirements = models.CharField(max_length=300, help_text="код требований на основе вспомогательных таблиц-справочников")
  11. price_type = models.CharField(max_length=150, help_text="ценообразование - код допустимых вариантов или код параметров, принимаемых во внимание и способ их учета (по сути хорошо закодировать формулу)")
  12. status = models.CharField(max_length=150, help_text="активность на основе системы заявок")
  13. ticket_status = models.ForeignKey(Task, on_delete=models.DO_NOTHING, null=True, help_text="id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю.")
  14. id_metaservice = models.BigIntegerField(help_text=" уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Один и тот же провайдер может быть для нескольких мета-сервисов, соответственно если происходят изменения в одном, то либо форсируется изменение во всех (если возможно), либо снимается is_global. Соответственно при изменении is_global в true должно происходить согласование с остальными копиями в других сервисах. Нужен в том числе для того, чтобы выяснять, в каких еще сервисах есть этот провайдер.")
  15. link_agreement = models.CharField(max_length=400, help_text="ссылка на договор в вики об оказании услуги данного типа (аренда, перевозка и тп)")
  16. is_global = models.BooleanField(default=False, help_text="доступно ли для планирования в цепочке с другими услугами в глобальном сервисе")
  17. is_visible = models.BooleanField(default=False, help_text="доступно ли для хранения в глобальном сервисе/нужна синхронизация данных")
  18. class Meta:
  19. db_table = "servicetype"
  20. verbose_name = "Тип услуги"
  21. verbose_name_plural = "Типы услуг"