Sfoglia il codice sorgente

model improvements for making service tariffs working more real;
few data fiels improvements

ShariX Developer 21 ore fa
parent
commit
6717960386

+ 3 - 3
admin/service.py

@@ -8,10 +8,10 @@ class ServiceAdmin(admin.ModelAdmin):
     list_display = (
         'id',
         'service_category',
-        'resource',
+#        'resource',
         'requirements',
         'id_metaservice',
-        'price_type',
+#        'price_type',
         'price_km',
         'price_min',
         'price_amount',
@@ -22,6 +22,6 @@ class ServiceAdmin(admin.ModelAdmin):
     )
     list_filter = (
         'service_category',
-        'resource',
+#        'resource',
         'ticket_status',
     )

+ 9 - 9
lib/seed.py

@@ -66,15 +66,15 @@ def create_metaservice_default_data():
     create_webservice_seed()
 
 def create_metaservice_init_data():
-    if not ServiceCategory.objects.filter(codename="test").exists():
-        service_category=ServiceCategory(METASERVICE_ID, "test", "DSMPUB", "0", "Test", "Test service category", "https://wiki.sharix-app.org/doku.php/open/doc/usage", "3", 0.2, "0", "0", 1)
-        metaserivce_admin = get_user_model().objects.get(phone_number=2101)
-        create_service_category(service_category, metaserivce_admin)
-
-        print(f"Service category test created.")
-    else:
-        print(f"Service category test already exists.")
-
+    #if not ServiceCategory.objects.filter(codename="test").exists():
+    #    service_category=ServiceCategory(METASERVICE_ID, "test", "DSMPUB", "0", "Test", "Test service category", "https://wiki.sharix-app.org/doku.php/open/doc/usage", "3", 0.2, "0", "0", 1)
+    #    metaserivce_admin = get_user_model().objects.get(phone_number=2101)
+    #    create_service_category(service_category, metaserivce_admin)
+
+    #    print(f"Service category test created.")
+    #else:
+    #    print(f"Service category test already exists.")
+    print(f"Skipping Service category test data.")
 
 def create_metaservice_initial_groups():
     groups = [

+ 3 - 3
lib/ticket_gen.py

@@ -342,13 +342,13 @@ def create_ticket_service_activation(user, service):
         note=f"""
             Пользователь {user} отправил заявку на добавление и активацию услуги сервиса:\n
             - Категория: {service.service_category_id}\n
-            - Ресурс: {service.resource}\n
+            - Название: {service.caption}\n
+            - Описание: {service.description}\n
+            - Тип ресурса: {service.resource_type}\n
             - Комиссия партнера: {service.company_comission}\n
-            - Тарификация: {service.price_type}\n
             - Стоимость км: {service.price_km}\n
             - Стоимость минуты: {service.price_min}\n            
             - Стоимость за количество: {service.price_amount}\n
-            - Описание: {service_category.description}\n
             \n
             Проверьте всю информацию и для активации категории сервиса измените статус заявки на ACCEPTED.
             Это будет означать, что Партнер сможет оказывать услуги на указанных условиях.

+ 5 - 2
models/client.py

@@ -21,11 +21,14 @@ class Client(models.Model):
 
     # DATA
     requirements = models.CharField(
-        max_length=150,
+        max_length=50,
+        #TODO ADD CORRECT DEFAULT!
+        default="DSMPUB",
         help_text=HelpTexts.requirements
     )
     status = models.CharField(
-        max_length=150,
+        max_length=1,
+        default="1",
         help_text=HelpTexts.status
     )
 

+ 6 - 6
models/company.py

@@ -25,24 +25,24 @@ class Company(models.Model):
     # DATA
     requirements = models.CharField(
         "Ограничения",
-        max_length=150,
+        max_length=50,
         default="DS01y04y05y06y07yMPUCS13MPUB",
         help_text=HelpTexts.requirements
     )
     status = models.CharField(
         "Статус",
-        max_length=150,
-        default="deactivated",
+        max_length=1,
+        default="1",
         help_text=HelpTexts.status
     )
     legal_name = models.CharField(
         "Название организации",
-        max_length=150,
+        max_length=50,
         help_text=HelpTexts.legal_name
     )
     address = models.CharField(
         "Юридический адрес",
-        max_length=150,
+        max_length=300,
         help_text=HelpTexts.address
     )
     inn = models.CharField(
@@ -68,7 +68,7 @@ class Company(models.Model):
     )
     bik = models.CharField(
         "БИК компании",
-        max_length=11,
+        max_length=9,
         help_text=HelpTexts.bik
     )
     rs = models.CharField(

+ 2 - 2
models/documents.py

@@ -62,8 +62,8 @@ class Documents(models.Model):
     )
     # FIXME: status должен иметь другое значение поумолчанию
     status = models.CharField(
-        max_length=150,
-        default="deactivated",
+        max_length=1,
+        default="1",
         help_text="активность на основе системы заявок"
     )
     data_path = models.CharField(

+ 2 - 1
models/orders.py

@@ -25,7 +25,8 @@ class Orders(models.Model):
 
     # DATA
     status = models.CharField(
-        max_length=150,
+        max_length=1,
+        default="1",
         help_text=HelpTexts.status
     )
     title = models.CharField(

+ 2 - 1
models/permissions.py

@@ -29,7 +29,8 @@ class Permissions(models.Model):
         help_text=HelpTexts.check_level
     )
     status = models.CharField(
-        max_length=150,
+        max_length=1,
+        default="1",
         help_text=HelpTexts.status
     )
     check_date = models.DateTimeField(

+ 19 - 6
models/provider.py

@@ -2,6 +2,7 @@ from django.contrib.auth import get_user_model
 from django.db import models
 
 from dbsynce.models.service import Service
+from dbsynce.models.resource import Resource
 from tickets.models import Ticket
 
 from dbsynce.docs.database.provider import Provider as HelpTexts
@@ -23,27 +24,31 @@ class Provider(models.Model):
 
     # DATA
     gap = models.DateTimeField(
-        max_length=150,
+        max_length=10,
         help_text=HelpTexts.gap
     )
     requirements = models.CharField(
-        max_length=300,
+        max_length=50,
+        #TODO ADD CORRECT DEFAULT!
+        default="DSMPUB",
         help_text=HelpTexts.requirements
     )
     status = models.CharField(
-        max_length=150,
+        max_length=1,
+        default="1",
         help_text=HelpTexts.status
     )
     service_status = models.CharField(
-        max_length=150,
+        max_length=1,
+        default="2",
         help_text=HelpTexts.service_status
     )
     location_type = models.CharField(
-        max_length=300,
+        max_length=1,
         help_text=HelpTexts.location_type
     )
     default_location = models.CharField(
-        max_length=300,
+        max_length=30,
         help_text=HelpTexts.default_location
     )
 
@@ -79,6 +84,14 @@ class Provider(models.Model):
         help_text=HelpTexts.service
     )
 
+    resource = models.ForeignKey(
+        Resource,
+        on_delete=models.DO_NOTHING,
+        blank=True,
+        null=True,
+        #help_text=HelpTexts.resource
+    )
+
     class Meta:
         db_table = "provider"
         verbose_name = "Поставщик"

+ 5 - 2
models/relationship.py

@@ -25,11 +25,14 @@ class Relationship(models.Model):
         help_text=HelpTexts.neg_type
     )
     requirements = models.CharField(
-        max_length=150,
+        max_length=50,
+        #TODO ADD CORRECT DEFAULT!
+        default="DSMPUB",
         help_text=HelpTexts.requirements
     )
     status = models.CharField(
-        max_length=150,
+        max_length=1,
+        default="1",
         help_text=HelpTexts.status
     )
 

+ 1 - 1
models/resource.py

@@ -23,7 +23,7 @@ class Resource(models.Model):
         help_text=HelpTexts.resource_type
     )
     requirements = models.CharField(
-        max_length=150,
+        max_length=50,
         default="DS01y04y05y06y07yMPUCS13MPUB",
         help_text=HelpTexts.requirements
     )

+ 55 - 10
models/service.py

@@ -1,6 +1,7 @@
 from django.db import models
 
 from dbsynce.models.resource import Resource
+from dbsynce.models.company import Company
 from dbsynce.models.service_category import ServiceCategory
 from tickets.models import Ticket
 
@@ -21,36 +22,70 @@ class Service(models.Model):
         help_text=HelpTexts.id_metaservice
     )
 
-    # DATA
-    price_type = models.CharField(
-        max_length=100,
-        help_text=HelpTexts.price_type
+    codename = models.CharField(
+        max_length=30,
+        #help_text=HelpTexts.codename
+    )
+
+    requirements = models.CharField(
+        max_length=300,
+        #TODO fix default value!
+        default="DSMPU",
+        #help_text=HelpTexts.requirements
+    )
+
+    caption = models.CharField(
+        max_length=255,
+        null=True,
+        #help_text=HelpTexts.caption
+    )
+    description = models.TextField(
+        blank=True,
+        #help_text=HelpTexts.description
+    )
+
+    resource_type = models.CharField(
+        max_length=5,
+        null=True,
+        #help_text=HelpTexts.resource_type
     )
+
+
+    # DATA
+    #price_type = models.ForeignKey(
+    #    ServiceCategory,
+    #    max_length=1,
+    #    help_text=HelpTexts.price_type
+    #)
     price_km = models.DecimalField(
         max_digits=9,
         decimal_places=2,
+        null=True,
         help_text=HelpTexts.price_km
     )
     price_min = models.DecimalField(
         max_digits=9,
         decimal_places=2,
+        null=True,
         help_text=HelpTexts.price_min
     )
     price_amount = models.DecimalField(
         max_digits=9,
         decimal_places=2,
+        null=True,
         help_text=HelpTexts.price_amount
     )
     company_comission = models.FloatField(
         help_text=HelpTexts.company_comission
     )
     requirements = models.CharField(
-        max_length=150,
+        max_length=50,
         help_text=HelpTexts.requirements
     )
     status = models.CharField(
-        max_length=150,
-        help_text=HelpTexts.status
+        max_length=1,
+        help_text=HelpTexts.status,
+        default="1",
     )
 
     # OTHER
@@ -68,16 +103,26 @@ class Service(models.Model):
     # FK
     ticket_status = models.ForeignKey(
         Ticket,
+        null=True,
         on_delete=models.DO_NOTHING,
         help_text=HelpTexts.ticket_status
     )
-    resource = models.ForeignKey(
-        Resource,
+    #resource = models.ForeignKey(
+    #    Resource,
+    #    on_delete=models.DO_NOTHING,
+    #    blank=True,
+    #    null=True,
+    #    help_text=HelpTexts.resource
+    #)
+
+    company = models.ForeignKey(
+        Company,
         on_delete=models.DO_NOTHING,
         blank=True,
         null=True,
-        help_text=HelpTexts.resource
+        #help_text=HelpTexts.company
     )
+
     service_category = models.ForeignKey(
         ServiceCategory,
         on_delete=models.DO_NOTHING,

+ 2 - 2
models/service_category.py

@@ -19,11 +19,11 @@ class ServiceCategory(models.Model):
 
     # DATA
     codename = models.CharField(
-        max_length=255,
+        max_length=30,
         help_text=HelpTexts.codename
     )
     requirements = models.CharField(
-        max_length=300,
+        max_length=50,
         #TODO fix default value!
         default="DSMPU",
         help_text=HelpTexts.requirements