Sfoglia il codice sorgente

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

+ 1 - 1
admin/__init__.py

@@ -7,4 +7,4 @@ from .provider import ProviderAdmin
 from .relationship import RelationshipAdmin
 from .resource import ResourceAdmin
 from .service import ServiceAdmin
-from .servicetype import ServiceTypeAdmin
+from .servicetype import ServiceTypeAdmin

+ 1 - 3
admin/client.py

@@ -1,8 +1,6 @@
 from django.contrib import admin
-
 from dbsynce.models import Client
 
-
 @admin.register(Client)
 class ClientAdmin(admin.ModelAdmin):
     list_display = (
@@ -15,4 +13,4 @@ class ClientAdmin(admin.ModelAdmin):
         'is_global',
         'is_visible',
     )
-    list_filter = ('user', 'ticket_status')
+    list_filter = ('user', 'ticket_status')

+ 1 - 3
admin/company.py

@@ -1,8 +1,6 @@
 from django.contrib import admin
-
 from dbsynce.models import Company
 
-
 @admin.register(Company)
 class CompanyAdmin(admin.ModelAdmin):
     list_display = (
@@ -24,4 +22,4 @@ class CompanyAdmin(admin.ModelAdmin):
         'is_global',
         'is_visible',
     )
-    list_filter = ('repr_id', 'ticket_status')
+    list_filter = ('repr_id', 'ticket_status')

+ 1 - 2
admin/documents.py

@@ -1,5 +1,4 @@
 from django.contrib import admin
-
 from dbsynce.models import Documents, DocumentFile
 
 
@@ -36,4 +35,4 @@ class DocumentsAdmin(admin.ModelAdmin):
         'checked_by',
     )
 
-    inlines = [DocumentFileInline]
+    inlines = [DocumentFileInline]

+ 1 - 3
admin/orders.py

@@ -1,8 +1,6 @@
 from django.contrib import admin
-
 from dbsynce.models import Orders
 
-
 @admin.register(Orders)
 class OrdersAdmin(admin.ModelAdmin):
     list_display = (
@@ -39,4 +37,4 @@ class OrdersAdmin(admin.ModelAdmin):
         'time_start',
         'time_finish_predicted',
         'time_finish_real',
-    )
+    )

+ 1 - 3
admin/permissions.py

@@ -1,8 +1,6 @@
 from django.contrib import admin
-
 from dbsynce.models import Permissions
 
-
 @admin.register(Permissions)
 class PermissionsAdmin(admin.ModelAdmin):
     list_display = (
@@ -18,4 +16,4 @@ class PermissionsAdmin(admin.ModelAdmin):
         'is_global',
         'is_visible',
     )
-    list_filter = ('check_date', 'checked_by', 'user_id', 'ticket_status')
+    list_filter = ('check_date', 'checked_by', 'user_id', 'ticket_status')

+ 1 - 3
admin/provider.py

@@ -1,8 +1,6 @@
 from django.contrib import admin
-
 from dbsynce.models import Provider
 
-
 @admin.register(Provider)
 class ProviderAdmin(admin.ModelAdmin):
     list_display = (
@@ -19,4 +17,4 @@ class ProviderAdmin(admin.ModelAdmin):
         'is_global',
         'is_visible',
     )
-    list_filter = ('company_id', 'user_id', 'ticket_status')
+    list_filter = ('company_id', 'user_id', 'ticket_status')

+ 1 - 3
admin/relationship.py

@@ -1,8 +1,6 @@
 from django.contrib import admin
-
 from dbsynce.models import Relationship
 
-
 @admin.register(Relationship)
 class RelationshipAdmin(admin.ModelAdmin):
     list_display = (
@@ -17,4 +15,4 @@ class RelationshipAdmin(admin.ModelAdmin):
         'is_global',
         'is_visible',
     )
-    list_filter = ('user_id_who', 'user_id_whom', 'ticket_status')
+    list_filter = ('user_id_who', 'user_id_whom', 'ticket_status')

+ 1 - 3
admin/resource.py

@@ -1,8 +1,6 @@
 from django.contrib import admin
-
 from dbsynce.models import Resource
 
-
 @admin.register(Resource)
 class ResourceAdmin(admin.ModelAdmin):
     list_display = (
@@ -16,4 +14,4 @@ class ResourceAdmin(admin.ModelAdmin):
         'ticket_status',
         'user_id',
     )
-    list_filter = ('user_id', 'ticket_status')
+    list_filter = ('user_id', 'ticket_status')

+ 1 - 3
admin/service.py

@@ -1,8 +1,6 @@
 from django.contrib import admin
-
 from dbsynce.models import Service
 
-
 @admin.register(Service)
 class ServiceAdmin(admin.ModelAdmin):
     list_display = (
@@ -25,4 +23,4 @@ class ServiceAdmin(admin.ModelAdmin):
         'servicetype_id',
         'resource_id',
         'ticket_status',
-    )
+    )

+ 1 - 3
admin/servicetype.py

@@ -1,8 +1,6 @@
 from django.contrib import admin
-
 from dbsynce.models import ServiceType
 
