|
@@ -0,0 +1,540 @@
|
|
|
|
+# Generated by Django 4.1.3 on 2023-05-08 14:00
|
|
|
|
+
|
|
|
|
+from django.conf import settings
|
|
|
|
+from django.db import migrations, models
|
|
|
|
+import django.db.models.deletion
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class Migration(migrations.Migration):
|
|
|
|
+
|
|
|
|
+ dependencies = [
|
|
|
|
+ migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
|
|
+ ("tickets", "0001_initial"),
|
|
|
|
+ ("metaservicesynced", "0001_initial"),
|
|
|
|
+ ]
|
|
|
|
+
|
|
|
|
+ operations = [
|
|
|
|
+ migrations.AlterModelOptions(
|
|
|
|
+ name="client",
|
|
|
|
+ options={"verbose_name": "Клиента", "verbose_name_plural": "Клиенты"},
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterModelOptions(
|
|
|
|
+ name="company",
|
|
|
|
+ options={"verbose_name": "Компания", "verbose_name_plural": "Компании"},
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterModelOptions(
|
|
|
|
+ name="documents",
|
|
|
|
+ options={"verbose_name": "Документ", "verbose_name_plural": "Документы"},
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterModelOptions(
|
|
|
|
+ name="orders",
|
|
|
|
+ options={"verbose_name": "Заказ", "verbose_name_plural": "Заказы"},
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterModelOptions(
|
|
|
|
+ name="permissions",
|
|
|
|
+ options={"verbose_name": "Разрешение", "verbose_name_plural": "Разрешения"},
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterModelOptions(
|
|
|
|
+ name="provider",
|
|
|
|
+ options={"verbose_name": "Поставщик", "verbose_name_plural": "Поставщики"},
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterModelOptions(
|
|
|
|
+ name="relationship",
|
|
|
|
+ options={
|
|
|
|
+ "verbose_name": "Связь (Договорное отношение)",
|
|
|
|
+ "verbose_name_plural": "Связи (Договорные отношения)",
|
|
|
|
+ },
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterModelOptions(
|
|
|
|
+ name="resource",
|
|
|
|
+ options={"verbose_name": "Ресурс", "verbose_name_plural": "Ресурсы"},
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterModelOptions(
|
|
|
|
+ name="service",
|
|
|
|
+ options={"verbose_name": "Услуга", "verbose_name_plural": "Услуги"},
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterModelOptions(
|
|
|
|
+ name="servicetype",
|
|
|
|
+ options={"verbose_name": "Тип услуги", "verbose_name_plural": "Типы услуг"},
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="client",
|
|
|
|
+ name="is_global",
|
|
|
|
+ field=models.BooleanField(
|
|
|
|
+ default=False,
|
|
|
|
+ help_text="доступно ли для хранения в глобальном сервисе/необходима синхронизация",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="client",
|
|
|
|
+ name="is_visible",
|
|
|
|
+ field=models.BooleanField(
|
|
|
|
+ default=False,
|
|
|
|
+ help_text="доступно ли для планирования в цепочке с другими услугами в глобальном сервисе",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="client",
|
|
|
|
+ name="requirements",
|
|
|
|
+ field=models.CharField(
|
|
|
|
+ help_text="требования для того, чтобы можно было получать услуги как клиент",
|
|
|
|
+ max_length=150,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="client",
|
|
|
|
+ name="user",
|
|
|
|
+ field=models.ForeignKey(
|
|
|
|
+ help_text="пользователь, которому соответствует роль клиента",
|
|
|
|
+ on_delete=django.db.models.deletion.DO_NOTHING,
|
|
|
|
+ to=settings.AUTH_USER_MODEL,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="company",
|
|
|
|
+ name="id_metaservice",
|
|
|
|
+ field=models.BigIntegerField(
|
|
|
|
+ help_text="уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Один и тот же провайдер может быть для нескольких мета-сервисов, соответственно если происходят изменения в одном, то либо форсируется изменение во всех (если возможно), либо снимается is_global. Соответственно при изменении is_global в true должно происходить согласование с остальными копиями в других сервисах. Нужен в том числе для того, чтобы выяснять, в каких еще сервисах есть этот провайдер.",
|
|
|
|
+ null=True,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="company",
|
|
|
|
+ name="is_global",
|
|
|
|
+ field=models.BooleanField(
|
|
|
|
+ default=False,
|
|
|
|
+ help_text="доступно ли для хранения в глобальном сервисе/нужна синхронизация данных",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="company",
|
|
|
|
+ name="is_visible",
|
|
|
|
+ field=models.BooleanField(
|
|
|
|
+ default=False,
|
|
|
|
+ help_text="доступно ли для планирования в цепочке с другими услугами в глобальном сервисе",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="company",
|
|
|
|
+ name="requirements",
|
|
|
|
+ field=models.CharField(
|
|
|
|
+ help_text="код необходимого (самый строгий) для того, чтобы ресурс мог стать активным. Оно вставляется автоматом, в соответствии с профилем метасервиса. Далее, если кому-то из партнеров или пользователей надо строже - применяется более строгий вариант на данную связь.",
|
|
|
|
+ max_length=150,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="company",
|
|
|
|
+ name="ticket_status",
|
|
|
|
+ field=models.ForeignKey(
|
|
|
|
+ help_text="id заявки, по которой происходит проверка статуса relationship. State меняется только в результате изменений в заявке.",
|
|
|
|
+ on_delete=django.db.models.deletion.DO_NOTHING,
|
|
|
|
+ to="tickets.task",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="documents",
|
|
|
|
+ name="is_global",
|
|
|
|
+ field=models.BooleanField(
|
|
|
|
+ default=False,
|
|
|
|
+ help_text="доступны ли документы для хранения в глобальном сервисе/нужна синхронизация",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="documents",
|
|
|
|
+ name="is_visible",
|
|
|
|
+ field=models.BooleanField(
|
|
|
|
+ default=False,
|
|
|
|
+ help_text="доступна ли информация о наличии документов для планирования в цепочке с другими услугами в глобальном сервисе",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="orders",
|
|
|
|
+ name="client_id",
|
|
|
|
+ field=models.ForeignKey(
|
|
|
|
+ help_text="клиент/аккаунт, который оплачивает все оказанные услуги",
|
|
|
|
+ on_delete=django.db.models.deletion.DO_NOTHING,
|
|
|
|
+ to="metaservicesynced.client",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="orders",
|
|
|
|
+ name="is_global",
|
|
|
|
+ field=models.BooleanField(
|
|
|
|
+ default=False,
|
|
|
|
+ help_text="доступна ли информация по заказу для хранения в глобальном сервисе/нужна синхронизация данных. Если is_global = false, то и is_visible для заказа и вглубь по цепочке для всех исполнителей и ресурсов - тоже false.",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="orders",
|
|
|
|
+ name="is_visible",
|
|
|
|
+ field=models.BooleanField(
|
|
|
|
+ default=False,
|
|
|
|
+ help_text="доступна ли информация по заказу (время, место) для планирования иных цепочек. Если нет, то все действующие исполнители и ресурсы считаются занятыми на неопределенное время, пока не завершится заказ. Если да - то ресурсы могут использоваться для построения цепочек после планируемого времени завершения, с учетом места.",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="orders",
|
|
|
|
+ name="predicted_price",
|
|
|
|
+ field=models.FloatField(
|
|
|
|
+ help_text="расчетная цена с учетом тарифа поставщика услуг"
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="orders",
|
|
|
|
+ name="provider",
|
|
|
|
+ field=models.ForeignKey(
|
|
|
|
+ help_text="уникальный идентификатор поставщика услуги/аккаунта, который оказывает услугу. Если несколько провайдеров собираются мета-сервисом в цепочку, где на уровне связи с клиентом нельзя установить одно ответственное лицо, то указывается вспомогательный мета-провайдер сервиса, и это означает, что мета-сервис несет ответственность перед пользователем за сборку услуги воедино.",
|
|
|
|
+ on_delete=django.db.models.deletion.DO_NOTHING,
|
|
|
|
+ to="metaservicesynced.provider",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="orders",
|
|
|
|
+ name="real_price",
|
|
|
|
+ field=models.FloatField(
|
|
|
|
+ help_text="цена с учетом тарифа поставщика услуг по факту оказания услуги"
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="orders",
|
|
|
|
+ name="receiver",
|
|
|
|
+ field=models.ForeignKey(
|
|
|
|
+ help_text="пользователь/аккаунт, который принимает оказываемые услуги",
|
|
|
|
+ on_delete=django.db.models.deletion.DO_NOTHING,
|
|
|
|
+ related_name="user_id",
|
|
|
|
+ to=settings.AUTH_USER_MODEL,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="orders",
|
|
|
|
+ name="service",
|
|
|
|
+ field=models.ForeignKey(
|
|
|
|
+ help_text="спецификатор услуги провайдера, нужен для установления цены (id_service - уникальный идентификатор шаблона услуги, необходим для установления цены и исполнителей.",
|
|
|
|
+ on_delete=django.db.models.deletion.DO_NOTHING,
|
|
|
|
+ to="metaservicesynced.service",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="orders",
|
|
|
|
+ name="service_type",
|
|
|
|
+ field=models.ForeignKey(
|
|
|
|
+ help_text="тип заказа по классификатору услу",
|
|
|
|
+ on_delete=django.db.models.deletion.DO_NOTHING,
|
|
|
|
+ to="metaservicesynced.servicetype",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="orders",
|
|
|
|
+ name="state",
|
|
|
|
+ field=models.CharField(
|
|
|
|
+ help_text="текущий статус заказа из возможных на платформе",
|
|
|
|
+ max_length=150,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="orders",
|
|
|
|
+ name="time_created",
|
|
|
|
+ field=models.DateTimeField(
|
|
|
|
+ auto_now_add=True, help_text="время создания заказа"
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="orders",
|
|
|
|
+ name="time_finish_predicted",
|
|
|
|
+ field=models.DateTimeField(
|
|
|
|
+ help_text="предварительное/расчетное время до окончания оказания услуги"
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="orders",
|
|
|
|
+ name="time_finish_real",
|
|
|
|
+ field=models.DateTimeField(
|
|
|
|
+ help_text="фактическое время окончания (точное установленное время)",
|
|
|
|
+ null=True,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="orders",
|
|
|
|
+ name="time_placed",
|
|
|
|
+ field=models.DateTimeField(help_text="время размещения заказа"),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="orders",
|
|
|
|
+ name="time_start",
|
|
|
|
+ field=models.DateTimeField(help_text="время начала оказания услуги"),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="permissions",
|
|
|
|
+ name="check_level",
|
|
|
|
+ field=models.CharField(
|
|
|
|
+ help_text="(check-level из классификатора платформы) - информация об уровне проверки. Проверка может быть проведена как платформой, так и мета-сервисом, так и партнером мета-сервиса, а может быть и никем (просто загружен). Указывается, так как достоверность проверки разная. Экзамен, проверенный только на низком уровне, не принимается во внимание как имеющийся до прохождения более высокоуровневой проверки.",
|
|
|
|
+ max_length=10,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="permissions",
|
|
|
|
+ name="checked_by",
|
|
|
|
+ field=models.ForeignKey(
|
|
|
|
+ help_text="userid проверившего",
|
|
|
|
+ null=True,
|
|
|
|
+ on_delete=django.db.models.deletion.DO_NOTHING,
|
|
|
|
+ related_name="checked_by_perm",
|
|
|
|
+ to=settings.AUTH_USER_MODEL,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="permissions",
|
|
|
|
+ name="is_global",
|
|
|
|
+ field=models.BooleanField(
|
|
|
|
+ default=False,
|
|
|
|
+ help_text="доступна ли информация для хранения в глобальном сервисе/нужна синхронизация",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="permissions",
|
|
|
|
+ name="is_visible",
|
|
|
|
+ field=models.BooleanField(
|
|
|
|
+ default=False,
|
|
|
|
+ help_text="доступна ли информация о наличии разрешения для планирования в цепочке с другими услугами в глобальном сервисе",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="provider",
|
|
|
|
+ name="is_global",
|
|
|
|
+ field=models.BooleanField(
|
|
|
|
+ default=False,
|
|
|
|
+ help_text="(аккаунт поставщика услуг) – доступен для планирования в цепочке с другими услугами в глобальном сервисе",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="provider",
|
|
|
|
+ name="is_visible",
|
|
|
|
+ field=models.BooleanField(
|
|
|
|
+ default=False,
|
|
|
|
+ help_text="(аккаунт поставщика услуг) – доступен для хранения в глобальном сервисе/необходима синхронизация",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="relationship",
|
|
|
|
+ name="id_metaservice",
|
|
|
|
+ field=models.BigIntegerField(
|
|
|
|
+ help_text="уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Один и тот же провайдер может быть для нескольких мета-сервисов, соответственно если происходят изменения в одном, то либо форсируется изменение во всех (если возможно), либо снимается is_global. Соответственно при изменении is_global в true должно происходить согласование с остальными копиями в других сервисах. Нужен в том числе для того, чтобы выяснять, в каких еще сервисах есть этот провайдер.",
|
|
|
|
+ null=True,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="relationship",
|
|
|
|
+ name="is_global",
|
|
|
|
+ field=models.BooleanField(
|
|
|
|
+ default=False,
|
|
|
|
+ help_text="установленный тип договорных отношений между клиентами/пользователями/аккаунтами доступен для хранения в глобальном сервисе/нужна синхронизация",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="relationship",
|
|
|
|
+ name="is_visible",
|
|
|
|
+ field=models.BooleanField(
|
|
|
|
+ default=False,
|
|
|
|
+ help_text="установленный тип договорных отношений между клиентами/пользователями/аккаунтами, доступен для планирования в цепочке с другими услугами в глобальном сервисе",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="relationship",
|
|
|
|
+ name="neg_type",
|
|
|
|
+ field=models.IntegerField(
|
|
|
|
+ help_text="тип договорных отношений по его уникальному идентификатору"
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="relationship",
|
|
|
|
+ name="requirements",
|
|
|
|
+ field=models.CharField(
|
|
|
|
+ help_text="код необходимого (самый строгий) для того, чтобы ресурс мог стать активным. Оно вставляется автоматом, в соответствии с профилем метасервиса. Далее, если кому-то из партнеров или пользователей надо строже - применяется более строгий вариант на данную связь.",
|
|
|
|
+ max_length=150,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="relationship",
|
|
|
|
+ name="status",
|
|
|
|
+ field=models.CharField(
|
|
|
|
+ help_text="(статус обработки заявки в системе заявок)", max_length=150
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="relationship",
|
|
|
|
+ name="ticket_status",
|
|
|
|
+ field=models.ForeignKey(
|
|
|
|
+ help_text="id заявки, по которой происходит проверка статуса relationship. State меняется только в результате изменений в заявке.",
|
|
|
|
+ on_delete=django.db.models.deletion.DO_NOTHING,
|
|
|
|
+ to="tickets.task",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="relationship",
|
|
|
|
+ name="user_id_who",
|
|
|
|
+ field=models.ForeignKey(
|
|
|
|
+ help_text="уникальный идентификатор инициатора договорных отношений",
|
|
|
|
+ on_delete=django.db.models.deletion.DO_NOTHING,
|
|
|
|
+ related_name="user_id_who",
|
|
|
|
+ to=settings.AUTH_USER_MODEL,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="relationship",
|
|
|
|
+ name="user_id_whom",
|
|
|
|
+ field=models.ForeignKey(
|
|
|
|
+ help_text=" уникальный идентификатор того с кем связываются",
|
|
|
|
+ on_delete=django.db.models.deletion.DO_NOTHING,
|
|
|
|
+ related_name="user_id_whom",
|
|
|
|
+ to=settings.AUTH_USER_MODEL,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="resource",
|
|
|
|
+ name="id_metaservice",
|
|
|
|
+ field=models.BigIntegerField(
|
|
|
|
+ help_text="уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Один и тот же провайдер может быть для нескольких мета-сервисов, соответственно если происходят изменения в одном, то либо форсируется изменение во всех (если возможно), либо снимается is_global. Соответственно при изменении is_global в true должно происходить согласование с остальными копиями в других сервисах. Нужен в том числе для того, чтобы выяснять, в каких еще сервисах есть этот провайдер.",
|
|
|
|
+ null=True,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="resource",
|
|
|
|
+ name="is_global",
|
|
|
|
+ field=models.BooleanField(
|
|
|
|
+ default=False,
|
|
|
|
+ help_text="доступны ли данные (по услугам или ресурсам?) для хранения в глобальном сервисе/необходима синхронизация",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="resource",
|
|
|
|
+ name="is_visible",
|
|
|
|
+ field=models.BooleanField(
|
|
|
|
+ default=False,
|
|
|
|
+ help_text="доступно ли для планирования в цепочке с другими услугами в глобальном сервисе",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="resource",
|
|
|
|
+ name="requirements",
|
|
|
|
+ field=models.CharField(
|
|
|
|
+ help_text="код необходимого (самый строгий) для того, чтобы ресурс мог стать активным",
|
|
|
|
+ max_length=150,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="resource",
|
|
|
|
+ name="status",
|
|
|
|
+ field=models.CharField(
|
|
|
|
+ help_text="статус ресурса в системе относительно прохождения проверок (activity_status) (может быть active только в том случае, если ticket, влияющий на статус - закрыт.",
|
|
|
|
+ max_length=150,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="resource",
|
|
|
|
+ name="type_id",
|
|
|
|
+ field=models.CharField(
|
|
|
|
+ help_text="определение типа ресурса по его уникальному идентификатору в соответствии с классификатором",
|
|
|
|
+ max_length=10,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="resource",
|
|
|
|
+ name="user_id",
|
|
|
|
+ field=models.ForeignKey(
|
|
|
|
+ help_text="уникальный идентификатор ответственного (за состояние, доступность и так далее - то есть для договора) пользователя - идентификатор провайдера, по которому восстанавливается конкретный пользовательский аккаунт",
|
|
|
|
+ on_delete=django.db.models.deletion.DO_NOTHING,
|
|
|
|
+ to=settings.AUTH_USER_MODEL,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="service",
|
|
|
|
+ name="id_metaservice",
|
|
|
|
+ field=models.BigIntegerField(
|
|
|
|
+ help_text="уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Один и тот же провайдер может быть для нескольких мета-сервисов, соответственно если происходят изменения в одном, то либо форсируется изменение во всех (если возможно), либо снимается is_global. Соответственно при изменении is_global в true должно происходить согласование с остальными копиями в других сервисах. Нужен в том числе для того, чтобы выяснять, в каких еще сервисах есть этот провайдер.",
|
|
|
|
+ null=True,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="service",
|
|
|
|
+ name="id_provider",
|
|
|
|
+ field=models.ForeignKey(
|
|
|
|
+ help_text="уникальный идентификатор поставщика услуг (фактически определяет, какой пользователь будет оказывать услугу)",
|
|
|
|
+ on_delete=django.db.models.deletion.DO_NOTHING,
|
|
|
|
+ to="metaservicesynced.provider",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="service",
|
|
|
|
+ name="is_global",
|
|
|
|
+ field=models.BooleanField(
|
|
|
|
+ default=False,
|
|
|
|
+ help_text="доступны ли документы для хранения в глобальном сервисе/нужна синхронизация",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="service",
|
|
|
|
+ name="is_visible",
|
|
|
|
+ field=models.BooleanField(
|
|
|
|
+ default=False,
|
|
|
|
+ help_text="доступна ли информация о наличии документов для планирования в цепочке с другими услугами в глобальном сервисе",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="service",
|
|
|
|
+ name="price_alg",
|
|
|
|
+ field=models.CharField(
|
|
|
|
+ help_text="шаблон алгоритма расчета цены для оказываемой услуги (по этой переменной определяется, какую функцию для расчета цены вызывать)",
|
|
|
|
+ max_length=100,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="service",
|
|
|
|
+ name="requirements",
|
|
|
|
+ field=models.CharField(
|
|
|
|
+ help_text="код необходимого (самый строгий) для того, чтобы ресурс мог стать активным. Оно вставляется автоматом, в соответствии с профилем метасервиса. Далее, если кому-то из партнеров или пользователей надо строже - применяется более строгий вариант на данную связь.",
|
|
|
|
+ max_length=150,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="service",
|
|
|
|
+ name="resource_id",
|
|
|
|
+ field=models.ForeignKey(
|
|
|
|
+ help_text="ответственный за ресурс(не всегда). так как ресурсы сами услугу оказать не могут, а также один ресурс может быть представлен в виде разных услуг, то фактически с точки зрения смысла системы ресурс - это как неодушевленный пользователь. Без провайдера, который с его помощью оказывает услугу - никуда. Поле остается пустым, если сервис не предусматривает использование услуг. Стоит обратить внимание, что это не обязательно ответственный за ресурс. Например, за состояние автомобиля может быть ответственен пользователь (он и указывается в таблице со свойствами ресурса), а услугу доступа или перевозки может оказывать иное лицо.",
|
|
|
|
+ null=True,
|
|
|
|
+ on_delete=django.db.models.deletion.DO_NOTHING,
|
|
|
|
+ to="metaservicesynced.resource",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="service",
|
|
|
|
+ name="service_status",
|
|
|
|
+ field=models.CharField(
|
|
|
|
+ help_text="статус спецификации типа услуги, принимает значения Online, Offline, Preorder with Gap. Online/offline выставляются по проверке параметров и желанию пользователя (например, если пользователь переключает себя online, но по какой-то причине ему такую услугу оказывать запрещено - оно не переключится, то есть надо перед сменой значения этого поля всегда запускать проверку)",
|
|
|
|
+ max_length=150,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="service",
|
|
|
|
+ name="status",
|
|
|
|
+ field=models.CharField(
|
|
|
|
+ help_text="статус обработки заявки в системе заявок. активность на основе системы заяво",
|
|
|
|
+ max_length=150,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="servicetype",
|
|
|
|
+ name="is_global",
|
|
|
|
+ field=models.BooleanField(
|
|
|
|
+ default=False,
|
|
|
|
+ help_text="доступно ли для планирования в цепочке с другими услугами в глобальном сервисе",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ migrations.AlterField(
|
|
|
|
+ model_name="servicetype",
|
|
|
|
+ name="is_visible",
|
|
|
|
+ field=models.BooleanField(
|
|
|
|
+ default=False,
|
|
|
|
+ help_text="доступно ли для хранения в глобальном сервисе/нужна синхронизация данных",
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ ]
|