Преглед изворни кода

partner page was made viewable

ShariX Developer пре 10 часа
родитељ
комит
8018a58541

+ 21 - 2
sharix_admin/templates/sharix_admin/partners.html

@@ -3,8 +3,27 @@
 
 {% block view %}
 {% block contenthome %}
-  <p class="description_service">Это система управления государством, источником власти в которой является сам народ. Именно народ решает, какие законы и нормы необходимы для гармоничного существования и развития государства. Таким образом, каждый человек в демократическом обществе 
-    Получает определенный набор свобод и обязательств сформированных с учетом интересов всего сообщества. Исходя из вышесказанного, можно заключить, что демократия – это возможность для каждого человека свободно участвовать в непосредственном управлении своим государством, обществом и личной судьбой в конечном счете.</p>
+  <p class="description_service">
+Это список партнеров Сервиса. Просто посмотреть.
+</p>
+
+<div class="dropdown mb-3">
+        <button class="btn btn-secondary dropdown-toggle" type="button" id="howToUseDropdown" data-bs-toggle="dropdown" aria-expanded="false">
+            Как пользоваться?
+        </button>
+        <div class="dropdown-menu" aria-labelledby="howToUseDropdown">
+            <p class="dropdown-item-text custom-dropdown-text">
+	    Активация происходит через заявки, отправленные на платформу, или, если Сервис не подключен к платформе - вручную.
+	    </p>
+        </div>
+</div>
+
+    <div class="mb-3 d-flex justify-content-between align-items-center">
+      <form method="get" action="" class="d-flex align-items-center">
+          <input type="text" name="q" class="form-control" placeholder="Поиск" value="{{ request.GET.q }}" style="width: 300px; height: 38px;">
+          <button type="submit" class="btn btn-primary ms-2" style="height: 38px;">Поиск</button>
+      </form>
+      </div>
 
   <div class="container text-center mt-2">
     {% render_table table %}

+ 2 - 2
sharix_admin/views/__init__.py

@@ -6,14 +6,14 @@ from .staff import *
 from .main import *
 from .partner import *
 from .partner_info import *
-from .partners import *
+#from .partners import *
 from .payment import *
 from .provider import *
 from .resource import *
 from .schema import *
 from .service import *
 from .service_info import *
-from .service_tariff import *
+#from .service_tariff import *
 from .service_category import *
 from .trans_id import *
 from .transactions import *

+ 4 - 0
sharix_admin/views/cooperate.py

@@ -1,6 +1,8 @@
 from datetime import datetime, timedelta
 from dbsynce.lib.core import parse_requirements, get_admin_url
 from dbsynce.models import Documents
+from dbsynce.models import Permissions
+from dbsynce.models import Relationship
 from django.contrib import messages
 from django.db import transaction
 from django.urls import reverse_lazy
@@ -10,6 +12,7 @@ from tickets.models import Ticket, TicketList
 from sharix_admin.forms import CompanyForm
 from sharix_admin.utils import *
 from dbsynce.lib.data import *
+from dbsynce.lib.dicts import *
 from .base import BaseView
 
 from dbsynce.lib.ticket_gen import *
@@ -17,6 +20,7 @@ from datetime import datetime, timedelta
 from sharix_admin.forms import JobRequestPartnerForm
 from sharix_admin.forms import JobRequestMetaserviceForm
 
+from django.contrib.auth import get_user_model
 
 class CooperateView(BaseView, FormView):
     form_class = CompanyForm

+ 2 - 2
sharix_admin/views/partner_info.py → sharix_admin/views/depr_partner_info.py

@@ -20,7 +20,7 @@ import xmpp
 from xmpp import cli
 
 
-class PartnerInformationCreate(UserPassesTestMixin, CreateView):
+class DeprPartnerInformationCreate(UserPassesTestMixin, CreateView):
     model = Company
     form_class = PartnerInformationCreateForm
     template_name = "sharix_admin/partner_information_form.html"
@@ -62,7 +62,7 @@ class PartnerInformationCreate(UserPassesTestMixin, CreateView):
         return False
 
 
-class PartnerInformationUpdateView(UserPassesTestMixin, UpdateView):
+class DeprPartnerInformationUpdateView(UserPassesTestMixin, UpdateView):
     model = Company
     form_class = PartnerInformationUpdateForm
     template_name = "sharix_admin/partner_information_form.html"

+ 1 - 1
sharix_admin/views/partners.py → sharix_admin/views/depr_partners.py

@@ -9,7 +9,7 @@ from sharix_admin.utils import group_required
 from .base import BaseView
 
 