-
 @admin.register(ServiceType)
 class ServiceTypeAdmin(admin.ModelAdmin):
     list_display = (
@@ -19,4 +17,4 @@ class ServiceTypeAdmin(admin.ModelAdmin):
         'is_global',
         'is_visible',
     )
-    list_filter = ('ticket_status',)
+    list_filter = ('ticket_status',)

+ 1 - 1
apiviews/__init__.py

@@ -7,4 +7,4 @@ from .provider import ProviderMVS
 from .relationship import RelationshipMVS
 from .resource import ResourceMVS
 from .service import ServiceMVS
-from .servicetype import ServiceTypeMVS
+from .servicetype import ServiceTypeMVS

+ 4 - 5
apiviews/client.py

@@ -1,11 +1,10 @@
+from dbsynce.serializer import ClientSerializer
 from rest_framework import viewsets, permissions
-
 from dbsynce.models import Client
-from dbsynce.serializer import ClientSerializer
-
 
 class ClientMVS(viewsets.ModelViewSet):
+
     queryset = Client.objects.all()
     serializer_class = ClientSerializer
-    # permission_classes = [IsOwnerOrReadOnly]
-    permission_classes = [permissions.IsAuthenticated]
+    #permission_classes = [IsOwnerOrReadOnly]
+    permission_classes = [permissions.IsAuthenticated]

+ 4 - 5
apiviews/company.py

@@ -1,11 +1,10 @@
+from dbsynce.serializer import CompanySerializer
 from rest_framework import viewsets, permissions
-
 from dbsynce.models import Company
-from dbsynce.serializer import CompanySerializer
-
 
 class CompanyMVS(viewsets.ModelViewSet):
+
     queryset = Company.objects.all()
     serializer_class = CompanySerializer
-    # permission_classes = [IsOwnerOrReadOnly]
-    permission_classes = [permissions.IsAuthenticated]
+    #permission_classes = [IsOwnerOrReadOnly]
+    permission_classes = [permissions.IsAuthenticated]

+ 5 - 5
apiviews/documents.py

@@ -1,11 +1,11 @@
+from django.http import HttpResponse
+from dbsynce.serializer import DocumentsSerializer
 from rest_framework import viewsets, permissions
-
 from dbsynce.models import Documents
-from dbsynce.serializer import DocumentsSerializer
-
 
 class DocumentsMVS(viewsets.ModelViewSet):
+
     queryset = Documents.objects.all()
     serializer_class = DocumentsSerializer
-    # permission_classes = [IsOwnerOrReadOnly]
-    permission_classes = [permissions.IsAuthenticated]
+    #permission_classes = [IsOwnerOrReadOnly]
+    permission_classes = [permissions.IsAuthenticated]

+ 4 - 5
apiviews/orders.py

@@ -1,11 +1,10 @@
+from dbsynce.serializer import OrdersSerializer
 from rest_framework import viewsets, permissions
-
 from dbsynce.models import Orders
-from dbsynce.serializer import OrdersSerializer
-
 
 class OrdersMVS(viewsets.ModelViewSet):
+
     queryset = Orders.objects.all()
     serializer_class = OrdersSerializer
-    # permission_classes = [IsOwnerOrReadOnly]
-    permission_classes = [permissions.IsAuthenticated]
+    #permission_classes = [IsOwnerOrReadOnly]
+    permission_classes = [permissions.IsAuthenticated]

+ 4 - 5
apiviews/permissions.py

@@ -1,11 +1,10 @@
+from dbsynce.serializer import PermissionsSerializer
 from rest_framework import viewsets, permissions
-
 from dbsynce.models import Permissions
-from dbsynce.serializer import PermissionsSerializer
-
 
 class PermissionsMVS(viewsets.ModelViewSet):
+
     queryset = Permissions.objects.all()
     serializer_class = PermissionsSerializer
-    # permission_classes = [IsOwnerOrReadOnly]
-    permission_classes = [permissions.IsAuthenticated]
+    #permission_classes = [IsOwnerOrReadOnly]
+    permission_classes = [permissions.IsAuthenticated]

+ 4 - 5
apiviews/provider.py

@@ -1,11 +1,10 @@
+from dbsynce.serializer import ProviderSerializer
 from rest_framework import viewsets, permissions
-
 from dbsynce.models import Provider
-from dbsynce.serializer import ProviderSerializer
-
 
 class ProviderMVS(viewsets.ModelViewSet):
+
     queryset = Provider.objects.all()
     serializer_class = ProviderSerializer
-    # permission_classes = [IsOwnerOrReadOnly]
-    permission_classes = [permissions.IsAuthenticated]
+    #permission_classes = [IsOwnerOrReadOnly]
+    permission_classes = [permissions.IsAuthenticated]

+ 4 - 5
apiviews/relationship.py

@@ -1,11 +1,10 @@
+from dbsynce.serializer import RelationshipSerializer
 from rest_framework import viewsets, permissions
-
 from dbsynce.models import Relationship
-from dbsynce.serializer import RelationshipSerializer
-
 
 class RelationshipMVS(viewsets.ModelViewSet):
