|
@@ -34,38 +34,47 @@ class Documents(models.Model):
|
|
("99", "Иное"),
|
|
("99", "Иное"),
|
|
]
|
|
]
|
|
DOC_TYPES_DICT = dict(DOC_TYPES)
|
|
DOC_TYPES_DICT = dict(DOC_TYPES)
|
|
-
|
|
|
|
|
|
+
|
|
# FIXME: id_metaservice должно принимать текущий идентификатор метасервиса, на котором происходит создание записи
|
|
# FIXME: id_metaservice должно принимать текущий идентификатор метасервиса, на котором происходит создание записи
|
|
id_metaservice = models.BigIntegerField(
|
|
id_metaservice = models.BigIntegerField(
|
|
- null=True,
|
|
|
|
|
|
+ default=1,
|
|
help_text="уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Если при синхронизации возникает конфликт (несовместимость) с другим сервисом, предлагается или форсировать изменения везде (если возможно), либо is_global выставляется как false."
|
|
help_text="уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Если при синхронизации возникает конфликт (несовместимость) с другим сервисом, предлагается или форсировать изменения везде (если возможно), либо is_global выставляется как false."
|
|
)
|
|
)
|
|
check_date = models.DateTimeField(
|
|
check_date = models.DateTimeField(
|
|
|
|
+ auto_now_add=True,
|
|
help_text="timestamp проверки"
|
|
help_text="timestamp проверки"
|
|
)
|
|
)
|
|
check_level = models.IntegerField(
|
|
check_level = models.IntegerField(
|
|
|
|
+ null=True,
|
|
|
|
+ blank=True,
|
|
help_text="информация об уровне проверки. Документ может быть проверен как платформой, так и мета-сервисом, так и партнером мета-сервиса, а может быть и никем (просто загружен). Указывается, так как достоверность проверки разная. Документ, проверенный только на низком уровне, не принимается во внимание как имеющийся до прохождения более высокоуровневой проверки. Информацию об уровнях проверки можно посмотреть по словарю Requirements. В данной таблице хранится информация о наиболее высоком уровне проверки."
|
|
help_text="информация об уровне проверки. Документ может быть проверен как платформой, так и мета-сервисом, так и партнером мета-сервиса, а может быть и никем (просто загружен). Указывается, так как достоверность проверки разная. Документ, проверенный только на низком уровне, не принимается во внимание как имеющийся до прохождения более высокоуровневой проверки. Информацию об уровнях проверки можно посмотреть по словарю Requirements. В данной таблице хранится информация о наиболее высоком уровне проверки."
|
|
)
|
|
)
|
|
- expire_date = models.DateTimeField(
|
|
|
|
|
|
+ expire_date = models.DateField(
|
|
null=True,
|
|
null=True,
|
|
|
|
+ blank=True,
|
|
help_text="срок окончания действия документа."
|
|
help_text="срок окончания действия документа."
|
|
)
|
|
)
|
|
# FIXME: requirements должно иметь другое значение поумолчанию
|
|
# FIXME: requirements должно иметь другое значение поумолчанию
|
|
requirements = models.CharField(
|
|
requirements = models.CharField(
|
|
- max_length=150
|
|
|
|
|
|
+ max_length=150,
|
|
|
|
+ default="fixme"
|
|
)
|
|
)
|
|
# FIXME: status должен иметь другое значение поумолчанию
|
|
# FIXME: status должен иметь другое значение поумолчанию
|
|
status = models.CharField(
|
|
status = models.CharField(
|
|
max_length=150,
|
|
max_length=150,
|
|
|
|
+ default="deactivated",
|
|
help_text="активность на основе системы заявок"
|
|
help_text="активность на основе системы заявок"
|
|
)
|
|
)
|
|
ticket_status = models.ForeignKey(
|
|
ticket_status = models.ForeignKey(
|
|
Ticket,
|
|
Ticket,
|
|
- on_delete=models.DO_NOTHING,
|
|
|
|
|
|
+ null=True,
|
|
|
|
+ blank=True,
|
|
|
|
+ on_delete=models.SET_NULL,
|
|
help_text="id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю."
|
|
help_text="id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю."
|
|
)
|
|
)
|
|
doc_type = models.CharField(
|
|
doc_type = models.CharField(
|
|
- max_length=150,
|
|
|
|
|
|
+ max_length=2,
|
|
|
|
+ choices=DOC_TYPES,
|
|
help_text="тип документа (паспорт/паспорт 1 страница и т д) в соответствии с классификатором типов документов (см описание в Requirements)"
|
|
help_text="тип документа (паспорт/паспорт 1 страница и т д) в соответствии с классификатором типов документов (см описание в Requirements)"
|
|
)
|
|
)
|
|
user_id = models.ForeignKey(
|
|
user_id = models.ForeignKey(
|
|
@@ -90,15 +99,12 @@ class Documents(models.Model):
|
|
)
|
|
)
|
|
checked_by = models.ForeignKey(
|
|
checked_by = models.ForeignKey(
|
|
get_user_model(),
|
|
get_user_model(),
|
|
|
|
+ null=True,
|
|
|
|
+ blank=True,
|
|
related_name="checked_by_doc",
|
|
related_name="checked_by_doc",
|
|
on_delete=models.DO_NOTHING,
|
|
on_delete=models.DO_NOTHING,
|
|
- null=True,
|
|
|
|
help_text="userid проверившего"
|
|
help_text="userid проверившего"
|
|
)
|
|
)
|
|
- datalink = models.TextField(
|
|
|
|
- blank=True,
|
|
|
|
- help_text="адрес фактического размещения на физическом носителе, если информация настолько велика, что не может храниться внутри БД."
|
|
|
|
- )
|
|
|
|
|
|
|
|
@staticmethod
|
|
@staticmethod
|
|
def parse_requirements(requirements: str):
|
|
def parse_requirements(requirements: str):
|