6 Commits d1f79e7188 ... 63724aed70

Autore SHA1 Messaggio Data
  ShariX Developer 63724aed70 making order form looks better 1 mese fa
  ShariX Developer 0c40f109d2 pages for service and service category details filled 1 mese fa
  ShariX Developer d882d6e30a service category detail pages filled with content 1 mese fa
  ShariX Developer f453c0edef fixed resource details and provider details pages 1 mese fa
  ShariX Developer 6bfa675e7b fix partner detail page 1 mese fa
  ShariX Developer b166465d0a adding order details page 1 mese fa

+ 3 - 1
sharix_admin/forms/order.py

@@ -8,7 +8,9 @@ from dbsynce.models import Provider
 from tickets.models import Ticket
 from django.contrib.auth import get_user_model
 
-class OrderForm(forms.ModelForm):
+from sharix_admin.forms.base import BaseForm
+
+class OrderForm(BaseForm, forms.ModelForm):
     def __init__(self, *args, **kwargs):
         super(OrderForm, self).__init__(*args, **kwargs)
         # Добавляем класс .form-control для всех полей формы

+ 21 - 21
sharix_admin/forms/service.py

@@ -59,14 +59,14 @@ class ServiceTariffUpdateForm(forms.ModelForm):
 
 class ServiceTariffCreateForm(forms.ModelForm):
     #company_comission = forms.FloatField(label="Комиссия Партнера")
-    company_comission = forms.FloatField(label=ServiceHelpTexts.company_comission)
+#    company_comission = forms.FloatField(label=ServiceHelpTexts.company_comission)
     #resource_type = forms.CharField(label="Необходимый тип ресурса")
     #resource_type = forms.ChoiceField(choices=RESOURCE_TYPE_CHOICES, label="Необходимый тип ресурса")
-    codename = forms.CharField(label="Кодовое короткое название тарифа услуги")
-    caption = forms.CharField(label="Название тарифа услуги")
+#    codename = forms.CharField(label="Кодовое короткое название тарифа услуги")
+#    caption = forms.CharField(label="Название тарифа услуги")
     #requirements = forms.CharField(label="Требования")
     #price_type = forms.ChoiceField(choices=PRICE_CHOICES, label="Ценообразование")
-    description = forms.CharField(label="Описание")
+#    description = forms.CharField(label="Описание")
 
 #    is_global = forms.BooleanField(label="Доступно во всех сервисах", required=False)
 #    is_visible = forms.BooleanField(label="Доступно для планирования цепочек во всех сервисах", required=False)
@@ -101,18 +101,18 @@ class ServiceTariffCreateForm(forms.ModelForm):
         }
 
 #TODO Merge with dicts!
-PRICE_CHOICES = [
-    ('1', 'Только время'),
-    ('2', 'Только расстояние'),
-    ('3', 'За единицу услуги'),
-    ('4', 'Время за расстояние'),
-    ('5', 'Единицы за расстояние'),
-    ('6', 'Единицы за время'),
-]
+#PRICE_CHOICES = [
+#    ('1', 'Только время'),
+#    ('2', 'Только расстояние'),
+#    ('3', 'За единицу услуги'),
+#    ('4', 'Время за расстояние'),
+#    ('5', 'Единицы за расстояние'),
+#    ('6', 'Единицы за время'),
+#]
 
 
 class ServiceCategoryUpdateForm(BaseForm, forms.ModelForm):
-    price_type = forms.ChoiceField(choices=PRICE_CHOICES, label="Ценообразование")
+#    price_type = forms.ChoiceField(choices=PRICE_CHOICES, label="Ценообразование")
 
     def __init__(self, *args, **kwargs):
         super(ServiceCategoryUpdateForm, self).__init__(*args, **kwargs)
@@ -139,14 +139,14 @@ class ServiceCategoryUpdateForm(BaseForm, forms.ModelForm):
 
 
 class ServiceCategoryCreateForm(BaseForm, forms.ModelForm):
-    codename = forms.CharField(label=ServiceCategoryHelpTexts.codename)
+#    codename = forms.CharField(label=ServiceCategoryHelpTexts.codename)
     #codename = forms.CharField(label="Кодовое короткое название услуги")
     #caption = forms.CharField(label="Название услуги")
     #requirements = forms.CharField(label="Требования")