+
     queryset = Relationship.objects.all()
     serializer_class = RelationshipSerializer
-    # permission_classes = [IsOwnerOrReadOnly]
-    permission_classes = [permissions.IsAuthenticated]
+    #permission_classes = [IsOwnerOrReadOnly]
+    permission_classes = [permissions.IsAuthenticated]

+ 4 - 5
apiviews/resource.py

@@ -1,11 +1,10 @@
+from dbsynce.serializer import ResourceSerializer
 from rest_framework import viewsets, permissions
-
 from dbsynce.models import Resource
-from dbsynce.serializer import ResourceSerializer
-
 
 class ResourceMVS(viewsets.ModelViewSet):
+
     queryset = Resource.objects.all()
     serializer_class = ResourceSerializer
-    # permission_classes = [IsOwnerOrReadOnly]
-    permission_classes = [permissions.IsAuthenticated]
+    #permission_classes = [IsOwnerOrReadOnly]
+    permission_classes = [permissions.IsAuthenticated]

+ 4 - 5
apiviews/service.py

@@ -1,11 +1,10 @@
+from dbsynce.serializer import ServiceSerializer
 from rest_framework import viewsets, permissions
-
 from dbsynce.models import Service
-from dbsynce.serializer import ServiceSerializer
-
 
 class ServiceMVS(viewsets.ModelViewSet):
+
     queryset = Service.objects.all()
     serializer_class = ServiceSerializer
-    # permission_classes = [IsOwnerOrReadOnly]
-    permission_classes = [permissions.IsAuthenticated]
+    #permission_classes = [IsOwnerOrReadOnly]
+    permission_classes = [permissions.IsAuthenticated]

+ 4 - 5
apiviews/servicetype.py

@@ -1,11 +1,10 @@
+from dbsynce.serializer import ServiceTypeSerializer
 from rest_framework import viewsets, permissions
-
 from dbsynce.models import ServiceType
-from dbsynce.serializer import ServiceTypeSerializer
-
 
 class ServiceTypeMVS(viewsets.ModelViewSet):
+
     queryset = ServiceType.objects.all()
     serializer_class = ServiceTypeSerializer
-    # permission_classes = [IsOwnerOrReadOnly]
-    permission_classes = [permissions.IsAuthenticated]
+    #permission_classes = [IsOwnerOrReadOnly]
+    permission_classes = [permissions.IsAuthenticated]

+ 0 - 1
apps.py

@@ -1,6 +1,5 @@
 from django.apps import AppConfig
 
-
 class DbsyncedConfig(AppConfig):
     default_auto_field = "django.db.models.BigAutoField"
     name = "dbsynce"

+ 1 - 2
lib/core.py

@@ -1,7 +1,6 @@
 import re
-
-from django.contrib.contenttypes.models import ContentType
 from django.urls import reverse
+from django.contrib.contenttypes.models import ContentType
 
 
 def choose_support():

+ 4 - 5
lib/ejabberd.py

@@ -1,6 +1,5 @@
-import requests
-
 from core.settings_vars import EJ_URL, DEBUG
+import requests
 
 
 def ej_execute(command, data):
@@ -25,8 +24,8 @@ def get_rooms(service, order_num, support, client, provider):
     room_name3 = "_".join(str(attr) for attr in (service, order_num, provider, support))
     # Set room participants
     rooms = {
-        room_name1: ("client", "support", "owner"),
-        room_name2: ("client", "provider", "owner"),
-        room_name3: ("provider", "support", "owner"),
+       room_name1: ("client", "support", "owner"),
+       room_name2: ("client", "provider", "owner"),
+       room_name3: ("provider", "support", "owner"),
     }
     return rooms

+ 1 - 4
models/__init__.py

@@ -4,10 +4,7 @@ from .documents import Documents, DocumentFile
 from .orders import Orders
 from .permissions import Permissions
 from .provider import Provider
-from .rating_neg import RatingNeg
-from .rating_ok import RatingOk
-from .rating_pos import RatingPos
 from .relationship import Relationship
 from .resource import Resource
 from .service import Service
-from .servicetype import ServiceType
+from .servicetype import ServiceType

+ 4 - 6
models/client.py

@@ -1,5 +1,5 @@
-from django.contrib.auth import get_user_model
 from django.db import models
+from django.contrib.auth import get_user_model
 
 from tickets.models import Ticket
 
@@ -31,14 +31,12 @@ class Client(models.Model):
     )
 
     # OTHER
