Bladeren bron

PartnerDetail View added

ShariX Developer 3 weken geleden
bovenliggende
commit
70cf01a26d
3 gewijzigde bestanden met toevoegingen van 86 en 7 verwijderingen
  1. 62 0
      sharix_admin/templates/sharix_admin/partner_detail.html
  2. 1 1
      sharix_admin/urls.py
  3. 23 6
      sharix_admin/views/partner.py

+ 62 - 0
sharix_admin/templates/sharix_admin/partner_detail.html

@@ -0,0 +1,62 @@
+{% extends 'sharix_admin/base_admin.html' %}
+{% load static %}
+
+{% block view %}
+<p class="description_service">
+Тут представлена информация о Партнере Сервиса {{ company.legal_name }}. Редактировать информацию может только представитель Партнера Сервиса с ролью PARTNER ADMIN.
+</p>
+
+<div class="card w-100 mb-4">
+    <div class="card-body position-relative">
+        <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>
+        </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 %}

+ 1 - 1
sharix_admin/urls.py

@@ -43,7 +43,7 @@ urlpatterns = [
     # Набор страниц по модели Партнер
     path('partners/', login_required(PartnersListView.as_view()), name='partners'),
     path('partner/', login_required(PartnerDetailView.as_view()), name='partner_detail_my'),
-    path('partner/<str:pk>', login_required(PartnerDetailView.as_view()), name='partner_detail'),
+    path('partner/<int:pk>', login_required(PartnerDetailView.as_view()), name='partner_detail'),
     path('partner/edit/<int:pk>', login_required(PartnerEditView.as_view()), name='partner/edit'),
     path('partner/doc/<str:doc_code>/upload', login_required(PartnerDocUploadView.as_view()),
          name='partner_doc_upload'),

+ 23 - 6
sharix_admin/views/partner.py

@@ -23,15 +23,31 @@ from django_tables2 import SingleTableView
 from sharix_admin.tables import PartnersTable
 from sharix_admin.utils import group_required
 
-class PartnerBaseView(BaseView):
+class MyPartnerBaseView(BaseView):
     page_name = 'partner'
 
     # Проверяем состояит ли текущий пользователь в группе PARTNER-ADMIN
     def test_func(self):
         return "PARTNER-ADMIN" in self.user_groups
 
+class PartnerDetailView(BaseView, DetailView):
+    model = Company 
+    template_name = 'sharix_admin/partner_detail.html'
+    #template_name = 'sharix_admin/partner.html'
+    context_object_name = 'company'
+    page_title = 'О партнере'
+    page_name = 'partner_detail'
+
+    def detail_view(request, primary_key):
+        try:
+            company = Company.objects.get(pk=primary_key)
+        except Company.DoesNotExist:
+            raise Http404('Company does not exist')
+
+        return render(request, template_name, context={'company': company})
+    
 
-class PartnerDetailView(PartnerBaseView, DetailView):
+class MyPartnerDetailView(MyPartnerBaseView, DetailView):
     model = Company
     template_name = 'sharix_admin/partner.html'
     context_object_name = 'company'
@@ -64,7 +80,7 @@ class PartnerDetailView(PartnerBaseView, DetailView):
         return context
 
 
-class PartnerEditView(PartnerBaseView, FormView):
+class PartnerEditView(MyPartnerBaseView, FormView):
     template_name = 'sharix_admin/partner_edit.html'
     form_class = CompanyForm
     success_url = reverse_lazy('partner_detail')
@@ -93,7 +109,7 @@ class PartnerEditView(PartnerBaseView, FormView):
         return super().form_valid(form)
 
 
-class PartnerDocUploadView(PartnerBaseView, FormView):
+class PartnerDocUploadView(MyPartnerBaseView, FormView):
     # FIXME: Загрузка новых документов должна деактивировать текущего партнера (предварительно это работа обработчиков)
     template_name = 'sharix_admin/partner/doc_upload.html'
     form_class = DocumentUploadForm
@@ -148,7 +164,8 @@ class PartnerDocUploadView(PartnerBaseView, FormView):
         return super().form_valid(form)
 
 
-class PartnerDocView(PartnerBaseView, DetailView):
+class PartnerDocView(BaseView, DetailView):
+#class PartnerDocView(PartnerBaseView, DetailView):
     model = Documents
     template_name = 'sharix_admin/partner/doc.html'
     context_object_name = 'doc'
@@ -180,7 +197,7 @@ class PartnerDocView(PartnerBaseView, DetailView):
         return context
 
 
-class PartnersListView(PartnerBaseView, UserPassesTestMixin, SingleTableView):
+class PartnersListView(BaseView, UserPassesTestMixin, SingleTableView):
     page_title = _('Партнеры')
     page_name = 'partners'
     table_class = PartnersTable