-    price_type = forms.ChoiceField(choices=PRICE_CHOICES, label="Ценообразование")
-    description = forms.CharField(label="Описание")
-    link_agreement = forms.CharField(label="Ссылка на договор-оферту")
-    metaservice_comission = forms.FloatField(label="Комиссия Сервиса")
+#    price_type = forms.ChoiceField(choices=PRICE_CHOICES, label="Ценообразование")
+#    description = forms.CharField(label="Описание")
+#    link_agreement = forms.CharField(label="Ссылка на договор-оферту")
+#    metaservice_comission = forms.FloatField(label="Комиссия Сервиса")
 #    is_global = forms.BooleanField(label="Доступно во всех сервисах", required=False)
 #    is_visible = forms.BooleanField(label="Доступно для планирования цепочек во всех сервисах", required=False)
 
@@ -283,10 +283,10 @@ class PartnerInformationCreateForm(forms.ModelForm):
 
 
 class ProviderCreateForm(forms.ModelForm):
-    gap = forms.CharField(label="Промежуток времени до готовности приступить к выполнению")
+#    gap = forms.CharField(label="Промежуток времени до готовности приступить к выполнению")
     #gap = forms.DateTimeField(label="Промежуток времени до готовности приступить к выполнению")
-    location_type = forms.CharField(label="Способ отображения геолокации")
-    default_location = forms.CharField(label="Геолокация по умолчанию")
+#    location_type = forms.CharField(label="Способ отображения геолокации")
+#    default_location = forms.CharField(label="Геолокация по умолчанию")
     #resource_type = forms.ChoiceField(choices=RESOURCE_TYPE_CHOICES, label="Необходимый тип ресурса")
     #requirements = forms.CharField(label="Требования")
 

+ 100 - 22
sharix_admin/tables.py

@@ -5,6 +5,7 @@ from django.contrib.auth import get_user_model
 from django.utils.html import format_html
 from django.utils.translation import gettext_lazy as _
 
+from dbsynce.lib.dicts import *
 
 class TransactionsWalletTable(tables.Table):
     # id = tables.Column(order_by=True)
@@ -164,15 +165,17 @@ class OrdersTable(tables.Table):
                 "td": {"width": "5%"}
         }
     )