-    is_global = models.CharField(
-        max_length=1,
+    is_global = models.BooleanField(
         default=False,
         help_text="доступно ли для хранения в глобальном сервисе/необходима синхронизация"
     )
-    is_visible = models.CharField(
-        max_length=1,
-        default="f",
+    is_visible = models.BooleanField(
+        default=False,
         help_text="доступно ли для планирования в цепочке с другими услугами в глобальном сервисе"
     )
 

+ 2 - 2
models/company.py

@@ -1,5 +1,5 @@
-from django.contrib.auth import get_user_model
 from django.db import models
+from django.contrib.auth import get_user_model
 
 from tickets.models import Ticket
 
@@ -94,7 +94,7 @@ class Company(models.Model):
     )
 
     # FK
-    repr = models.ForeignKey(
+    repr_id =models.ForeignKey(
         get_user_model(),
         blank=True,
         verbose_name="Представитель организации",

+ 7 - 9
models/documents.py

@@ -1,7 +1,7 @@
 import os
 
-from django.contrib.auth import get_user_model
 from django.db import models
+from django.contrib.auth import get_user_model
 
 from dbsynce.models.company import Company
 from tickets.models import Ticket
@@ -77,25 +77,23 @@ class Documents(models.Model):
     )
 
     # OTHER
-    is_global = models.CharField(
-        max_length=1,
-        default="f",
+    is_global = models.BooleanField(
+        default=False,
         help_text="доступны ли документы для хранения в глобальном сервисе/нужна синхронизация"
     )
-    is_visible = models.CharField(
-        max_length=1,
-        default="f",
+    is_visible = models.BooleanField(
+        default=False,
         help_text="доступна ли информация о наличии документов для планирования в цепочке с другими услугами в глобальном сервисе"
     )
 
     # FK
-    company = models.ForeignKey(
+    company_id = models.ForeignKey(
         Company,
         on_delete=models.DO_NOTHING,
         null=True,
         help_text="идентификатор компании, к которой относится документ, если таковая есть (может не быть)"
     )
-    user = models.ForeignKey(
+    user_id = models.ForeignKey(
         get_user_model(),
         related_name="user_id_doc",
         on_delete=models.DO_NOTHING,

+ 11 - 12
models/orders.py

@@ -1,11 +1,12 @@
-from django.contrib.auth import get_user_model
 from django.db import models
+from django.contrib.auth import get_user_model
 
 from dbsynce.models.client import Client
-from dbsynce.models.company import Company
 from dbsynce.models.provider import Provider
 from dbsynce.models.service import Service
 from dbsynce.models.servicetype import ServiceType
+from dbsynce.models.company import Company
+
 from tickets.models import Ticket
 
 
@@ -32,12 +33,12 @@ class Orders(models.Model):
     title = models.CharField(
         max_length=150,
         help_text="заголовок заказа",
-        default='Заголовок'
+        default = 'Заголовок'
     )
     note = models.CharField(
         max_length=150,
         help_text="задание к заказу",
-        default='Записи'
+        default = 'Записи'
     )
     time_created = models.DateTimeField(
         auto_now_add=True,
@@ -78,14 +79,12 @@ class Orders(models.Model):
     )
 
     # OTHER
-    is_global = models.CharField(
-        max_length=1,
-        default="f",
+    is_global = models.BooleanField(
+        default=False,
         help_text="доступна ли информация по заказу для хранения в глобальном сервисе/нужна синхронизация данных. Если is_global = false, то и is_visible для заказа и вглубь по цепочке для всех исполнителей и ресурсов - тоже false."
     )
-    is_visible = models.CharField(
-        max_length=1,
-        default="f",
+    is_visible = models.BooleanField(
+        default=False,
         help_text="доступна ли информация по заказу (время, место) для планирования иных цепочек. Если нет, то все действующие исполнители и ресурсы считаются занятыми на неопределенное время, пока не завершится заказ. Если да - то ресурсы могут использоваться для построения цепочек после планируемого времени завершения, с учетом места."
     )
 
@@ -101,13 +100,13 @@ class Orders(models.Model):
         on_delete=models.DO_NOTHING,
         help_text="спецификатор услуги провайдера, нужен для установления цены (id_service - уникальный идентификатор шаблона услуги, необходим для установления цены и исполнителей."
     )
-    servicetype = models.ForeignKey(
+    service_type = models.ForeignKey(
         ServiceType,
         null=True,
         on_delete=models.DO_NOTHING,
         help_text="тип заказа по классификатору услу"
     )
-    client = models.ForeignKey(
+    client_id = models.ForeignKey(
         Client,
         null=True,
         on_delete=models.DO_NOTHING,

+ 7 - 11
models/permissions.py

@@ -1,9 +1,7 @@
-from django.contrib.auth import get_user_model
 from django.db import models
-
+from django.contrib.auth import get_user_model
 from tickets.models import Ticket
 
-
 class Permissions(models.Model):
     """
     Разрешения - (проверки/экзамены). 
@@ -21,7 +19,7 @@ class Permissions(models.Model):
     )
 
     # DATA
-    permission_type = models.BigIntegerField(
+    id_permissions = models.BigIntegerField(
         help_text="уникальный идентификатор определяющий наличие разрешения из множества в словаре - выданных пользователю/клиенту/аккаунту"
     )
     check_level = models.CharField(
@@ -41,14 +39,12 @@ class Permissions(models.Model):
     )
 
     # OTHER
-    is_global = models.CharField(
-        max_length=1,
-        default="f",
+    is_global = models.BooleanField(
+        default=False,
         help_text="доступна ли информация для хранения в глобальном сервисе/нужна синхронизация"
     )
-    is_visible = models.CharField(
-        max_length=1,
-        default="f",
+    is_visible = models.BooleanField(
+        default=False,
         help_text="доступна ли информация о наличии разрешения для планирования в цепочке с другими услугами в глобальном сервисе"
     )
 
@@ -59,7 +55,7 @@ class Permissions(models.Model):
         null=True,
         help_text="id заявки, по которой происходит проверка статуса relationship. State меняется только в результате изменений в заявке."
     )
-    user = models.ForeignKey(
+    user_id = models.ForeignKey(
         get_user_model(),
         related_name="user_id_perm",
         on_delete=models.DO_NOTHING,

+ 8 - 9
models/provider.py

@@ -1,8 +1,9 @@
-from django.contrib.auth import get_user_model
 from django.db import models
+from django.contrib.auth import get_user_model
 
 from dbsynce.models.company import Company
 from dbsynce.models.service import Service
+
 from tickets.models import Ticket
 
 
@@ -46,25 +47,23 @@ class Provider(models.Model):
     )
 
     # OTHER
-    is_global = models.CharField(
-        max_length=1,
-        default="f",
+    is_global = models.BooleanField(
+        default=False,
         help_text="(аккаунт поставщика услуг) – доступен для планирования в цепочке с другими услугами в глобальном сервисе"
     )
-    is_visible = models.CharField(
-        max_length=1,
-        default="f",
+    is_visible = models.BooleanField(
+        default=False,
         help_text="(аккаунт поставщика услуг) – доступен для хранения в  глобальном сервисе/необходима синхронизация"
     )
 
     # FK
-    user = models.ForeignKey(
+    user_id = models.ForeignKey(
         get_user_model(),
         on_delete=models.DO_NOTHING,
         null=True,
         help_text="уникальный идентификатор конкретного пользователя системы (meta-user), который будет оказывать услугу. Один пользователь может быть провайдером нескольких услуг. Статус провайдера означает, что с данным пользователем может быть установлена связь, как с исполнителем."
     )
-    company = models.ForeignKey(
+    company_id = models.ForeignKey(
         Company,
         on_delete=models.DO_NOTHING,
         null=True,

+ 0 - 61
models/rating_neg.py

@@ -1,61 +0,0 @@
-from django.contrib.auth import get_user_model
-from django.db import models
-
-from dbsynce.models.servicetype import ServiceType
-
-
-class RatingNeg(models.Model):
-    """
-    RatingNeg - это... FIXME: написать описание таблицы
-    """
-
-    id = models.IntegerField(
-        primary_key=True
-    )
-
-    # ID METASERVICE
-    id_metaservice = models.PositiveIntegerField(
-        null=True,
-        help_text="уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Если при синхронизации возникает конфликт (несовместимость) с другим сервисом, предлагается или форсировать изменения везде (если возможно), либо is_global выставляется как false."
-    )
-
-    # DATA
-    count = models.IntegerField(
-        help_text=""  # Написать описание поля
-    )
-
-    # OTHER
-    is_global = models.CharField(
-        max_length=1,
-        default=False,
-        help_text="доступно ли для хранения в глобальном сервисе/необходима синхронизация"
-    )
-    is_visible = models.CharField(
-        max_length=1,
-        default="f",
-        help_text="доступно ли для планирования в цепочке с другими услугами в глобальном сервисе"
-    )
-
-    # FK
-    user_who = models.ForeignKey(
-        get_user_model(),
-        related_name="user_id_who",
-        on_delete=models.DO_NOTHING,
-        help_text="уникальный идентификатор инициатора договорных отношений"
-    )
-    user_whom = models.ForeignKey(
-        get_user_model(),
-        related_name="user_id_whom",
-        on_delete=models.DO_NOTHING,
-        help_text=" уникальный идентификатор того с кем связываются"
-    )
-    servicetype = models.ForeignKey(
-        ServiceType,
-        on_delete=models.DO_NOTHING,
-        help_text="тип оказываемой услуги по классификатору услуг сервиса"
-    )
-
-    class Meta:
-        db_table = "rating_neg"
-        verbose_name = "Отрицательная реакция"
-        verbose_name_plural = "Отрицательные реакции"

+ 0 - 61
models/rating_ok.py

@@ -1,61 +0,0 @@
-from django.contrib.auth import get_user_model
-from django.db import models
-
-from dbsynce.models.servicetype import ServiceType
-
-
-class RatingOk(models.Model):
-    """
-    RatingOk - это... FIXME: написать описание таблицы
-    """
-
-    id = models.IntegerField(
-        primary_key=True
-    )
-
-    # ID METASERVICE
-    id_metaservice = models.PositiveIntegerField(
-        null=True,
-        help_text="уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Если при синхронизации возникает конфликт (несовместимость) с другим сервисом, предлагается или форсировать изменения везде (если возможно), либо is_global выставляется как false."
-    )
-
-    # DATA
-    count = models.IntegerField(
-        help_text=""  # Написать описание поля
-    )
-
-    # OTHER
-    is_global = models.CharField(
-        max_length=1,
-        default=False,
-        help_text="доступно ли для хранения в глобальном сервисе/необходима синхронизация"
-    )
-    is_visible = models.CharField(
-        max_length=1,
-        default="f",
-        help_text="доступно ли для планирования в цепочке с другими услугами в глобальном сервисе"
-    )
-
-    # FK
-    user_who = models.ForeignKey(
-        get_user_model(),
-        related_name="user_id_who",
-        on_delete=models.DO_NOTHING,
-        help_text="уникальный идентификатор инициатора договорных отношений"
-    )
-    user_whom = models.ForeignKey(
-        get_user_model(),
-        related_name="user_id_whom",
-        on_delete=models.DO_NOTHING,
-        help_text=" уникальный идентификатор того с кем связываются"
-    )
-    servicetype = models.ForeignKey(
-        ServiceType,
-        on_delete=models.DO_NOTHING,
-        help_text="тип оказываемой услуги по классификатору услуг сервиса"
-    )
-
-    class Meta:
-        db_table = "rating_ok"
-        verbose_name = "Нейтральная реакция"
-        verbose_name_plural = "Нейтральные реакции"

+ 0 - 61
models/rating_pos.py

@@ -1,61 +0,0 @@
-from django.contrib.auth import get_user_model
-from django.db import models
-
-from dbsynce.models.servicetype import ServiceType
-
-
-class RatingPos(models.Model):
-    """
-    RatingPos - это... FIXME: написать описание таблицы
-    """
-
-    id = models.IntegerField(
-        primary_key=True
-    )
-
-    # ID METASERVICE
-    id_metaservice = models.PositiveIntegerField(
-        null=True,
-        help_text="уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Если при синхронизации возникает конфликт (несовместимость) с другим сервисом, предлагается или форсировать изменения везде (если возможно), либо is_global выставляется как false."
-    )
-
-    # DATA
-    count = models.IntegerField(
-        help_text=""  # Написать описание поля
-    )
-
-    # OTHER
-    is_global = models.CharField(
-        max_length=1,
-        default=False,
-        help_text="доступно ли для хранения в глобальном сервисе/необходима синхронизация"
-    )
-    is_visible = models.CharField(
-        max_length=1,
-        default="f",
-        help_text="доступно ли для планирования в цепочке с другими услугами в глобальном сервисе"
-    )
-
-    # FK
-    user_who = models.ForeignKey(
-        get_user_model(),
-        related_name="user_id_who",
-        on_delete=models.DO_NOTHING,
-        help_text="уникальный идентификатор инициатора договорных отношений"
-    )
-    user_whom = models.ForeignKey(
-        get_user_model(),
-        related_name="user_id_whom",
-        on_delete=models.DO_NOTHING,
-        help_text=" уникальный идентификатор того с кем связываются"
-    )
-    servicetype = models.ForeignKey(
-        ServiceType,
-        on_delete=models.DO_NOTHING,
-        help_text="тип оказываемой услуги по классификатору услуг сервиса"
-    )
-
-    class Meta:
-        db_table = "rating_pos"
-        verbose_name = "Положительная реакция"
-        verbose_name_plural = "Положительные реакции"

+ 7 - 9
models/relationship.py

@@ -1,5 +1,5 @@
-from django.contrib.auth import get_user_model
 from django.db import models
+from django.contrib.auth import get_user_model
 
 from tickets.models import Ticket
 
@@ -35,25 +35,23 @@ class Relationship(models.Model):
     )
 
     # OTHER
-    is_global = models.CharField(
-        max_length=1,
-        default="f",
+    is_global = models.BooleanField(
+        default=False,
         help_text="установленный тип договорных отношений между клиентами/пользователями/аккаунтами доступен для хранения в глобальном сервисе/нужна синхронизация"
     )
-    is_visible = models.CharField(
-        max_length=1,
-        default="f",
+    is_visible = models.BooleanField(
+        default=False,
         help_text="установленный тип договорных отношений между клиентами/пользователями/аккаунтами, доступен для планирования в цепочке с другими услугами в глобальном сервисе"
     )
 
     # FK
-    user_who = models.ForeignKey(
+    user_id_who = models.ForeignKey(
         get_user_model(),
         related_name="user_id_who",
         on_delete=models.DO_NOTHING,
         help_text="уникальный идентификатор инициатора договорных отношений"
     )
-    user_whom = models.ForeignKey(
+    user_id_whom = models.ForeignKey(
         get_user_model(),
         related_name="user_id_whom",
         on_delete=models.DO_NOTHING,

+ 8 - 9
models/resource.py

@@ -1,5 +1,5 @@
-from django.contrib.auth import get_user_model
 from django.db import models
+from django.contrib.auth import get_user_model
 
 from tickets.models import Ticket
 
@@ -34,14 +34,12 @@ class Resource(models.Model):
     )
 
     # OTHER
-    is_global = models.CharField(
-        max_length=1,
-        default="f",
+    is_global = models.BooleanField(
+        default=False,
         help_text="доступны ли данные (по услугам или ресурсам?) для хранения в глобальном сервисе/необходима синхронизация"
     )
-    is_visible = models.CharField(
-        max_length=1,
-        default="f",
+    is_visible = models.BooleanField(
+        default=False,
         help_text="доступно ли для планирования в цепочке с другими услугами в глобальном сервисе"
     )
 
@@ -51,13 +49,14 @@ class Resource(models.Model):
         on_delete=models.DO_NOTHING,
         help_text="id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю."
     )
-    user = models.ForeignKey(
+    user_id = models.ForeignKey(
         get_user_model(),
         on_delete=models.DO_NOTHING,
         help_text="уникальный идентификатор ответственного (за состояние, доступность и так далее - то есть для договора) пользователя - идентификатор провайдера, по которому восстанавливается конкретный пользовательский аккаунт"
     )
 
+    
     class Meta:
         db_table = "resource"
         verbose_name = "Ресурс"
-        verbose_name_plural = "Ресурсы"
+        verbose_name_plural = "Ресурсы"

+ 10 - 12
models/service.py

@@ -1,8 +1,8 @@
 from django.db import models
 
-from dbsynce.models.resource import Resource
 from dbsynce.models.servicetype import ServiceType
 from tickets.models import Ticket
+from dbsynce.models.resource import Resource
 
 
 class Service(models.Model):
@@ -32,12 +32,12 @@ class Service(models.Model):
         decimal_places=2,
         help_text="значение параметра стоимости 1км данного поставщика для данного шаблона услуги"
     )
-    price_min = models.DecimalField(
+    price_min =  models.DecimalField(
         max_digits=9,
         decimal_places=2,
         help_text="значение параметра стоимости 1мин данного поставщика для данного шаблона услуги"
     )
-    price_amount = models.DecimalField(
+    price_amount =  models.DecimalField(
         max_digits=9,
         decimal_places=2,
         help_text="значение параметра стоимости 1 услуги данного поставщика для данного шаблона услуги"
@@ -59,14 +59,12 @@ class Service(models.Model):
     )
 
     # OTHER
-    is_global = models.CharField(
-        max_length=1,
-        default="f",
+    is_global = models.BooleanField(
+        default=False,
         help_text="доступны ли документы для хранения в глобальном сервисе/нужна синхронизация"
     )
-    is_visible = models.CharField(
-        max_length=1,
-        default="f",
+    is_visible = models.BooleanField(
+        default=False,
         help_text="доступна ли информация о наличии документов для планирования в цепочке с другими услугами в глобальном сервисе"
     )
 
@@ -76,19 +74,19 @@ class Service(models.Model):
         on_delete=models.DO_NOTHING,
         help_text="id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю."
     )
-    resource = models.ForeignKey(
+    resource_id = models.ForeignKey(
         Resource,
         on_delete=models.DO_NOTHING,
         blank=True,
         null=True,
         help_text="ответственный за ресурс(не всегда). так как ресурсы сами услугу оказать не могут, а также один ресурс может быть представлен в виде разных услуг, то фактически с точки зрения смысла системы ресурс - это как неодушевленный пользователь. Без провайдера, который с его помощью оказывает услугу - никуда. Поле остается пустым, если сервис не предусматривает использование услуг. Стоит обратить внимание, что это не обязательно ответственный за ресурс. Например, за состояние автомобиля может быть ответственен пользователь (он и указывается в таблице со свойствами ресурса), а услугу доступа или перевозки может оказывать иное лицо."
     )
-    servicetype = models.ForeignKey(
+    servicetype_id = models.ForeignKey(
         ServiceType,
         on_delete=models.DO_NOTHING,
         help_text="тип оказываемой услуги по классификатору услуг сервиса"
     )
-
+    
     class Meta:
         db_table = "service"
         verbose_name = "Услуга"

+ 4 - 6
models/servicetype.py

@@ -51,14 +51,12 @@ class ServiceType(models.Model):
     )
 
     # OTHER
-    is_global = models.CharField(
-        max_length=1,
-        default="f",
+    is_global = models.BooleanField(
+        default=False,
         help_text="доступно ли для планирования в цепочке с другими услугами в глобальном сервисе"
     )
-    is_visible = models.CharField(
-        max_length=1,
-        default="f",
+    is_visible = models.BooleanField(
+        default=False,
         help_text="доступно ли для хранения в глобальном сервисе/нужна синхронизация данных"
     )
 

+ 1 - 1
serializer/__init__.py

@@ -7,4 +7,4 @@ from .provider import ProviderSerializer
 from .relationship import RelationshipSerializer
 from .resource import ResourceSerializer
 from .service import ServiceSerializer
-from .servicetype import ServiceTypeSerializer
+from .servicetype import ServiceTypeSerializer

+ 1 - 3
serializer/client.py

@@ -1,9 +1,7 @@
 from rest_framework import serializers
-
 from dbsynce.models import Client
 
-
 class ClientSerializer(serializers.ModelSerializer):
     class Meta:
         model = Client
-        exclude = ["id"]
+        exclude = ["id"]

+ 1 - 3
serializer/company.py

@@ -1,9 +1,7 @@
 from rest_framework import serializers
-
 from dbsynce.models import Company
 
-
 class CompanySerializer(serializers.ModelSerializer):
     class Meta:
         model = Company
-        exclude = ["id"]
+        exclude = ["id"]

+ 1 - 3
serializer/documents.py

@@ -1,9 +1,7 @@
 from rest_framework import serializers
-
 from dbsynce.models import Documents
 
-
 class DocumentsSerializer(serializers.ModelSerializer):
     class Meta:
         model = Documents
-        exclude = ["id"]
+        exclude = ["id"]

+ 15 - 14
serializer/orders.py

@@ -1,33 +1,34 @@
-import traceback
-
 from rest_framework import serializers
-
-from core.settings_vars import DEBUG, WEBSERVICE_NAME, EJ_HOST, EJ_SERVICE
-from dbsynce.lib.core import *
-from dbsynce.lib.ejabberd import *
 from dbsynce.models import Orders
 from tickets.models import Ticket, TicketList
-
+from dbsynce.lib.core import *
+from dbsynce.lib.ejabberd import *
+from core.settings_vars import DEBUG, WEBSERVICE_NAME, EJ_HOST, EJ_SERVICE
+import traceback
+import requests
+    
 
 class OrdersSerializer(serializers.ModelSerializer):
     class Meta:
         model = Orders
         fields = '__all__'
 
+    
     def create(self, validated_data):
         ModelClass = self.Meta.model
-
+        
+        
         if "ticket" not in validated_data:
             # Create ticket with minimal required data
             ticket_data = {
-                "ticket_list": TicketList.objects.get(pk=9),  # MS-SUP входящие обычные заявки ST_REQUEST
+                "ticket_list": TicketList.objects.get(pk=9), # MS-SUP входящие обычные заявки ST_REQUEST
                 "status": None,
-                "created_date": "2000-01-01",  # mandatory
+                "created_date": "2000-01-01", # mandatory
                 "status_changed_date": None,
                 "created_by": None,
-                "priority": 0,  # default: 0
+                "priority": 0, # default: 0
                 "type": None,
-                "title": "New ticket title",  # mandatory
+                "title": "New ticket title", # mandatory
                 "note": None,
                 "due_date": None,
                 "assigned_to": None,
@@ -62,8 +63,8 @@ class OrdersSerializer(serializers.ModelSerializer):
             # Get neccessary data
             order_num = instance.pk
             support = choose_support()
-            client = instance.client.user.phone_number
-            provider = instance.provider.user.phone_number
+            client = instance.client_id.user.phone_number
+            provider = instance.provider.user_id.phone_number
 
             for room_name, room_members in get_rooms(WEBSERVICE_NAME, order_num, support, client, provider).items():
                 # Create ejabber rooms

+ 1 - 3
serializer/permissions.py

@@ -1,9 +1,7 @@
 from rest_framework import serializers
-
 from dbsynce.models import Permissions
 
-
 class PermissionsSerializer(serializers.ModelSerializer):
     class Meta:
         model = Permissions
-        exclude = ["id"]
+        exclude = ["id"]

+ 1 - 3
serializer/provider.py

@@ -1,9 +1,7 @@
 from rest_framework import serializers
-
 from dbsynce.models import Provider
 
-
 class ProviderSerializer(serializers.ModelSerializer):
     class Meta:
         model = Provider
-        exclude = []
+        exclude = []

+ 1 - 3
serializer/relationship.py

@@ -1,9 +1,7 @@
 from rest_framework import serializers
-
 from dbsynce.models import Relationship
 
-
 class RelationshipSerializer(serializers.ModelSerializer):
     class Meta:
         model = Relationship
-        exclude = ["id"]
+        exclude = ["id"]

+ 1 - 3
serializer/resource.py

@@ -1,9 +1,7 @@
 from rest_framework import serializers
-
 from dbsynce.models import Resource
 
-
 class ResourceSerializer(serializers.ModelSerializer):
     class Meta:
         model = Resource
-        exclude = ["id"]
+        exclude = ["id"]

+ 1 - 3
serializer/service.py

@@ -1,9 +1,7 @@
 from rest_framework import serializers
-
 from dbsynce.models import Service
 
-
 class ServiceSerializer(serializers.ModelSerializer):
     class Meta:
         model = Service
-        exclude = ["id"]
+        exclude = ["id"]

+ 1 - 3
serializer/servicetype.py

@@ -1,9 +1,7 @@
 from rest_framework import serializers
-
 from dbsynce.models import ServiceType
 
-
 class ServiceTypeSerializer(serializers.ModelSerializer):
     class Meta:
         model = ServiceType
-        exclude = ["id"]
+        exclude = ["id"]

+ 4 - 5
urls.py

@@ -1,7 +1,6 @@
-from django.urls import path, include
-from rest_framework import routers
-
 from dbsynce.apiviews import *
+from rest_framework import routers
+from django.urls import path, include
 
 router = routers.DefaultRouter()
 router.register(r'client', ClientMVS)
@@ -15,6 +14,6 @@ router.register(r'resource', ResourceMVS)
 router.register(r'service', ServiceMVS)
 router.register(r'servicetype', ServiceTypeMVS)
 
-urlpatterns = [
+urlpatterns = [  
     path('api/', include(router.urls), name="dbsynced"),
-]
+]