浏览代码

fixed resource details and provider details pages

ShariX Developer 1 天之前
父节点
当前提交
f453c0edef

+ 39 - 5
sharix_admin/tables.py

@@ -224,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%"}
@@ -246,6 +248,14 @@ class ResourcesTable(tables.Table):
             "td": {"width": "20%"}
         }
     )
+
+    resource_type = tables.Column(
+        attrs={
+            'th': {'scope': 'col'},
+            "td": {"width": "20%"}
+        }
+    )
+
     check = tables.BooleanColumn(
         verbose_name='',
         attrs={
@@ -262,7 +272,6 @@ class ResourcesTable(tables.Table):
         }
         exclude = (
             'id_metaservice',
-            'resource_type',
             'requirements',
             'is_global',
             'is_visible',
@@ -282,7 +291,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%"}
@@ -297,12 +308,34 @@ 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%"}
+        }   
+    )
+
     check = tables.BooleanColumn(
         verbose_name='',
         attrs={
@@ -326,7 +359,8 @@ class ProvidersTable(tables.Table):
             'location_type',
             'default_location',
             'is_global',
-            'is_visible'
+            'is_visible',
+            'ticket_status',
         )
 
     def render_check(self, value, record):

+ 8 - 8
sharix_admin/templates/sharix_admin/partner_detail.html

@@ -13,16 +13,16 @@
         <ul class="list-style-none">
 		<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.address }}</li>
-		<li><b>{{ captions.inn }}</b> {{ company.address }}</li>
-		<li><b>{{ captions.kpp }}</b> {{ company.address }}</li>
-		<li><b>{{ captions.ogrn }}</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.address }}</li>
-		<li><b>{{ captions.bik }}</b> {{ company.address }}</li>
-		<li><b>{{ captions.rs }}</b> {{ company.address }}</li>
-		<li><b>{{ captions.ks }}</b> {{ company.address }}</li>
+		<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>

+ 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 %}

+ 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
+
+
+

+ 13 - 1
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()
@@ -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