from django.db import models from tickets.models import Task class ServiceType(models.Model): """ Перечень типов услуг """ codename = models.CharField(max_length=255, help_text="латинское наименование услуги в системе") caption = models.CharField(max_length=255, help_text="наименование услуги для отображения пользователю") description = models.TextField(blank=True, help_text="текстовое описание услуги") requirements = models.CharField(max_length=300, help_text="код требований на основе вспомогательных таблиц-справочников") price_type = models.CharField(max_length=150, help_text="ценообразование - код допустимых вариантов или код параметров, принимаемых во внимание и способ их учета (по сути хорошо закодировать формулу)") status = models.CharField(max_length=150, help_text="активность на основе системы заявок") ticket_status = models.ForeignKey(Task, on_delete=models.DO_NOTHING, null=True, help_text="id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю.") id_metaservice = models.BigIntegerField(help_text=" уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Один и тот же провайдер может быть для нескольких мета-сервисов, соответственно если происходят изменения в одном, то либо форсируется изменение во всех (если возможно), либо снимается is_global. Соответственно при изменении is_global в true должно происходить согласование с остальными копиями в других сервисах. Нужен в том числе для того, чтобы выяснять, в каких еще сервисах есть этот провайдер.") link_agreement = models.CharField(max_length=400, help_text="ссылка на договор в вики об оказании услуги данного типа (аренда, перевозка и тп)") is_global = models.BooleanField(default=False, help_text="доступно ли для планирования в цепочке с другими услугами в глобальном сервисе") is_visible = models.BooleanField(default=False, help_text="доступно ли для хранения в глобальном сервисе/нужна синхронизация данных") service_comission = models.CharField(max_length=100, help_text="плата взимаемая комиссионным агентом или поставщиком услуг за предоставление определенных услуг") class Meta: db_table = "servicetype" verbose_name = "Тип услуги" verbose_name_plural = "Типы услуг"