2 次代碼提交 ce63609fa0 ... aa56a45462

作者 SHA1 備註 提交日期
  ShariX Developer aa56a45462 adding choices to models 1 月之前
  blezz-tech ffe5b6e12b add reversed objects 1 月之前

+ 88 - 15
lib/dicts.py

@@ -4,6 +4,12 @@ Dicts from:
 https://wiki.sharix.org/doku.php/open/tech/dev/db/slovari_bd#resource_type
 '''
 
+
+def reverse_obj(obj):
+    """Меняет местами ключ и значение"""
+    return {status_code: name for name, status_code in obj.items()}
+
+
 neg_type = {
     "disfollow": 0,
     "prefer": 1,
@@ -11,33 +17,58 @@ neg_type = {
     "contract": 3,
     "client": 4
 }
+neg_type_by_code = reverse_obj(neg_type)
 
 type_legal_form = {
     "self-employed": 0,
     "ip": 1,
     "company": 2
 }
+type_legal_form_by_code = reverse_obj(type_legal_form)
 
 # FIXME: resource_type ??
+resource_type = {
+    "zero class car": "00000",
+    "economy class car": "00100",
+    "comfort class car": "00200",
+    "premium class car": "00300",
+    "luxe class car": "00400",
+   
+    "zero class room": "10004",
+    "economy class room": "10104",
+    "comfort class room": "10204",
+    "premium class room": "10304",
+    "luxe class room": "10404",
+
+    "zero class sportsground": "10005",
+    "economy class sportsground": "10105",
+    "comfort class sportsground": "10205",
+    "premium class sportsground": "10305",
+    "luxe class sportsground": "10405",
+
+    }
+
+resource_type_by_code = reverse_obj(resource_type)
 
 # FIXME: permission_type ??
 permissions_type = {
-"platform_admin": "01",
-"platform_supervisor": "02",
-"platform_support": "03",
-"platform_techsupport": "04",
-"metaservice_admin": "11",
-"metaservice_supervisor": "12",
-"metaservice_support": "13",
-"metaservice_techsupport": "14",
-"partner_admin": "21",
-"partner_supervisor": "22",
-"partner_support": "23",
-"partner_techsupport": "24",
-"provider": "15",
-"platform_user": "06",
-"metaservice_user": "16",
+    "platform_admin": "01",
+    "platform_supervisor": "02",
+    "platform_support": "03",
+    "platform_techsupport": "04",
+    "metaservice_admin": "11",
+    "metaservice_supervisor": "12",
+    "metaservice_support": "13",
+    "metaservice_techsupport": "14",
+    "partner_admin": "21",
+    "partner_supervisor": "22",
+    "partner_support": "23",
+    "partner_techsupport": "24",
+    "provider": "15",
+    "platform_user": "06",
+    "metaservice_user": "16",
 }
+permissions_type_by_code = reverse_obj(permissions_type)
 
 initiator_type = {
     "manual": 0,
@@ -46,12 +77,14 @@ initiator_type = {
     "metaservice_event": 3,
     "platform_event": 4
 }
+initiator_type_by_code = reverse_obj(initiator_type)
 
 event_type = {
     "add": 1,
     "del": 2,
     "change": 3
 }
+event_type_by_code = reverse_obj(event_type)
 
 status = {
     "false": "f",
@@ -60,6 +93,7 @@ status = {
     "switch": "s",
     "error": "e"
 }
+status_by_code = reverse_obj(status)
 
 # FIXME: Requirements ???
 
@@ -67,6 +101,24 @@ status = {
 
 # FIXME: коды документов (doctype)
 
+doc_type_by_code = {
+    "01": "Паспорт",
+    "02": "ИНН",
+    "03": "СНИЛС",
+    "04": "Cвидетельство о регистрации компании",
+    "05": "Cистема налогообложения",
+    "06": "Доверенность / Приказ",
+    "07": "Права / Лицензия",
+    "08": "Документ, подтверждающий собственность",
+    "09": "Документ об образовании",
+    "10": "Медицинская книжка",
+    "11": "Cправка об отсутствии судимости",
+    "12": "Договор (в том числе о трудоустройстве)",
+    "13": "Фотография",
+    "99": "Иное",
+    }
+doc_type = reverse_obj(doc_type_by_code)
+
 # FIXME: Коды степени проверки дополнительных допусков/экзаменов
 
 # FIXME: коды проверок
@@ -83,40 +135,61 @@ price_type = {
     "ipd": 5,
     "ipt": 6
 }
+price_type_by_code = reverse_obj(price_type)
 
 location_type = {
     "static": 0,
     "dynamic": 1
 }
+location_type_by_code = reverse_obj(location_type)
 
 provider_type = {
     "partner": 1,
     "responsible_person": 2,
     "service_provider": 3
 }
+provider_type_by_code = reverse_obj(provider_type)
 
 service_status = {
     "online": 1,
     "offline": 2,
     "gap": 3
 }
+service_status_by_code = reverse_obj(service_status)
 
 activity_status = {
     "active": 0,
     "deactivated": 1,
     "deleted": 2
 }
+activity_status_by_code = reverse_obj(activity_status)
 
 transaction_type = {
     "active": 0,
     "deactivated": 1
 }
+transaction_type_by_code = reverse_obj(transaction_type)
 
 tax_method = {
     "Main": 0,
     "Simple1": 1,
     "Simple2": 2
 }
+tax_method_by_code = reverse_obj(tax_method)
+
+is_global = {
+    "True": "t",
+    "False": "f",
+    "Other": "o",
+}   
+is_global_by_code = reverse_obj(is_global)
+
+is_visible = {
+    "True": "t",
+    "False": "f",
+    "Other": "o",
+}
+is_visible_by_code = reverse_obj(is_visible)
 
 # FIXME: STATE (статусы заказов/заявок с кодами)
 

+ 5 - 0
models/client.py

@@ -7,6 +7,8 @@ from dbsynce.docs.database.client import Client as HelpTexts
 
 from core.settings_vars import METASERVICE_ID
 
+from dbsynce.lib import dicts
+
 class Client(models.Model):
     """
     Client - это таблица с клиентами. Клиент/пользователь/аккаунт 
@@ -29,6 +31,7 @@ class Client(models.Model):
     status = models.CharField(
         max_length=1,
         default="1",
+        choices = list(dicts.activity_status_by_code.items()),
         help_text=HelpTexts.status
     )
 
@@ -36,11 +39,13 @@ class Client(models.Model):
     is_global = models.CharField(
         max_length=1,
         default="f",
+        choices = list(dicts.is_global_by_code.items()),
         help_text=HelpTexts.is_global
     )
     is_visible = models.CharField(
         max_length=1,
         default="f",
+        choices = list(dicts.is_visible_by_code.items()),
         help_text=HelpTexts.is_visible
     )
 

+ 5 - 0
models/company.py

@@ -6,6 +6,8 @@ from tickets.models import Ticket
 from dbsynce.docs.database.company import Company as HelpTexts
 from core.settings_vars import METASERVICE_ID
 
+from dbsynce.lib import dicts
+
 class Company(models.Model):
     """
     Company - это таблица с партнерами сервисов. Партнер сервиса -
@@ -33,6 +35,7 @@ class Company(models.Model):
         "Статус",
         max_length=1,
         default="1",
+        choices = list(dicts.activity_status_by_code.items()),
         help_text=HelpTexts.status
     )
     legal_name = models.CharField(
@@ -89,11 +92,13 @@ class Company(models.Model):
     is_global = models.CharField(
         max_length=1,
         default="f",
+        choices = list(dicts.is_global_by_code.items()),
         help_text="Доступно ли для хранения в глобальном сервисе / Нужна синхронизация данных"
     )
     is_visible = models.CharField(
         max_length=1,
         default="f",
+        choices = list(dicts.is_visible_by_code.items()),
         help_text="Доступно ли для планирования в цепочке с другими услугами в глобальном сервисе"
     )
 

+ 5 - 1
models/documents.py

@@ -10,6 +10,7 @@ from tickets.models import Ticket
 from dbsynce.docs.database.documents import Documents as HelpTexts
 from core.settings_vars import METASERVICE_ID
 
+from dbsynce.lib import dicts
 
 class Documents(models.Model):
     """
@@ -72,7 +73,8 @@ class Documents(models.Model):
     )
     doc_type = models.CharField(
         max_length=2,
-        choices=DOC_TYPES,
+        choices = list(dicts.doc_type_by_code.items()),
+        #choices=DOC_TYPES,
         help_text=HelpTexts.doc_type
     )
 
@@ -80,11 +82,13 @@ class Documents(models.Model):
     is_global = models.CharField(
         max_length=1,
         default="f",
+        choices = list(dicts.is_global_by_code.items()),
         help_text=HelpTexts.is_global
     )
     is_visible = models.CharField(
         max_length=1,
         default="f",
+        choices = list(dicts.is_visible_by_code.items()),
         help_text=HelpTexts.is_visible
     )
 

+ 6 - 0
models/orders.py

@@ -11,6 +11,8 @@ from tickets.models import Ticket
 from dbsynce.docs.database.orders import Orders as HelpTexts
 from core.settings_vars import METASERVICE_ID
 
+from dbsynce.lib import dicts
+#from tickets.lib import tickets_dicts
 
 class Orders(models.Model):
     """
@@ -27,6 +29,8 @@ class Orders(models.Model):
     status = models.CharField(
         max_length=1,
         default="1",
+        #TODO - maybe a key? What is the meaning?
+        #choices = list(tickets_dicts.service_request_type_by_code.items())
         help_text=HelpTexts.status
     )
     title = models.CharField(
@@ -81,11 +85,13 @@ class Orders(models.Model):
     is_global = models.CharField(
         max_length=1,
         default="f",
+        choices = list(dicts.is_global_by_code.items()),
         help_text=HelpTexts.is_global
     )
     is_visible = models.CharField(
         max_length=1,
         default="f",
+        choices = list(dicts.is_visible_by_code.items()),
         help_text=HelpTexts.is_visible
     )
 

+ 6 - 2
models/permissions.py

@@ -6,6 +6,7 @@ from tickets.models import Ticket
 from dbsynce.docs.database.permissions import Permissions as HelpTexts
 from core.settings_vars import METASERVICE_ID
 
+from dbsynce.lib import dicts
 
 class Permissions(models.Model):
     """
@@ -36,6 +37,7 @@ class Permissions(models.Model):
     status = models.CharField(
         max_length=1,
         default="1",
+        choices = list(dicts.activity_status_by_code.items()),
         help_text=HelpTexts.status
     )
     check_date = models.DateTimeField(
@@ -51,12 +53,14 @@ class Permissions(models.Model):
     is_global = models.CharField(
         max_length=1,
         default="f",
-        help_text=HelpTexts.is_global
+        choices = list(dicts.is_global_by_code.items()),
+        help_text=HelpTexts.is_global,
     )
     is_visible = models.CharField(
         max_length=1,
         default="f",
-        help_text=HelpTexts.is_visible
+        choices = list(dicts.is_visible_by_code.items()),
+        help_text=HelpTexts.is_visible,
     )
 
     # FK

+ 6 - 0
models/provider.py

@@ -8,6 +8,7 @@ from tickets.models import Ticket
 from dbsynce.docs.database.provider import Provider as HelpTexts
 from core.settings_vars import METASERVICE_ID
 
+from dbsynce.lib import dicts
 
 class Provider(models.Model):
     """
@@ -39,15 +40,18 @@ class Provider(models.Model):
     status = models.CharField(
         max_length=1,
         default="1",
+        choices = list(dicts.activity_status_by_code.items()),
         help_text=HelpTexts.status
     )
     service_status = models.CharField(
         max_length=1,
         default="2",
+        choices = list(dicts.service_status_by_code.items()),
         help_text=HelpTexts.service_status
     )
     location_type = models.CharField(
         max_length=1,
+        choices = list(dicts.location_type_by_code.items()),
         help_text=HelpTexts.location_type
     )
     default_location = models.CharField(
@@ -59,11 +63,13 @@ class Provider(models.Model):
     is_global = models.CharField(
         max_length=1,
         default="f",
+        choices = list(dicts.is_global_by_code.items()),
         help_text=HelpTexts.is_global
     )
     is_visible = models.CharField(
         max_length=1,
         default="f",
+        choices = list(dicts.is_visible_by_code.items()),
         help_text=HelpTexts.is_visible
     )
 

+ 3 - 0
models/rating_neg.py

@@ -6,6 +6,7 @@ from dbsynce.models.service_category import ServiceCategory
 from dbsynce.docs.database.rating_neg import RatingNeg as HelpTexts
 from core.settings_vars import METASERVICE_ID
 
+from dbsynce.lib import dicts
 
 class RatingNeg(models.Model):
     """
@@ -27,11 +28,13 @@ class RatingNeg(models.Model):
     is_global = models.CharField(
         max_length=1,
         default=False,
+        choices = list(dicts.is_global_by_code.items()),
         help_text=HelpTexts.is_global
     )
     is_visible = models.CharField(
         max_length=1,
         default="f",
+        choices = list(dicts.is_visible_by_code.items()),
         help_text=HelpTexts.is_visible
     )
 

+ 3 - 0
models/rating_ok.py

@@ -6,6 +6,7 @@ from dbsynce.models.service_category import ServiceCategory
 from dbsynce.docs.database.rating_ok import RatingOk as HelpTexts
 from core.settings_vars import METASERVICE_ID
 
+from dbsynce.lib import dicts
 
 class RatingOk(models.Model):
     """
@@ -27,11 +28,13 @@ class RatingOk(models.Model):
     is_global = models.CharField(
         max_length=1,
         default=False,
+        choices = list(dicts.is_global_by_code.items()),
         help_text=HelpTexts.is_global
     )
     is_visible = models.CharField(
         max_length=1,
         default="f",
+        choices = list(dicts.is_visible_by_code.items()),
         help_text=HelpTexts.is_visible
     )
 

+ 3 - 0
models/rating_pos.py

@@ -6,6 +6,7 @@ from dbsynce.models.service_category import ServiceCategory
 from dbsynce.docs.database.rating_pos import RatingPos as HelpTexts
 from core.settings_vars import METASERVICE_ID
 
+from dbsynce.lib import dicts
 
 class RatingPos(models.Model):
     """
@@ -27,11 +28,13 @@ class RatingPos(models.Model):
     is_global = models.CharField(
         max_length=1,
         default=False,
+        choices = list(dicts.is_global_by_code.items()),
         help_text=HelpTexts.is_global
     )
     is_visible = models.CharField(
         max_length=1,
         default="f",
+        choices = list(dicts.is_visible_by_code.items()),
         help_text=HelpTexts.is_visible
     )
 

+ 5 - 0
models/relationship.py

@@ -6,6 +6,7 @@ from tickets.models import Ticket
 from dbsynce.docs.database.relationship import Relationship as HelpTexts
 from core.settings_vars import METASERVICE_ID
 
+from dbsynce.lib import dicts
 
 class Relationship(models.Model):
     """
@@ -22,6 +23,7 @@ class Relationship(models.Model):
 
     # DATA
     neg_type = models.IntegerField(
+        choices = list(dicts.neg_type_by_code.items()),
         help_text=HelpTexts.neg_type
     )
     requirements = models.CharField(
@@ -33,6 +35,7 @@ class Relationship(models.Model):
     status = models.CharField(
         max_length=1,
         default="1",
+        choices = list(dicts.activity_status_by_code.items()),
         help_text=HelpTexts.status
     )
 
@@ -40,11 +43,13 @@ class Relationship(models.Model):
     is_global = models.CharField(
         max_length=1,
         default="f",
+        choices = list(dicts.is_global_by_code.items()),
         help_text=HelpTexts.is_global
     )
     is_visible = models.CharField(
         max_length=1,
         default="f",
+        choices = list(dicts.is_visible_by_code.items()),
         help_text=HelpTexts.is_visible
     )
 

+ 6 - 1
models/resource.py

@@ -6,6 +6,7 @@ from tickets.models import Ticket
 from dbsynce.docs.database.resource import Resource as HelpTexts
 from core.settings_vars import METASERVICE_ID
 
+from dbsynce.lib import dicts
 
 class Resource(models.Model):
     """
@@ -20,7 +21,8 @@ class Resource(models.Model):
     # DATA
     resource_type = models.CharField(
         max_length=10,
-        help_text=HelpTexts.resource_type
+        choices = list(dicts.resource_type_by_code.items()),
+        help_text=HelpTexts.resource_type,
     )
     requirements = models.CharField(
         max_length=50,
@@ -30,6 +32,7 @@ class Resource(models.Model):
     status = models.CharField(
         max_length=1,
         default="1",
+        choices = list(dicts.activity_status_by_code.items()),
         help_text=HelpTexts.status
     )
 
@@ -37,11 +40,13 @@ class Resource(models.Model):
     is_global = models.CharField(
         max_length=1,
         default="1",
+        choices = list(dicts.is_global_by_code.items()),
         help_text=HelpTexts.is_global
     )
     is_visible = models.CharField(
         max_length=1,
         default="1",
+        choices = list(dicts.is_visible_by_code.items()),
         help_text=HelpTexts.is_visible
     )
 

+ 5 - 0
models/service.py

@@ -8,6 +8,7 @@ from tickets.models import Ticket
 from dbsynce.docs.database.service import Service as HelpTexts
 from core.settings_vars import METASERVICE_ID
 
+from dbsynce.lib import dicts
 
 class Service(models.Model):
     """
@@ -47,6 +48,7 @@ class Service(models.Model):
     resource_type = models.CharField(
         max_length=5,
         null=True,
+        choices = list(dicts.resource_type_by_code.items()),
         #help_text=HelpTexts.resource_type
     )
 
@@ -84,6 +86,7 @@ class Service(models.Model):
     )
     status = models.CharField(
         max_length=1,
+        choices = list(dicts.activity_status_by_code.items()),
         help_text=HelpTexts.status,
         default="1",
     )
@@ -92,11 +95,13 @@ class Service(models.Model):
     is_global = models.CharField(
         max_length=1,
         default="f",
+        choices = list(dicts.is_global_by_code.items()),
         help_text=HelpTexts.is_global
     )
     is_visible = models.CharField(
         max_length=1,
         default="f",
+        choices = list(dicts.is_visible_by_code.items()),
         help_text=HelpTexts.is_visible
     )
 

+ 6 - 0
models/service_category.py

@@ -5,6 +5,7 @@ from tickets.models import Ticket
 from dbsynce.docs.database.service_category import ServiceCategory as HelpTexts
 from core.settings_vars import METASERVICE_ID
 
+from dbsynce.lib import dicts
 
 class ServiceCategory(models.Model):
     """
@@ -31,6 +32,8 @@ class ServiceCategory(models.Model):
     status = models.CharField(
         max_length=1,
         default="1",
+        choices = list(dicts.activity_status_by_code.items()),
+        #choices = list(dicts.activity_status.items()),
         help_text=HelpTexts.status
     )
     caption = models.CharField(
@@ -47,6 +50,7 @@ class ServiceCategory(models.Model):
     )
     price_type = models.CharField(
         max_length=1,
+        choices = list(dicts.price_type_by_code.items()),
         help_text=HelpTexts.price_type
     )
     metaservice_comission = models.FloatField(
@@ -57,11 +61,13 @@ class ServiceCategory(models.Model):
     is_global = models.CharField(
         max_length=1,
         default="f",
+        choices = list(dicts.is_global_by_code.items()),
         help_text=HelpTexts.is_global
     )
     is_visible = models.CharField(
         max_length=1,
         default="f",
+        choices = list(dicts.is_visible_by_code.items()),
         help_text=HelpTexts.is_visible
     )