-class PartnersListView(BaseView, SingleTableView):
+class DeprPartnersListView(BaseView, SingleTableView):
     page_title = _('Partners')
     page_name = 'partners'
     table_class = PartnersTable

+ 3 - 3
sharix_admin/views/service_tariff.py → sharix_admin/views/depr_service_tariff.py

@@ -9,7 +9,7 @@ from sharix_admin.forms import ServiceTariffCreateForm, ServiceTariffUpdateForm
 from sharix_admin.tables import ServiceTariffsTable
 
 
-class ServiceCreate(UserPassesTestMixin, CreateView):
+class DeprServiceCreate(UserPassesTestMixin, CreateView):
     model = Service
     form_class = ServiceTariffCreateForm
     template_name = "sharix_admin/service_tariff_form.html"
@@ -32,7 +32,7 @@ class ServiceCreate(UserPassesTestMixin, CreateView):
         return False
 
 
-class ServiceListView(UserPassesTestMixin, SingleTableView):
+class DeprServiceListView(UserPassesTestMixin, SingleTableView):
     table_class = ServiceTariffsTable
     queryset = Service.objects.all()
     template_name = 'sharix_admin/service_tariffs.html'
@@ -52,7 +52,7 @@ class ServiceListView(UserPassesTestMixin, SingleTableView):
         return False
 
 
-class ServiceUpdateView(UserPassesTestMixin, UpdateView):
+class DeprServiceUpdateView(UserPassesTestMixin, UpdateView):
     model = Service
     form_class = ServiceTariffUpdateForm
     template_name = "sharix_admin/service_tariff_form.html"

+ 57 - 8
sharix_admin/views/partner.py

@@ -15,6 +15,14 @@ from django.contrib.auth.mixins import UserPassesTestMixin
 from django_tables2 import SingleTableView
 from sharix_admin.tables import PartnersTable
 
+from django.contrib.auth.decorators import login_required
+from django.http import JsonResponse
+from django.utils.translation import gettext as _
+from django_tables2 import SingleTableView
+
+from sharix_admin.tables import PartnersTable
+from sharix_admin.utils import group_required
+
 class PartnerBaseView(BaseView):
     page_name = 'partner'
 
@@ -173,22 +181,63 @@ class PartnerDocView(PartnerBaseView, DetailView):
 
 
 class PartnersListView(UserPassesTestMixin, SingleTableView):
+    page_title = _('Партнеры')
+    page_name = 'partners'
     table_class = PartnersTable
     queryset = Company.objects.all()
-    template_name = 'sharix_admin/service_tariffs.html'
+    template_name = 'sharix_admin/partners.html'
+
+    def get_queryset(self):
+        queryset = super().get_queryset()
+        search_query = self.request.GET.get('q', '').strip()
+        if search_query:
+            queryset = queryset.filter(
+                Q(id__icontains=search_query) |
+                Q(legalname__icontains=search_query) |
+                Q(inn__icontains=search_query) |
+                Q(orgn__icontains=search_query) |
+                Q(address__icontains=search_query)
+            ).distinct()
+        return queryset
 
     def get_context_data(self, **kwargs):
         context = super().get_context_data(**kwargs)
-        context.update(get_context(self.request, {
-            'title': _('Performers'),
+        context.update({
             'object_list': context['object_list'],
-        }))
+        })
         return context
 
+    def testing(self, queryset, is_descending):
+        queryset = queryset.annotate.order_by("-" if is_descending else "")
+        return (queryset, True)
+
+
+#    def get_context_data(self, **kwargs):
+#        context = super().get_context_data(**kwargs)
+#        context.update(get_context(self.request, {
+#            'title': _('Performers'),
+#            'object_list': context['object_list'],
+#        }))
+#        return context
+
     def test_func(self) -> bool or None:
-        group_names = ('PARTNER-ADMIN')
-        if bool(self.request.user.groups.filter(name=group_names)) or self.request.user.is_superuser:
-            return True
-        return False
+    #    group_names = ('PARTNER-ADMIN')
+    #    if bool(self.request.user.groups.filter(name=group_names)) or self.request.user.is_superuser:
+    #        return True
+    #    return False
+        return True
+
+@login_required
+@group_required('METASERVICE-ADMIN')
+def change_partner_status(request):
+    if request.method == 'POST':
+        partners_id = request.POST.get('partners_id')
+        new_status = request.POST.get('new_status')
+        partners = Company.objects.get(pk=partners_id)
+        partners.status = new_status
+        partners.save()
+        return JsonResponse({'status': 'success'})
+    else:
+        return JsonResponse({'status': 'error'})