Browse Source

Merge branch 'unstable' of blezz-tech/sharix-open-backend into unstable

2 changed files with 26 additions and 19 deletions
  1. 4 4
      admin/resource.py
  2. 22 15
      models/resource.py

+ 4 - 4
admin/resource.py

@@ -5,13 +5,13 @@ from dbsynce.models import Resource
 class ResourceAdmin(admin.ModelAdmin):
     list_display = (
         'id',
-        'type_id',
-        'user_id',
+        'id_metaservice',
+        'resoure_type',
         'requirements',
         'status',
-        'ticket_status',
-        'id_metaservice',
         'is_global',
         'is_visible',
+        'ticket_status',
+        'user_id',
     )
     list_filter = ('user_id', 'ticket_status')

+ 22 - 15
models/resource.py

@@ -9,15 +9,17 @@ class Resource(models.Model):
     Resource/Список ресурсов – автомобили/дома/объекты сервиса
     """
 
-    type_id = models.CharField(
+    # ID METASERVICE
+    id_metaservice = models.BigIntegerField(
+        null=True,
+        help_text="уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Один и тот же провайдер может быть для нескольких мета-сервисов, соответственно если происходят изменения в одном, то либо форсируется изменение во всех (если возможно), либо снимается is_global. Соответственно при изменении is_global в true должно происходить согласование с остальными копиями в других сервисах. Нужен в том числе для того, чтобы выяснять, в каких еще сервисах есть этот провайдер."
+    )
+
+    # DATA
+    resoure_type = models.CharField(
         max_length=10,
         help_text="определение типа ресурса по его уникальному идентификатору в соответствии с классификатором"
     )
-    user_id = models.ForeignKey(
-        get_user_model(),
-        on_delete=models.DO_NOTHING,
-        help_text="уникальный идентификатор ответственного (за состояние, доступность и так далее - то есть для договора) пользователя - идентификатор провайдера, по которому восстанавливается конкретный пользовательский аккаунт"
-    )
     requirements = models.CharField(
         max_length=150,
         help_text="код необходимого (самый строгий) для того, чтобы ресурс мог стать активным"
@@ -26,15 +28,8 @@ class Resource(models.Model):
         max_length=150,
         help_text="статус ресурса в системе относительно прохождения проверок (activity_status) (может быть active только в том случае, если ticket, влияющий на статус - закрыт."
     )
-    ticket_status = models.ForeignKey(
-        Ticket,
-        on_delete=models.DO_NOTHING,
-        help_text="id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю."
-    )
-    id_metaservice = models.BigIntegerField(
-        null=True,
-        help_text="уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Один и тот же провайдер может быть для нескольких мета-сервисов, соответственно если происходят изменения в одном, то либо форсируется изменение во всех (если возможно), либо снимается is_global. Соответственно при изменении is_global в true должно происходить согласование с остальными копиями в других сервисах. Нужен в том числе для того, чтобы выяснять, в каких еще сервисах есть этот провайдер."
-    )
+
+    # OTHER
     is_global = models.BooleanField(
         default=False,
         help_text="доступны ли данные (по услугам или ресурсам?) для хранения в глобальном сервисе/необходима синхронизация"
@@ -44,6 +39,18 @@ class Resource(models.Model):
         help_text="доступно ли для планирования в цепочке с другими услугами в глобальном сервисе"
     )
 
+    # FK
+    ticket_status = models.ForeignKey(
+        Ticket,
+        on_delete=models.DO_NOTHING,
+        help_text="id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю."
+    )
+    user_id = models.ForeignKey(
+        get_user_model(),
+        on_delete=models.DO_NOTHING,
+        help_text="уникальный идентификатор ответственного (за состояние, доступность и так далее - то есть для договора) пользователя - идентификатор провайдера, по которому восстанавливается конкретный пользовательский аккаунт"
+    )
+
     
     class Meta:
         db_table = "resource"