-    title = tables.Column(
-        #'sharix_admin:order_detail',
-        #args=[tables.A('pk')],
+    title = tables.LinkColumn(
+        'sharix_admin:order_detail',
+        args=[tables.A('pk')],
         verbose_name=_('Title'), 
         attrs={
             "td": {"width": "20%"}
         }
     )
     status = tables.Column(
+        accessor='status',
+        #accessor='status_by_code(status)',
         verbose_name=_('Status'), 
         attrs={
             "td": {"width": "15%"}
@@ -221,7 +224,9 @@ class OrdersTable(tables.Table):
             'company')
 
 class ResourcesTable(tables.Table):
-    id = tables.Column(
+    id = tables.LinkColumn(
+        'sharix_admin:resource_detail',
+        args=[tables.A('pk')],
         verbose_name=_('ID'),
         attrs={
             "td": {"width": "5%"}
@@ -243,11 +248,32 @@ class ResourcesTable(tables.Table):
             "td": {"width": "20%"}
         }
     )
+
+    resource_type = tables.Column(
+        attrs={
+            'th': {'scope': 'col'},
+            "td": {"width": "20%"}
+        }
+    )
+
+    edit = tables.LinkColumn(
+        'sharix_admin:resource/edit/',
+        verbose_name='',
+        orderable=False,
+        text="E",
+        args=[tables.A('pk')],
+        attrs={
+            'th': {'scope': 'col'},
+            "td": {"class": "edit_col"},
+            "td": {"width": "10%"}
+        }
+    )
+
     check = tables.BooleanColumn(
         verbose_name='',
         attrs={
             'th': {'scope': 'col'},
-            "td": {"width": "40%"}
+            "td": {"width": "10%"}
         }
     )
 
@@ -259,7 +285,6 @@ class ResourcesTable(tables.Table):
         }
         exclude = (
             'id_metaservice',
-            'resource_type',
             'requirements',
             'is_global',
             'is_visible',
@@ -279,7 +304,9 @@ class ResourcesTable(tables.Table):
             )
 
 class ProvidersTable(tables.Table):
-    id = tables.Column(
+    id = tables.LinkColumn(
+        'sharix_admin:provider_detail',
+        args=[tables.A('pk')],
         verbose_name=_('ID'),
         attrs={
             "td": {"width": "5%"}
@@ -294,12 +321,46 @@ class ProvidersTable(tables.Table):
         }
     )
     status = tables.Column(
-        verbose_name=_('Status'),
+        #verbose_name=_('Status'),
         attrs={
             'th': {'scope': 'col'},
             "td": {"width": "20%"}
         }
     )
+    service = tables.LinkColumn(
+        'sharix_admin:service_tariff_detail',
+        args=[tables.A('service.pk')],
+        accessor='service.caption',
+        verbose_name=_('Service'),
+        attrs={
+            'th': {'scope': 'col'},
+            "td": {"width": "20%"}
+        }
+    )
+
+    resource = tables.LinkColumn(
+        'sharix_admin:resource_detail',
+        args=[tables.A('resource.pk')],
+        accessor='resource.resource_type',
+        verbose_name=_('Resource'),
+        attrs={
+            'th': {'scope': 'col'},
+            "td": {"width": "20%"}
+        }   
+    )
+
+    #edit = tables.LinkColumn(
+    #    'sharix_admin:provider/edit/',
+    #    verbose_name='',
+    #    orderable=False,
+    #    text="E",
+    #    args=[tables.A('pk')],
+    #    attrs={
+    #        'th': {'scope': 'col'},
+    #        "td": {"class": "edit_col"}
+    #    }
+    #)
+
     check = tables.BooleanColumn(
         verbose_name='',
         attrs={
@@ -323,7 +384,8 @@ class ProvidersTable(tables.Table):
             'location_type',
             'default_location',
             'is_global',
-            'is_visible'
+            'is_visible',
+            'ticket_status',
         )
 
     def render_check(self, value, record):
@@ -347,7 +409,7 @@ class ServiceTariffsTable(tables.Table):
         }
     )
     codename = tables.LinkColumn(
-        'sharix_admin:service_tariff/edit/',
+        'sharix_admin:service_tariff_detail',
         verbose_name=_('Кодовое название'),
         text=lambda record: record.caption,
         args=[tables.A('pk')],
@@ -358,8 +420,8 @@ class ServiceTariffsTable(tables.Table):
     )
     #service_category = tables.Column(
     service_category = tables.LinkColumn(
-        'sharix_admin:service_category/edit/',
-        verbose_name=_('Название схемы услуги'),
+        'sharix_admin:service_category_detail',
+        verbose_name=_('Название Типа услуги'),
         text=lambda record: record.service_category.caption,
         args=[tables.A('pk')],
         attrs={
@@ -368,7 +430,7 @@ class ServiceTariffsTable(tables.Table):
         }
     )
     resource_type = tables.Column(
-        verbose_name=_('Тип ресурса'),
+        #verbose_name=_('Тип ресурса'),
         attrs={
             'th': {'scope': 'col'},
             "td": {"width": "20%"}
@@ -376,13 +438,25 @@ class ServiceTariffsTable(tables.Table):
     )
 
     company_comission = tables.Column(
-        verbose_name=_('Комиссия партнера'),
+        #verbose_name=_('Комиссия партнера'),
         attrs={
             'th': {'scope': 'col'},
             "td": {"width": "20%"}
         }
     )
 
+    edit = tables.LinkColumn(
+        'sharix_admin:service_tariff/edit/',
+        verbose_name='',
+        orderable=False,
+        text="E",
+        args=[tables.A('pk')],
+        attrs={
+            'th': {'scope': 'col'},
+            "td": {"class": "edit_col"}
+        }
+    )
+
     check = tables.BooleanColumn(
         verbose_name=_('Activity'),
         orderable=False,
@@ -422,10 +496,14 @@ class ServiceTariffsTable(tables.Table):
 
 
 class ServiceCategoriesTable(tables.Table):
-    id = tables.Column(attrs={"td": {"width": "50px"}})
+    id = tables.LinkColumn(
+        'sharix_admin:service_category_detail',
+        args=[tables.A('pk')],
+        attrs={"td": {"width": "50px"}}
+        )
 
     caption = tables.LinkColumn(
-        'sharix_admin:service_category/edit/',
+        'sharix_admin:service_category_detail',
         verbose_name='Услуга',
         orderable=False,
         text=lambda record: record.caption,
@@ -449,11 +527,11 @@ class ServiceCategoriesTable(tables.Table):
     #        "td": {"class": "name_col"}
     #    }
     #)
-    description = tables.LinkColumn(
-        'sharix_admin:service_category/edit/',
-        orderable=False, verbose_name='Описание',
-        text=lambda record: record.description,
-        args=[tables.A('pk')],
+    description = tables.Column(
+        orderable=False,
+        #verbose_name='Описание',
+        #text=lambda record: record.description,
+        #args=[tables.A('pk')],
         attrs={
             "a": {"style": "pointer-events: none;"},
             'th': {'scope': 'col'},
@@ -462,7 +540,7 @@ class ServiceCategoriesTable(tables.Table):
     )
 
     metaservice_comission = tables.Column(
-        verbose_name=_('Комиссия Сервиса'),
+        #verbose_name=_('Комиссия Сервиса'),
         attrs={
             'th': {'scope': 'col'},
             "td": {"width": "15%"}}

+ 16 - 10
sharix_admin/templates/sharix_admin/order_detail.html

@@ -11,20 +11,26 @@
         <h5 class="card-title fw-bold mb-4">{{ order.title }}</h5>
 
         <ul class="list-style-none">
-		<li><b>{{ orders_help_texts.note }}</b> {{ order.note }}</li>
+		<li><b>{{ captions.status }}</b> {{ order.status }}</li>
+		<li><b>{{ captions.asap }}</b> {{ order.asap }}</li>
+		<li><b>{{ captions.note }}</b> {{ order.note }}</li>
+		<li><b>{{ captions.time_created }}</b> {{ order.time_created }}</li>
+		<li><b>{{ captions.time_placed }}</b> {{ order.time_placed }}</li>
+		<li><b>{{ captions.time_start }}</b> {{ order.time_start }}</li>
+		<li><b>{{ captions.time_start_real }}</b> {{ order.time_start_real }}</li>
+		<li><b>{{ captions.time_finish_real }}</b> {{ order.time_finish_real }}</li>
+		<li><b>{{ captions.real_price }}</b> {{ order.real_price }}</li>
+		<li><b>{{ captions.predicted_price }}</b> {{ order.predicted_price }}</li>
+		<li><b>{{ captions.service }}</b> {{ order.service.caption }}</li>
+		<li><b>{{ captions.service_category }}</b> {{ order.service_category.caption }}</li>
+		<li><b>{{ captions.client }}</b> {{ order.client.user.get_full_name }}</li>
+		<li><b>{{ captions.receiver }}</b> {{ order.receiver.get_full_name }}</li>
+		<li><b>{{ captions.company }}</b> {{ order.company.legal_name }}</li>
+		<li><b>{{ captions.provider }}</b> {{ order.provider.user.get_full_name }}</li>
 		{% comment%}
 
 		<li><b>Юр. адрес</b> {{ company.address }}</li>
             
-	    {% comment %}
-            <!-- FIXME: Не настроено -->
-            <li><b>НДС</b> Не платит</li>
-	    {% endcomment %}
-            
-            <li><b>ИНН</b> {{ company.inn }}</li>
-            <li><b>ОГРН</b> {{ company.ogrn }}</li>
-            <li><b>Р/c</b> {{ company.rs }}</li>
-            <li><b>К/c</b> {{ company.ks }}</li>
             <li><b>БИК</b> {{ company.bik }}</li>
             <li><b>Банк</b> {{ company.bank_name }}</li>
 	    {% endcomment %}

+ 13 - 14
sharix_admin/templates/sharix_admin/partner_detail.html

@@ -11,20 +11,19 @@
         <h5 class="card-title fw-bold mb-4">{{ company.legal_name }}</h5>
 
         <ul class="list-style-none">
-            <li><b>Представитель</b> {{ company.repr.get_full_name }}</li>
-            <li><b>Юр. адрес</b> {{ company.address }}</li>
-            
-	    {% comment %}
-            <!-- FIXME: Не настроено -->
-            <li><b>НДС</b> Не платит</li>
-	    {% endcomment %}
-            
-            <li><b>ИНН</b> {{ company.inn }}</li>
-            <li><b>ОГРН</b> {{ company.ogrn }}</li>
-            <li><b>Р/c</b> {{ company.rs }}</li>
-            <li><b>К/c</b> {{ company.ks }}</li>
-            <li><b>БИК</b> {{ company.bik }}</li>
-            <li><b>Банк</b> {{ company.bank_name }}</li>
+		<li><b>{{ captions.repr }}</b> {{ company.repr.get_full_name }}</li>
+		<li><b>{{ captions.address }}</b> {{ company.address }}</li>
+		<li><b>{{ captions.status }}</b> {{ company.status }}</li>
+		<li><b>{{ captions.inn }}</b> {{ company.inn }}</li>
+		<li><b>{{ captions.kpp }}</b> {{ company.kpp }}</li>
+		<li><b>{{ captions.ogrn }}</b> {{ company.ogrn }}</li>
+		
+{% if "METASERVICE-ADMIN" in user_groups %}
+		<li><b>{{ captions.bank_name }}</b> {{ company.bank_name }}</li>
+		<li><b>{{ captions.bik }}</b> {{ company.bik }}</li>
+		<li><b>{{ captions.rs }}</b> {{ company.rs }}</li>
+		<li><b>{{ captions.ks }}</b> {{ company.ks }}</li>
+{% endif %} 
         </ul>
     </div>
     {% comment %}    <a class="btn btn-primary btn-edit" href="{% url "sharix_admin:partner/edit" %}">

+ 8 - 11
sharix_admin/templates/sharix_admin/provider_detail.html

@@ -3,23 +3,20 @@
 
 {% block view %}
 <p class="description_service">
-Тут представлена информация о поставщике {{ provider.user }} {{ provider. service }}.
+Тут представлена информация о поставщике {{ provider.user }} {{provider.service }}.
 </p>
 
 <div class="card w-100 mb-4">
     <div class="card-body position-relative">
         <h5 class="card-title fw-bold mb-4">{{ provider.user }}</h5>
-	{% comment %}
+	
         <ul class="list-style-none">
-            <li><b>Представитель</b> {{ company.repr.get_full_name }}</li>
-            <li><b>Юр. адрес</b> {{ company.address }}</li>
-            
-            <li><b>ИНН</b> {{ company.inn }}</li>
-            <li><b>ОГРН</b> {{ company.ogrn }}</li>
-            <li><b>Р/c</b> {{ company.rs }}</li>
-            <li><b>К/c</b> {{ company.ks }}</li>
-            <li><b>БИК</b> {{ company.bik }}</li>
-            <li><b>Банк</b> {{ company.bank_name }}</li>
+		<li><b>{{ caption.status }}</b> {{ provider.status }}</li>
+		<li><b>{{ caption.service_status }}</b> {{ provider.service_status }}</li>
+		<li><b>{{ caption.location_type }}</b> {{ provider.location_type }}</li>
+		<li><b>{{ caption.default_location }}</b> {{ provider.default_location }}</li>
+		<li><b>{{ caption.service }}</b> {{ provider.service.caption }}</li>
+		<li><b>{{ caption.resource }}</b> {{ provider.resource.resource_type }}</li>
         </ul>
 	{% endcomment %}
     </div>

+ 52 - 0
sharix_admin/templates/sharix_admin/resource_detail.html

@@ -0,0 +1,52 @@
+{% extends 'sharix_admin/base_admin.html' %}
+{% load static %}
+
+{% block view %}
+<p class="description_service">
+Тут представлена информация о Ресурсе {{ resource.id }}. Редактировать информацию может только представитель Партнера Сервиса с ролью PARTNER ADMIN.
+</p>
+
+<div class="card w-100 mb-4">
+    <div class="card-body position-relative">
+        <h5 class="card-title fw-bold mb-4">{{ resource.id }}</h5>
+
+        <ul class="list-style-none">
+                <li><b>{{ captions.user }}</b> {{ resource.user.get_full_name }}</li>
+                <li><b>{{ captions.status }}</b> {{ resource.status }}</li>
+                <li><b>{{ captions.resource_type }}</b> {{ resource.resource_type }}</li>
+
+        </ul>
+    </div>
+    {% comment %}    <a class="btn btn-primary btn-edit" href="{% url "sharix_admin:partner/edit" %}">
+            <img src="{% static 'sharix_admin/img/pencil.svg' %}">
+    </a>
+    {% endcomment %}
+</div>
+
+{% comment %}
+<h6 class="mb-4">Документы</h6>
+    <ul class="list-style-none">
+        {% for doc in docs %}
+            <li class="d-flex justify-content-between">
+                <div class="d-flex align-items-center">
+                    {% if doc.ticket_status and doc.status == "deactivated" %}
+                        <i class="fa-solid fa-clock-rotate-left me-2 no-user-select fs-4 text-warning"></i>
+                    {% elif doc.status == "activated" %}
+                        <i class="fa-solid fa-check me-2 no-user-select fs-4 text-success"></i>
+                    {% else %}
+                        <i class="fa-regular fa-file me-2 no-user-select fs-4 text-primary"></i>
+                    {% endif %}
+
+                    {{ doc.get_doc_type_display }}
+                </div>
+
+                {% if doc.ticket_status %}
+                    <a class="btn btn-sm btn-outline-primary" href="{% url "sharix_admin:partner_doc" doc.doc_type %}">Посмотреть</a>
+                {% else %}
+                    <a class="btn btn-sm btn-primary" href="{% url "sharix_admin:partner_doc_upload" doc.doc_type %}">Загрузить</a>
+                {% endif %}
+            </li>
+        {% endfor %}
+    </ul>
+{% endcomment %}
+{% endblock %}

+ 6 - 12
sharix_admin/templates/sharix_admin/service_category_detail.html

@@ -8,20 +8,14 @@
 
 <div class="card w-100 mb-4">
     <div class="card-body position-relative">
-        <h5 class="card-title fw-bold mb-4">{{ service_category.caprion }}</h5>
+        <h5 class="card-title fw-bold mb-4">{{ service_category.caption }}</h5>
 
         <ul class="list-style-none">
-            <li><b>Кодовое название</b> {{ service_category.codename }}</li>
-	    {% comment %}
-	    <li><b>Юр. адрес</b> {{ company.address }}</li>
-            
-            <li><b>ИНН</b> {{ company.inn }}</li>
-            <li><b>ОГРН</b> {{ company.ogrn }}</li>
-            <li><b>Р/c</b> {{ company.rs }}</li>
-            <li><b>К/c</b> {{ company.ks }}</li>
-            <li><b>БИК</b> {{ company.bik }}</li>
-            <li><b>Банк</b> {{ company.bank_name }}</li>
-	    {% endcomment %}
+		<li><b>{{ captions.status }}</b> {{ service_category.status }}</li>
+		<li><b>{{ captions.description }}</b> {{ service_category.description }}</li>
+		<li><b>{{ captions.link_agreement }}</b> {{ service_category.link_agreement }}</li>
+		<li><b>{{ captions.price_type }}</b> {{ service_category.price_type }}</li>
+		<li><b>{{ captions.metaservice_comission }}</b> {{ service_category.metaservice_comission }}</li>
         </ul>
     </div>
     {% comment %}    <a class="btn btn-primary btn-edit" href="{% url "sharix_admin:partner/edit" %}">

+ 9 - 9
sharix_admin/templates/sharix_admin/service_detail.html

@@ -11,15 +11,15 @@
         <h5 class="card-title fw-bold mb-4">{{ service.caption }}</h5>
 
         <ul class="list-style-none">
-            <li><b>Кодовое название</b> {{ service.codename }}</li>
-	    {% comment %} 
-            <li><b>ИНН</b> {{ company.inn }}</li>
-            <li><b>ОГРН</b> {{ company.ogrn }}</li>
-            <li><b>Р/c</b> {{ company.rs }}</li>
-            <li><b>К/c</b> {{ company.ks }}</li>
-            <li><b>БИК</b> {{ company.bik }}</li>
-            <li><b>Банк</b> {{ company.bank_name }}</li>
-	    {% endcomment %}
+		<li><b>{{ captions.status }}</b> {{ service.status }}</li>
+		<li><b>{{ captions.service_category }}</b> {{ service.service_category }}</li>
+		<li><b>{{ captions.description }}</b> {{ service.description }}</li>
+		<li><b>{{ captions.resource_type }}</b> {{ service.resource_type }}</li>
+		<li><b>{{ captions.price_km }}</b> {{ service.price_km }}</li>
+		<li><b>{{ captions.price_min }}</b> {{ service.price_min }}</li>
+		<li><b>{{ captions.price_amount }}</b> {{ service.price_amount }}</li>
+		<li><b>{{ captions.company }}</b> {{ service.company }}</li>
+		<li><b>{{ captions.company_comission }}</b> {{ service.company_comission }}</li>
         </ul>
     </div>
     {% comment %}    <a class="btn btn-primary btn-edit" href="{% url "sharix_admin:partner/edit" %}">

+ 3 - 3
sharix_admin/urls.py

@@ -54,7 +54,7 @@ urlpatterns = [
     path('resources/', login_required(ResourcesListView.as_view()), name='resources'),
     path('resource/<int:pk>', login_required(ResourceDetailView.as_view()), name='resource_detail'),
     path('resource/add/', login_required(ResourceCreate.as_view()), name='resource/add/'),
-    path('resource/edit/<int:pk>', login_required(ResourceEditView.as_view()), name='resource/edit'),
+    path('resource/edit/<int:pk>', login_required(ResourceEditView.as_view()), name='resource/edit/'),
     # path('resource/doc/<str:doc_code>/upload', login_required(ResourceDocUploadView.as_view()),
     #      name='partner_doc_upload'),
     # path('resource/doc/<str:doc_code>', login_required(ResourceDocView.as_view()), name='resource_doc'),
@@ -62,7 +62,7 @@ urlpatterns = [
 
     path('providers/', login_required(ProvidersListView.as_view()), name='providers'),
     path('provider/<int:pk>', login_required(ProviderDetailView.as_view()), name='provider_detail'),
-    # path('provider/edit/<int:pk>', login_required(ProviderEditView.as_view()), name='provider/edit'),
+    #path('provider/edit/<int:pk>', login_required(ProviderEditView.as_view()), name='provider/edit'),
     path('provider/add', login_required(ProviderCreate.as_view()), name='provider/add'),
     # path('provider/doc/<str:doc_code>/upload', login_required(ProviderDocUploadView.as_view()),
     #      name='partner_doc_upload'),
@@ -79,7 +79,7 @@ urlpatterns = [
     path('service_tariff/change_status/', change_service_status, name='service_tariff/change_status'),
 
     path('service_categories/', login_required(ServiceCategoriesListView.as_view()), name='service_categories'),
-    path('service_category/<int:pk>', login_required(ServiceCategoryDetailView.as_view()), name='service_category'),
+    path('service_category/<int:pk>', login_required(ServiceCategoryDetailView.as_view()), name='service_category_detail'),
     path('service_category/edit/<int:pk>', login_required(ServiceCategoryUpdateView.as_view()), name='service_category/edit/'),
     path('service_category/add/', login_required(ServiceCategoryCreate.as_view()), name='service_category/add/'),
     path('service_category/change_status/', change_service_category_status, name='service_category/change_status'),

+ 11 - 11
sharix_admin/views/order.py

@@ -23,6 +23,7 @@ from django.db.models import Q
 from django.contrib.auth import get_user_model
 
 from dbsynce.docs.database.orders import Orders as OrdersHelpTexts
+from dbsynce.docs.verbose_names.orders import Orders as OrdersVerboseNames
 
 class OrdersListView(BaseView, SingleTableView):
 #class OrdersListView(UserPassesTestMixin, SingleTableView):
@@ -146,14 +147,13 @@ class OrderDetailView(BaseView, DetailView):
         except Order.DoesNotExist:
             raise Http404('Company does not exist')
 
-        return render(request, template_name, context={'order': order, 'orders_help_texts': OrdersHelpTexts})
-
-#class OrderDetailView(BaseView, DetailView):
-#    model = Orders
-#    template_name = 'sharix_admin/order.html'
-#    context_object_name = 'order'
-#
-#    def get_context_data(self, **kwargs):
-#        context = super().get_context_data(**kwargs)
-#        context['title'] = _('Order Details')
-#        return context
+        return render(request, template_name, context={
+            'orders_help_texts': OrdersHelpTexts,
+            'captions': OrdersVerboseNames,
+            })
+
+    def get_context_data(self, **kwargs):
+        context = super().get_context_data(**kwargs)
+        context['orders_help_texts'] = OrdersHelpTexts
+        context['captions'] = OrdersVerboseNames
+        return context

+ 15 - 1
sharix_admin/views/partner.py

@@ -23,6 +23,9 @@ from django_tables2 import SingleTableView
 from sharix_admin.tables import PartnersTable
 from sharix_admin.utils import group_required
 
+from dbsynce.docs.database.company import Company as CompanyHelpTexts
+from dbsynce.docs.verbose_names.company import Company as CompanyVerboseNames
+
 class MyPartnerBaseView(BaseView):
     page_name = 'partner'
 
@@ -44,7 +47,18 @@ class PartnerDetailView(BaseView, DetailView):
         except Company.DoesNotExist:
             raise Http404('Company does not exist')
 
-        return render(request, template_name, context={'company': company})
+        return render(request, template_name, context={
+            'help_texts': CompanyHelpTexts,
+            'captions': CompanyVerboseNames,
+            })
+
+    def get_context_data(self, **kwargs):
+        context = super().get_context_data(**kwargs)
+        context['help_texts'] = CompanyHelpTexts
+        context['captions'] = CompanyVerboseNames
+        return context
+
+
     
 
 class MyPartnerDetailView(MyPartnerBaseView, DetailView):

+ 16 - 1
sharix_admin/views/provider.py

@@ -29,6 +29,9 @@ from dbsynce.lib.dicts import *
 from sharix_admin.forms import ProviderCreateForm
 #from sharix_admin.forms import ProviderUpdateForm
 
+from dbsynce.docs.database.provider import Provider as ProviderHelpTexts
+from dbsynce.docs.verbose_names.provider import Provider as ProviderVerboseNames
+
 class ProviderCreate(BaseView, FormView):
     form_class = ProviderCreateForm
     template_name = "sharix_admin/provider_form.html"
@@ -151,4 +154,16 @@ class ProviderDetailView(BaseView, DetailView):
         except Provider.DoesNotExist:
             raise Http404('Provider does not exist')
 
-        return render(request, template_name, context={'provider': provider})
+        return render(request, template_name, context={
+            'help_texts': ProviderHelpTexts,
+            'captions': ProviderVerboseNames,
+            })
+
+    def get_context_data(self, **kwargs):
+        context = super().get_context_data(**kwargs)
+        context['help_texts'] = ProviderHelpTexts
+        context['captions'] = ProviderVerboseNames
+        return context
+
+
+

+ 15 - 3
sharix_admin/views/resource.py

@@ -25,6 +25,9 @@ from dbsynce.lib.data import *
 from .base import BaseView
 from django.db.models import Q
 
+from dbsynce.docs.database.resource import Resource as ResourceHelpTexts
+from dbsynce.docs.verbose_names.resource import Resource as ResourceVerboseNames
+
 class ResourcesListView(BaseView, UserPassesTestMixin, SingleTableView):
     table_class = ResourcesTable
     queryset = Resource.objects.all()
@@ -133,8 +136,8 @@ class ResourceCreate(BaseView, FormView):
     page_name = 'resource/add/'
 
     # Проверяем не состояит ли текущий пользователь в группе PARTNER-ADMIN
-    def test_func(self):
-        return not "PARTNER-ADMIN" in self.user_groups
+#    def test_func(self):
+#        return not "PARTNER-ADMIN" in self.user_groups
 
     def form_valid(self, form):
         with transaction.atomic():
@@ -190,5 +193,14 @@ class ResourceDetailView(BaseView, DetailView):
         except Resource.DoesNotExist:
             raise Http404('Provider does not exist')
 
-        return render(request, template_name, context={'resource': resource})
+        return render(request, template_name, context={
+            'help_texts': ResourceHelpTexts,
+            'captions': ResourceVerboseNames,
+            })
+
+    def get_context_data(self, **kwargs):
+        context = super().get_context_data(**kwargs)
+        context['help_texts'] = ResourceHelpTexts
+        context['captions'] = ResourceVerboseNames
+        return context
 

+ 12 - 1
sharix_admin/views/service.py

@@ -28,6 +28,9 @@ from tickets.models import Ticket, TicketList
 from sharix_admin.utils import *
 from dbsynce.lib.data import *
 
+from dbsynce.docs.database.service import Service as ServiceHelpTexts
+from dbsynce.docs.verbose_names.service import Service as ServiceVerboseNames
+
 class ServiceTariffCreate(BaseView, FormView):
     form_class = ServiceTariffCreateForm
     template_name = "sharix_admin/service_tariff_form.html"
@@ -243,5 +246,13 @@ class ServiceTariffDetailView(BaseView, DetailView):
         except Service.DoesNotExist:
             raise Http404('Service does not exist')
 
-        return render(request, template_name, context={'service': service})
+        return render(request, template_name, context={
+            'help_texts': ServiceHelpTexts,
+            'captions': ServiceVerboseNames,
+            })
 
+    def get_context_data(self, **kwargs):
+        context = super().get_context_data(**kwargs)
+        context['help_texts'] = ServiceHelpTexts
+        context['captions'] = ServiceVerboseNames
+        return context

+ 12 - 1
sharix_admin/views/service_category.py

@@ -19,6 +19,9 @@ from django.contrib import messages
 from django.db.models import Q
 from django.contrib.auth.mixins import UserPassesTestMixin
 
+from dbsynce.docs.database.service_category import ServiceCategory as ServiceCategoryHelpTexts
+from dbsynce.docs.verbose_names.service_category import ServiceCategory as ServiceCategoryVerboseNames
+
 class ServiceCategoryCreate(BaseView, FormView):
     form_class = ServiceCategoryCreateForm
     template_name = "sharix_admin/service_category_form.html"
@@ -260,6 +263,14 @@ class ServiceCategoryDetailView(BaseView, DetailView):
         except ServiceCategory.DoesNotExist:
             raise Http404('ServiceCategory does not exist')
 
-        return render(request, template_name, context={'service_category': service_category})
+        return render(request, template_name, context={
+            'help_texts': ServiceCategoryHelpTexts,
+            'captions': ServiceCategoryVerboseNames,
+            })
 
+    def get_context_data(self, **kwargs):
+        context = super().get_context_data(**kwargs)
+        context['help_texts'] = ServiceCategoryHelpTexts
+        context['captions'] = ServiceCategoryVerboseNames
+        return context