Browse Source

made changes in webservice_running

kateshev14 10 months ago
parent
commit
bbcd5bd8a2
39 changed files with 579 additions and 24 deletions
  1. 20 0
      SharixAdmin/forms/service.py
  2. BIN
      SharixAdmin/static/SharixAdmin/img/logo.png
  3. BIN
      SharixAdmin/static/SharixAdmin/img/logo.png:Zone.Identifier
  4. 3 0
      SharixAdmin/static/SharixAdmin/img/menu/order.svg
  5. 3 0
      SharixAdmin/static/SharixAdmin/img/menu/order.svg:Zone.Identifier
  6. 3 0
      SharixAdmin/static/SharixAdmin/img/menu/order_w.svg
  7. 3 0
      SharixAdmin/static/SharixAdmin/img/menu/order_w.svg:Zone.Identifier
  8. 1 0
      SharixAdmin/static/SharixAdmin/img/menu/person_acc-w.svg
  9. 3 0
      SharixAdmin/static/SharixAdmin/img/menu/person_acc-w.svg:Zone.Identifier
  10. 1 0
      SharixAdmin/static/SharixAdmin/img/menu/person_acc.svg
  11. 3 0
      SharixAdmin/static/SharixAdmin/img/menu/person_acc.svg:Zone.Identifier
  12. 1 0
      SharixAdmin/static/SharixAdmin/img/menu/repair-tool-w.svg
  13. 3 0
      SharixAdmin/static/SharixAdmin/img/menu/repair-tool-w.svg:Zone.Identifier
  14. 1 0
      SharixAdmin/static/SharixAdmin/img/menu/repair-tool.svg
  15. 3 0
      SharixAdmin/static/SharixAdmin/img/menu/repair-tool.svg:Zone.Identifier
  16. 3 0
      SharixAdmin/static/SharixAdmin/img/pencil.svg
  17. 3 0
      SharixAdmin/static/SharixAdmin/img/pencil.svg:Zone.Identifier
  18. 3 0
      SharixAdmin/static/SharixAdmin/img/trash.svg
  19. 3 0
      SharixAdmin/static/SharixAdmin/img/trash.svg:Zone.Identifier
  20. 3 3
      SharixAdmin/static/drf-yasg/service_type.css
  21. 1 1
      SharixAdmin/static/drf-yasg/style.css
  22. 43 0
      SharixAdmin/tables.py
  23. 46 0
      SharixAdmin/templates/SharixAdmin/account.html
  24. 1 1
      SharixAdmin/templates/SharixAdmin/auth.html
  25. 29 0
      SharixAdmin/templates/SharixAdmin/comments.html
  26. 88 6
      SharixAdmin/templates/SharixAdmin/index.html
  27. 33 0
      SharixAdmin/templates/SharixAdmin/payment_way.html
  28. 17 0
      SharixAdmin/templates/SharixAdmin/task_management.html
  29. 29 0
      SharixAdmin/templates/SharixAdmin/tech_support.html
  30. 29 0
      SharixAdmin/templates/SharixAdmin/user_information.html
  31. 11 2
      SharixAdmin/urls.py
  32. 6 1
      SharixAdmin/views/__init__.py
  33. 9 0
      SharixAdmin/views/account.py
  34. 60 0
      SharixAdmin/views/comments.py
  35. 9 0
      SharixAdmin/views/payment_way.py
  36. 1 1
      SharixAdmin/views/service_info.py
  37. 41 7
      SharixAdmin/views/task_management.py
  38. 60 0
      SharixAdmin/views/tech_support.py
  39. 3 2
      SharixAdmin/views/user_info.py

+ 20 - 0
SharixAdmin/forms/service.py

@@ -87,6 +87,26 @@ class ServiceTypeCreateForm(forms.ModelForm):
 
         }
 
+class CommentsCreateForm(forms.ModelForm):
+    codename = forms.CharField(label="Название услуги")
+    requirements = forms.CharField(label="Требования")
+    price_type = forms.ChoiceField(choices=PRICE_CHOICES, label="Ценообразование")
+    description = forms.CharField(label="Описание")
+    is_global = forms.BooleanField(label="Доступно во всех сервисах", required=False)
+    is_visible = forms.BooleanField(label="Доступно для планирования цепочек во всех сервисах", required=False)
+
+    def __init__(self, *args, **kwargs):
+        super(ServiceTypeCreateForm, self).__init__(*args, **kwargs)
+    class Meta:
+        model = ServiceType
+        fields = ['codename','requirements', 'price_type',
+                  'description',
+                  'is_global','is_visible',]
+
+        widgets = {
+
+        }        
+
 
 class ServiceInformationUpdateForm(forms.ModelForm):
 

BIN
SharixAdmin/static/SharixAdmin/img/logo.png


BIN
SharixAdmin/static/SharixAdmin/img/logo.png:Zone.Identifier


+ 3 - 0
SharixAdmin/static/SharixAdmin/img/menu/order.svg

@@ -0,0 +1,3 @@
+<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M19 2.23468H5C4.20435 2.23468 3.44129 2.55075 2.87868 3.11336C2.31607 3.67597 2 4.43903 2 5.23468V19.2347C2 20.0303 2.31607 20.7934 2.87868 21.356C3.44129 21.9186 4.20435 22.2347 5 22.2347H19C19.7956 22.2347 20.5587 21.9186 21.1213 21.356C21.6839 20.7934 22 20.0303 22 19.2347V5.23468C22 4.43903 21.6839 3.67597 21.1213 3.11336C20.5587 2.55075 19.7956 2.23468 19 2.23468ZM10 4.23468H14V7.36468L12.55 6.36468C12.3867 6.25715 12.1955 6.19984 12 6.19984C11.8045 6.19984 11.6133 6.25715 11.45 6.36468L10 7.36468V4.23468ZM20 19.2347C20 19.4999 19.8946 19.7543 19.7071 19.9418C19.5196 20.1293 19.2652 20.2347 19 20.2347H5C4.73478 20.2347 4.48043 20.1293 4.29289 19.9418C4.10536 19.7543 4 19.4999 4 19.2347V5.23468C4 4.96946 4.10536 4.71511 4.29289 4.52757C4.48043 4.34004 4.73478 4.23468 5 4.23468H8V9.23468C8.00048 9.41558 8.05003 9.59297 8.14336 9.74794C8.2367 9.90291 8.37032 10.0297 8.53 10.1147C8.68637 10.195 8.86115 10.2326 9.03671 10.2238C9.21227 10.2151 9.38242 10.1602 9.53 10.0647L12 8.43468L14.45 10.0647C14.6004 10.1637 14.7748 10.2203 14.9547 10.2285C15.1346 10.2367 15.3133 10.1961 15.4721 10.1111C15.6308 10.0261 15.7637 9.89977 15.8566 9.74551C15.9495 9.59125 15.9991 9.41476 16 9.23468V4.23468H19C19.2652 4.23468 19.5196 4.34004 19.7071 4.52757C19.8946 4.71511 20 4.96946 20 5.23468V19.2347Z" fill="#275A27"/>
+</svg>

+ 3 - 0
SharixAdmin/static/SharixAdmin/img/menu/order.svg:Zone.Identifier

@@ -0,0 +1,3 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=C:\Users\ekate\Downloads\SharixGuide_AdminANDClient (20).zip

+ 3 - 0
SharixAdmin/static/SharixAdmin/img/menu/order_w.svg

@@ -0,0 +1,3 @@
+<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M19 2.23468H5C4.20435 2.23468 3.44129 2.55075 2.87868 3.11336C2.31607 3.67597 2 4.43903 2 5.23468V19.2347C2 20.0303 2.31607 20.7934 2.87868 21.356C3.44129 21.9186 4.20435 22.2347 5 22.2347H19C19.7956 22.2347 20.5587 21.9186 21.1213 21.356C21.6839 20.7934 22 20.0303 22 19.2347V5.23468C22 4.43903 21.6839 3.67597 21.1213 3.11336C20.5587 2.55075 19.7956 2.23468 19 2.23468ZM10 4.23468H14V7.36468L12.55 6.36468C12.3867 6.25715 12.1955 6.19984 12 6.19984C11.8045 6.19984 11.6133 6.25715 11.45 6.36468L10 7.36468V4.23468ZM20 19.2347C20 19.4999 19.8946 19.7543 19.7071 19.9418C19.5196 20.1293 19.2652 20.2347 19 20.2347H5C4.73478 20.2347 4.48043 20.1293 4.29289 19.9418C4.10536 19.7543 4 19.4999 4 19.2347V5.23468C4 4.96946 4.10536 4.71511 4.29289 4.52757C4.48043 4.34004 4.73478 4.23468 5 4.23468H8V9.23468C8.00048 9.41558 8.05003 9.59297 8.14336 9.74794C8.2367 9.90291 8.37032 10.0297 8.53 10.1147C8.68637 10.195 8.86115 10.2326 9.03671 10.2238C9.21227 10.2151 9.38242 10.1602 9.53 10.0647L12 8.43468L14.45 10.0647C14.6004 10.1637 14.7748 10.2203 14.9547 10.2285C15.1346 10.2367 15.3133 10.1961 15.4721 10.1111C15.6308 10.0261 15.7637 9.89977 15.8566 9.74551C15.9495 9.59125 15.9991 9.41476 16 9.23468V4.23468H19C19.2652 4.23468 19.5196 4.34004 19.7071 4.52757C19.8946 4.71511 20 4.96946 20 5.23468V19.2347Z" fill="white"/>
+</svg>

+ 3 - 0
SharixAdmin/static/SharixAdmin/img/menu/order_w.svg:Zone.Identifier

@@ -0,0 +1,3 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=C:\Users\ekate\Downloads\SharixGuide_AdminANDClient (19).zip

File diff suppressed because it is too large
+ 1 - 0
SharixAdmin/static/SharixAdmin/img/menu/person_acc-w.svg


+ 3 - 0
SharixAdmin/static/SharixAdmin/img/menu/person_acc-w.svg:Zone.Identifier

@@ -0,0 +1,3 @@
+[ZoneTransfer]
+ZoneId=3
+HostUrl=https://www.figma.com/

File diff suppressed because it is too large
+ 1 - 0
SharixAdmin/static/SharixAdmin/img/menu/person_acc.svg


+ 3 - 0
SharixAdmin/static/SharixAdmin/img/menu/person_acc.svg:Zone.Identifier

@@ -0,0 +1,3 @@
+[ZoneTransfer]
+ZoneId=3
+HostUrl=https://www.figma.com/

File diff suppressed because it is too large
+ 1 - 0
SharixAdmin/static/SharixAdmin/img/menu/repair-tool-w.svg


+ 3 - 0
SharixAdmin/static/SharixAdmin/img/menu/repair-tool-w.svg:Zone.Identifier

@@ -0,0 +1,3 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=C:\Users\ekate\Downloads\SharixGuide_AdminANDClient (15).zip

File diff suppressed because it is too large
+ 1 - 0
SharixAdmin/static/SharixAdmin/img/menu/repair-tool.svg


+ 3 - 0
SharixAdmin/static/SharixAdmin/img/menu/repair-tool.svg:Zone.Identifier

@@ -0,0 +1,3 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=C:\Users\ekate\Downloads\SharixGuide_AdminANDClient (16).zip

+ 3 - 0
SharixAdmin/static/SharixAdmin/img/pencil.svg

@@ -0,0 +1,3 @@
+<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M22.5 7.23962C22.5007 7.10803 22.4755 6.97758 22.4258 6.85575C22.376 6.73392 22.3027 6.62311 22.21 6.52968L17.97 2.29C17.8765 2.19732 17.7657 2.124 17.6439 2.07424C17.5221 2.02448 17.3916 1.99926 17.26 2.00002C17.1284 1.99926 16.9979 2.02448 16.8761 2.07424C16.7542 2.124 16.6434 2.19732 16.55 2.29L13.72 5.11978L2.79002 16.049C2.69733 16.1424 2.62401 16.2532 2.57425 16.375C2.52448 16.4969 2.49926 16.6273 2.50002 16.7589V20.9986C2.50002 21.2638 2.60537 21.5181 2.79291 21.7057C2.98045 21.8932 3.2348 21.9985 3.50001 21.9985H7.74001C7.87993 22.0061 8.0199 21.9843 8.15083 21.9343C8.28175 21.8843 8.40072 21.8074 8.50001 21.7085L19.37 10.7794L22.21 7.99957C22.3013 7.90266 22.3756 7.79112 22.43 7.66959C22.4396 7.58989 22.4396 7.50932 22.43 7.42961C22.4347 7.38307 22.4347 7.33617 22.43 7.28962L22.5 7.23962ZM7.33001 19.9987H4.50001V17.1689L14.43 7.23962L17.26 10.0694L7.33001 19.9987ZM18.67 8.65952L15.84 5.82973L17.26 4.41984L20.08 7.23962L18.67 8.65952Z" fill="#275A27"/>
+</svg>

+ 3 - 0
SharixAdmin/static/SharixAdmin/img/pencil.svg:Zone.Identifier

@@ -0,0 +1,3 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=C:\Users\ekate\Downloads\SharixGuide_AdminANDClient (17).zip

+ 3 - 0
SharixAdmin/static/SharixAdmin/img/trash.svg

@@ -0,0 +1,3 @@
+<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M10.5 18C10.7652 18 11.0196 17.8946 11.2071 17.7071C11.3946 17.5196 11.5 17.2652 11.5 17V11C11.5 10.7348 11.3946 10.4804 11.2071 10.2929C11.0196 10.1054 10.7652 10 10.5 10C10.2348 10 9.98043 10.1054 9.79289 10.2929C9.60536 10.4804 9.5 10.7348 9.5 11V17C9.5 17.2652 9.60536 17.5196 9.79289 17.7071C9.98043 17.8946 10.2348 18 10.5 18ZM20.5 6H16.5V5C16.5 4.20435 16.1839 3.44129 15.6213 2.87868C15.0587 2.31607 14.2956 2 13.5 2H11.5C10.7044 2 9.94129 2.31607 9.37868 2.87868C8.81607 3.44129 8.5 4.20435 8.5 5V6H4.5C4.23478 6 3.98043 6.10536 3.79289 6.29289C3.60536 6.48043 3.5 6.73478 3.5 7C3.5 7.26522 3.60536 7.51957 3.79289 7.70711C3.98043 7.89464 4.23478 8 4.5 8H5.5V19C5.5 19.7956 5.81607 20.5587 6.37868 21.1213C6.94129 21.6839 7.70435 22 8.5 22H16.5C17.2956 22 18.0587 21.6839 18.6213 21.1213C19.1839 20.5587 19.5 19.7956 19.5 19V8H20.5C20.7652 8 21.0196 7.89464 21.2071 7.70711C21.3946 7.51957 21.5 7.26522 21.5 7C21.5 6.73478 21.3946 6.48043 21.2071 6.29289C21.0196 6.10536 20.7652 6 20.5 6ZM10.5 5C10.5 4.73478 10.6054 4.48043 10.7929 4.29289C10.9804 4.10536 11.2348 4 11.5 4H13.5C13.7652 4 14.0196 4.10536 14.2071 4.29289C14.3946 4.48043 14.5 4.73478 14.5 5V6H10.5V5ZM17.5 19C17.5 19.2652 17.3946 19.5196 17.2071 19.7071C17.0196 19.8946 16.7652 20 16.5 20H8.5C8.23478 20 7.98043 19.8946 7.79289 19.7071C7.60536 19.5196 7.5 19.2652 7.5 19V8H17.5V19ZM14.5 18C14.7652 18 15.0196 17.8946 15.2071 17.7071C15.3946 17.5196 15.5 17.2652 15.5 17V11C15.5 10.7348 15.3946 10.4804 15.2071 10.2929C15.0196 10.1054 14.7652 10 14.5 10C14.2348 10 13.9804 10.1054 13.7929 10.2929C13.6054 10.4804 13.5 10.7348 13.5 11V17C13.5 17.2652 13.6054 17.5196 13.7929 17.7071C13.9804 17.8946 14.2348 18 14.5 18Z" fill="#EF3232"/>
+</svg>

+ 3 - 0
SharixAdmin/static/SharixAdmin/img/trash.svg:Zone.Identifier

@@ -0,0 +1,3 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=C:\Users\ekate\Downloads\SharixGuide_AdminANDClient (18).zip

+ 3 - 3
SharixAdmin/static/drf-yasg/service_type.css

@@ -65,13 +65,13 @@ table.table thead th {
     border: 1px #ffffff;
 }
 .description_col-active {
-    border: 1px #95C0F6;
+    border: 1px #8dd49b;
 }
 .test {
     width: 50px;
     height: 50px;
     margin-left: 30px;
-    background-color: #95C0F6;
+    background-color: #8dd49b;
 }
 
 table.table {
@@ -79,7 +79,7 @@ table.table {
 }
 
 table.table tbody tr:hover {
-    box-shadow: 0px 0px 0px 1.5px #95C0F6;
+    box-shadow: 0px 0px 0px 1.5px #8dd49b;
     border-radius: 10px;
     border-top: transparent;
     border-bottom: transparent;

+ 1 - 1
SharixAdmin/static/drf-yasg/style.css

@@ -36,7 +36,7 @@
 }
 
 .label-primary {
-    background-color: #337ab7;
+    background-color: #38a346;
 }
 
 .divider {

+ 43 - 0
SharixAdmin/tables.py

@@ -49,6 +49,28 @@ class PartnersTable(tables.Table):
         else:
             return format_html('<input class="form-check-input status-toggle" type="checkbox" id="flexCheckDefault" data-partners-id="{}">', record.id)
 
+class TaskTable(tables.Table):
+    id = tables.Column(verbose_name=_('ID'), attrs={"td":{"width":"5%"}})
+    legal_name = tables.Column(verbose_name=_('Legal entity'), attrs={'th':{'scope':'col'}, "td":{"width":"20%"}})
+    repr_id = tables.Column(accessor='repr_id.full_name', order_by=('repr_id.first_name', 'repr_id.last_name'), verbose_name=_('Responsible'), attrs={"td":{"width":"15%"}})
+   
+    status = tables.Column(verbose_name=_('Status'), attrs={'th':{'scope':'col'}, "td":{"width":"20%"}}) 
+    check = tables.BooleanColumn(verbose_name='', attrs={'th':{'scope':'col'}, "td":{"width":"20%"}})
+    # paginate_by = 10
+    class Meta:
+        model = Company
+        attrs = {"class": "table table-layout-fixed"}
+        exclude = ('inn','kpp','ogrn', 'bank_name', 
+                   'bik', 'ks', 'rs', 
+                   'address', 'requirements', 
+                   'id_metaservice', 'is_global', 'is_visible', 'ticket_status')
+
+    def render_check(self, value, record):
+        if record.status == 'active':
+            return format_html('<input class="form-check-input status-toggle" checked type="checkbox" id="flexCheckDefault" data-partners-id="{}">', record.id)
+        else:
+            return format_html('<input class="form-check-input status-toggle" type="checkbox" id="flexCheckDefault" data-partners-id="{}">', record.id)
+
 class ResourceTable(tables.Table):
 
     id = tables.Column(verbose_name=_('ID'), attrs={"td":{"width":"5%"}})
@@ -140,6 +162,27 @@ class ServiceTypeTable(tables.Table):
     # def render_name_operation(self, value, record):
     #     return format_html("<a href='{}'>{}</a>", record.get_absolute_url(), value)
    
+class CommentsTable(tables.Table):
+
+    id = tables.Column( attrs={"td":{"width":"50px"}})
+    codename = tables.LinkColumn('service_type/edit/', verbose_name='Услуга', orderable=False, text = lambda record: record.codename,
+        args=[tables.A('pk')], attrs= {"a": {"style": "pointer-events: none;"}, 'th':{'scope':'col'}, "td":{"class":"name_col"}})
+    description = tables.LinkColumn('service_type/edit/', orderable=False, verbose_name='Описание', text = lambda record: record.description,
+        args=[tables.A('pk')], attrs= {"a": {"style": "pointer-events: none;"}, 'th':{'scope':'col'}, "td":{"class":"description_col"}})
+    edit = tables.LinkColumn('service_type/edit/', verbose_name='', orderable=False, text = "E",
+        args=[tables.A('pk')], attrs={'th':{'scope':'col'}, "td":{"class":"edit_col"}})
+    deletee = tables.LinkColumn('service_type/delete/', verbose_name='', orderable=False, text = "D",
+        args=[tables.A('pk')], attrs={'th':{'scope':'col'}, "td":{"class":"delete_col"}})
+    
+    
+    class Meta:
+        model = ServiceType
+        attrs = {"class": "table table-layout-fixed text-start"}
+        exclude = ('requirements',
+                   'price_type','status','ticket_status', 
+                   'id_metaservice', 'link_agreement',
+                   'is_global', 'is_visible', 'caption')
+
 class ServiceTable(tables.Table):
 
     id = tables.Column(verbose_name=_('ID'), attrs={"td":{"width":"5%"}})

+ 46 - 0
SharixAdmin/templates/SharixAdmin/account.html

@@ -0,0 +1,46 @@
+{% extends 'SharixAdmin/index.html' %}
+{% load i18n %}
+{% load static %}
+
+{% block contenthome %}
+<div class="container">
+    <h1 class="mainHeader">{{ title }}</h1>
+    <p class="description_service">Это система управления государством, источником власти в которой является сам народ. Именно народ решает, какие законы и нормы необходимы для гармоничного существования и развития государства. Таким образом, каждый человек в демократическом обществе 
+  Получает определенный набор свобод и обязательств сформированных с учетом интересов всего сообщества. Исходя из вышесказанного, можно заключить, что демократия – это возможность для каждого человека свободно участвовать в непосредственном управлении своим государством, обществом и личной судьбой в конечном счете.</p>
+
+<div class="row justify-content-start">
+    <div class="maintable" id="maintable">
+        <table class="table table-sm m-2">
+            <tbody>
+                <tr>
+                  <td scope="col" class="p-3"><b>ID</b></td>
+                  <td scope="col" class="p-3"><b>Фото</b></td>
+                  <td scope="col" class="p-3"><b>Имя пользователя</b></td>
+                  <td scope="col" class="p-3"><b>Почта</b></td>
+                  <td scope="col" class="p-3"><b></b></td>
+                  <td scope="col" class="p-3"><b></b></td>
+                </tr>
+                <tr>
+                  {% blocktrans trimmed with request.user.id as id %}
+                  <td class="p-3">{{ id }}</td>                  
+                  {% endblocktrans %}
+                  <td class="p-3"><img class="mb-4" style="height: 45px;" src="{% static 'SharixAdmin/img/logo.png' %}" alt="" ></td>
+                  {% blocktrans trimmed with request.user.username as user %}
+                  <td class="p-3">{{ user }}</td>                  
+                  {% endblocktrans %}
+                  {% blocktrans trimmed with request.user.email as email %}
+                  <td class="p-3">{{ email }}</td>                  
+                  {% endblocktrans %}
+                  <td class="p-3"><img class="nav-img" src="{% static 'SharixAdmin/img/pencil.svg' %}"></td>
+                  <td class="p-3"><img class="nav-img" src="{% static 'SharixAdmin/img/trash.svg' %}"></td>
+                </tr>
+            </tbody>
+        </table>
+    </div>
+</div>
+    
+<div class="text-end mt-3">
+    <a class="btn btn-primary ps-3 pe-3" id="bord" href="*">Выйти из аккаунта</a>
+</div>
+</div>    
+{% endblock contenthome %}

+ 1 - 1
SharixAdmin/templates/SharixAdmin/auth.html

@@ -30,7 +30,7 @@
               <a class="w-100 btn btn-primary btn-lg mb-3" href="{% url 'webservice_running:registration' %}">Регистрация</a>
               <button class=" w-100 btn btn-primary btn-lg" type="submit">{% trans 'Login' %}</button>
             </div>
-            <p class="mt-5 mb-3 text-muted">© 2022</p>
+            <p class="mt-5 mb-3 text-muted">© 2024</p>
           </form>
     </div>
 </div>

+ 29 - 0
SharixAdmin/templates/SharixAdmin/comments.html

@@ -0,0 +1,29 @@
+{% extends 'SharixAdmin/index.html' %}
+{% load render_table from django_tables2 %}
+{% load i18n %}
+{% load static %}
+
+{% block contenthome %}
+<style>
+  a {
+    color: black;
+    text-decoration: none;
+  }
+  a:hover {
+    color: black;
+  }
+</style>
+
+<h1 class="mainHeader">{{ title }}</h1>
+<p class="description_service">Это система управления государством, источником власти в которой является сам народ. Именно народ решает, какие законы и нормы необходимы для гармоничного существования и развития государства. Таким образом, каждый человек в демократическом обществе 
+        Получает определенный набор свобод и обязательств сформированных с учетом интересов всего сообщества. Исходя из вышесказанного, можно заключить, что демократия – это возможность для каждого человека свободно участвовать в непосредственном управлении своим государством, обществом и личной судьбой в конечном счете.</p>
+      <div class="row justify-content-start">
+          <div class="maintable" id="maintable">
+            {% render_table table %}
+          </div>     
+      </div>
+
+  <div class="container text-end mt-2">
+    <a class="btn btn-primary" id="bord" href="*">{% trans 'Add' %}</a>
+  </div>
+{% endblock contenthome %}

+ 88 - 6
SharixAdmin/templates/SharixAdmin/index.html

@@ -59,6 +59,7 @@
           </div>
         </a>
       </li>-->
+      {% if user.is_superuser %}
       <li class="nav-item">
         <a href="{% url 'partners' %}" class="nav-link {% if current_page == "partners" %}active rounded{% endif %}">
           <div class="link d-flex align-items-center">
@@ -74,6 +75,7 @@
           </div>
         </a>
       </li>
+
       <!--<li class="nav-item">
         <a href="{% url 'cooperate' %}" class="nav-link {% if current_page == "cooperate" %}active rounded{% endif %}">
           <div class="link d-flex align-items-center">
@@ -90,12 +92,12 @@
         </a>
       </li>-->
       <li class="nav-item">
-        <a href="{% url 'user_information' %}" class="nav-link {% if current_page == "none" %}active rounded{% endif %}">
+        <a href="{% url 'user_information' %}" class="nav-link {% if current_page == "user_information" %}active rounded{% endif %}">
           <div class="link d-flex align-items-center">
             <img
               class="nav-img"
               src="
-                {% if current_page == "none" %}
+                {% if current_page == "user_information" %}
                   {% static 'SharixAdmin/img/menu/hdd-network_w.svg' %}
                 {% else %}
                   {% static 'SharixAdmin/img/menu/hdd-network.svg' %}
@@ -119,6 +121,23 @@
           </div>
         </a>
       </li>
+      {% else %}  
+      <li class="nav-item">
+        <a href="{% url 'webservice_running:order_reg' %}" class="nav-link {% if current_page == "order_reg" %}active rounded{% endif %}">
+          <div class="link d-flex align-items-center">
+            <img
+              class="nav-img"
+              src="
+                {% if current_page == "order_reg" %}
+                  {% static 'SharixAdmin/img/menu/order_w.svg' %}
+                {% else %}
+                  {% static 'SharixAdmin/img/menu/order.svg' %}
+                {% endif %}">
+            <span class="menu-bar-label">Мои заказы</span>
+          </div>
+        </a>
+      </li>  
+      {% endif %}   
       <li class="nav-item">
         <a href="{% url 'trans' %}" class="nav-link {% if current_page == "transactions" %}active rounded{% endif %}">
           <div class="link d-flex align-items-center">
@@ -134,6 +153,7 @@
           </div>
         </a>
       </li>
+      {% if user.is_superuser %}      
       <li class="nav-item">
         <a href="{% url 'service_information-add' %}" class="nav-link {% if current_page == "service_info" %}active rounded{% endif %}">
           <div class="link d-flex align-items-center">
@@ -165,12 +185,12 @@
         </a>
       </li>
       <li class="nav-item">
-        <a href="{% url 'payment' %}" class="nav-link {% if current_page == "payment" %}active rounded{% endif %}">
+        <a href="{% url 'task_management' %}" class="nav-link {% if current_page == "task_management" %}active rounded{% endif %}">
           <div class="link d-flex align-items-center">
             <img
               class="nav-img"
               src="
-                {% if current_page == "payment" %}
+                {% if current_page == "task_management" %}
                   {% static 'SharixAdmin/img/menu/clipboard-w.svg' %}
                 {% else %}
                   {% static 'SharixAdmin/img/menu/clipboard.svg' %}
@@ -180,12 +200,12 @@
         </a>
       </li>
       <li class="nav-item">
-        <a href="{% url 'payment' %}" class="nav-link {% if current_page == "payment" %}active rounded{% endif %}">
+        <a href="{% url 'comments' %}" class="nav-link {% if current_page == "comments" %}active rounded{% endif %}">
           <div class="link d-flex align-items-center">
             <img
               class="nav-img"
               src="
-                {% if current_page == "payment" %}
+                {% if current_page == "comments" %}
                   {% static 'SharixAdmin/img/menu/message-square_w.svg' %}
                 {% else %}
                   {% static 'SharixAdmin/img/menu/message-square.svg' %}
@@ -194,6 +214,68 @@
           </div>
         </a>
       </li>
+      {% else %}
+      <li class="nav-item">
+        <a href="{% url 'service_information-add' %}" class="nav-link {% if current_page == "service_info" %}active rounded{% endif %}">
+          <div class="link d-flex align-items-center">
+            <img
+              class="nav-img"
+              src="
+                {% if current_page == "service_info" %}
+                  {% static 'SharixAdmin/img/menu/person_w.svg' %}
+                {% else %}
+                  {% static 'SharixAdmin/img/menu/person.svg' %}
+                {% endif %}">
+            <span class="menu-bar-label">Информация о сервисе</span>
+          </div>
+        </a>
+      </li>
+      <li class="nav-item">
+        <a href="{% url 'payment_way' %}" class="nav-link {% if current_page == "payment_way" %}active rounded{% endif %}">
+          <div class="link d-flex align-items-center">
+            <img
+              class="nav-img"
+              src="
+                {% if current_page == "payment_way" %}
+                  {% static 'SharixAdmin/img/menu/credit-card_w.svg' %}
+                {% else %}
+                  {% static 'SharixAdmin/img/menu/credit-card.svg' %}
+                {% endif %}">
+            <span class="menu-bar-label">Способ оплаты</span>
+          </div>
+        </a>
+      </li>
+      <li class="nav-item">
+        <a href="{% url 'tech_support' %}" class="nav-link {% if current_page == "tech_support" %}active rounded{% endif %}">
+          <div class="link d-flex align-items-center">
+            <img
+              class="nav-img"
+              src="
+                {% if current_page == "tech_support" %}
+                  {% static 'SharixAdmin/img/menu/repair-tool-w.svg' %}
+                {% else %}
+                  {% static 'SharixAdmin/img/menu/repair-tool.svg' %}
+                {% endif %}">
+            <span class="menu-bar-label">Техническая поддержка</span>
+          </div>
+        </a>
+      </li>
+      <li class="nav-item">
+        <a href="{% url 'account' %}" class="nav-link {% if current_page == "account" %}active rounded{% endif %}">
+          <div class="link d-flex align-items-center">
+            <img
+              class="nav-img"
+              src="
+                {% if current_page == "account" %}
+                  {% static 'SharixAdmin/img/menu/person_acc-w.svg' %}
+                {% else %}
+                  {% static 'SharixAdmin/img/menu/person_acc.svg' %}
+                {% endif %}">
+            <span class="menu-bar-label">Личный кабинет</span>
+          </div>
+        </a>
+      </li>
+      {% endif %}
     </ul>
   </nav>
 

+ 33 - 0
SharixAdmin/templates/SharixAdmin/payment_way.html

@@ -0,0 +1,33 @@
+{% extends 'SharixAdmin/index.html' %}
+{% load i18n %}
+
+{% block contenthome %}
+<div class="container">
+    <h1 class="mainHeader">{{ title }}</h1>
+    <p class="description_service">Это система управления государством, источником власти в которой является сам народ. Именно народ решает, какие законы и нормы необходимы для гармоничного существования и развития государства. Таким образом, каждый человек в демократическом обществе 
+  Получает определенный набор свобод и обязательств сформированных с учетом интересов всего сообщества. Исходя из вышесказанного, можно заключить, что демократия – это возможность для каждого человека свободно участвовать в непосредственном управлении своим государством, обществом и личной судьбой в конечном счете.</p>
+
+<div class="row justify-content-start">
+    <div class="maintable" id="maintable">
+        <table class="table table-sm m-2">
+            <tbody>
+                <tr>
+                  <td scope="col" class="p-3"><b>Номер карты</b></td>
+                  <td scope="col" class="p-3"><b>ММ/ГГ</b></td>
+                  <td scope="col" class="p-3"><b>CVV</b></td>
+                </tr>
+                <tr>
+                  <td class="p-3">Нет зарегестрированных банковских карт</td>
+                  <td class="p-3"></td>
+                  <td class="p-3"></td>
+                </tr>
+            </tbody>
+        </table>
+    </div>
+</div>
+    
+<div class="text-end mt-3">
+    <a class="btn btn-primary ps-3 pe-3" id="bord" href="/payment_form">Редактировать</a>
+</div>
+</div>    
+{% endblock contenthome %}

+ 17 - 0
SharixAdmin/templates/SharixAdmin/task_management.html

@@ -0,0 +1,17 @@
+{% extends 'SharixAdmin/index.html' %}
+{% load render_table from django_tables2 %}
+
+{% block contenthome %}
+<div class="container">
+    <h1 class="mainHeader">{{ title }}</h1>
+    <p class="description_service">Это система управления государством, источником власти в которой является сам народ. Именно народ решает, какие законы и нормы необходимы для гармоничного существования и развития государства. Таким образом, каждый человек в демократическом обществе 
+      Получает определенный набор свобод и обязательств сформированных с учетом интересов всего сообщества. Исходя из вышесказанного, можно заключить, что демократия – это возможность для каждого человека свободно участвовать в непосредственном управлении своим государством, обществом и личной судьбой в конечном счете.</p>
+
+    <div class="container text-center mt-2">
+      {% render_table table %}
+    </div>
+    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
+</div>    
+
+    
+{% endblock contenthome %}

+ 29 - 0
SharixAdmin/templates/SharixAdmin/tech_support.html

@@ -0,0 +1,29 @@
+{% extends 'SharixAdmin/index.html' %}
+{% load render_table from django_tables2 %}
+{% load i18n %}
+{% load static %}
+
+{% block contenthome %}
+<style>
+  a {
+    color: black;
+    text-decoration: none;
+  }
+  a:hover {
+    color: black;
+  }
+</style>
+
+<h1 class="mainHeader">{{ title }}</h1>
+<p class="description_service">Это система управления государством, источником власти в которой является сам народ. Именно народ решает, какие законы и нормы необходимы для гармоничного существования и развития государства. Таким образом, каждый человек в демократическом обществе 
+        Получает определенный набор свобод и обязательств сформированных с учетом интересов всего сообщества. Исходя из вышесказанного, можно заключить, что демократия – это возможность для каждого человека свободно участвовать в непосредственном управлении своим государством, обществом и личной судьбой в конечном счете.</p>
+      <div class="row justify-content-start">
+          <div class="maintable" id="maintable">
+            {% render_table table %}
+          </div>     
+      </div>
+
+  <div class="container text-end mt-2">
+    <a class="btn btn-primary" id="bord" href="*">{% trans 'Add' %}</a>
+  </div>
+{% endblock contenthome %}

+ 29 - 0
SharixAdmin/templates/SharixAdmin/user_information.html

@@ -0,0 +1,29 @@
+{% extends 'SharixAdmin/index.html' %}
+{% load render_table from django_tables2 %}
+{% load i18n %}
+{% load static %}
+
+{% block contenthome %}
+<style>
+  a {
+    color: black;
+    text-decoration: none;
+  }
+  a:hover {
+    color: black;
+  }
+</style>
+
+<h1 class="mainHeader">{{ title }}</h1>
+<p class="description_service">Это система управления государством, источником власти в которой является сам народ. Именно народ решает, какие законы и нормы необходимы для гармоничного существования и развития государства. Таким образом, каждый человек в демократическом обществе 
+        Получает определенный набор свобод и обязательств сформированных с учетом интересов всего сообщества. Исходя из вышесказанного, можно заключить, что демократия – это возможность для каждого человека свободно участвовать в непосредственном управлении своим государством, обществом и личной судьбой в конечном счете.</p>
+      <div class="row justify-content-start">
+          <div class="maintable" id="maintable">
+            {% render_table table %}
+          </div>     
+      </div>
+
+  <div class="container text-end mt-2">
+    <a class="btn btn-primary" id="bord" href="*">{% trans 'Add' %}</a>
+  </div>
+{% endblock contenthome %}

+ 11 - 2
SharixAdmin/urls.py

@@ -20,8 +20,16 @@ urlpatterns = [
     path('logout/', logout_view, name='logoutweb'),
     path('balance/', balance, name='balance'),
     path('payment/', login_required(paymentView), name='payment'),
-    #path('task_management/', login_required(taskManagementView), name='task_management'),
-   
+    path('payment_way/', login_required(paymentWayView), name='payment_way'),
+    path('account/', login_required(AccountView), name='account'),
+
+
+    path('task_management/', login_required(TaskListView.as_view()), name='task_management'),
+    
+    path('comments/', login_required(CommentsListView.as_view()), name='comments'),
+
+    path('tech_support/', login_required(TechListView.as_view()), name='tech_support'),
+
     path('partners/', login_required(PartnersListView.as_view()), name='partners'),
     path('partners/change_status/', change_partners_status, name='partners/change_status'),
 
@@ -42,6 +50,7 @@ urlpatterns = [
     path('service_type/add/', login_required(ServiceTypeCreate.as_view()), name='service_type/add/'),
     path('service_type/delete/<int:pk>', login_required(ServiceTypeDelete.as_view()), name='service_type/delete/'),
 
+    #
     path('service_information/add/', login_required(ServiceInformationCreate.as_view()), name='service_information-add'),
     path('service_information/edit/<int:pk>', login_required(ServiceInformationUpdateView.as_view()), name='service_information/edit/'),
     

+ 6 - 1
SharixAdmin/views/__init__.py

@@ -15,4 +15,9 @@ from .payment import paymentView
 from .balance import balance
 from .trans_id import trans_id
 from .schema import schema_v3
-from .user_info import UserListView
+from .user_info import UserListView
+from .task_management import *
+from .comments import *
+from .tech_support  import *
+from .payment_way  import paymentWayView
+from .account  import AccountView

+ 9 - 0
SharixAdmin/views/account.py

@@ -0,0 +1,9 @@
+from django.shortcuts import render
+from django.utils.translation import gettext as _
+
+def AccountView(request):
+    context = {
+        'title':_('Личный кабинет'),
+        'current_page': 'account'
+    }
+    return render(request, "SharixAdmin/account.html", context)

+ 60 - 0
SharixAdmin/views/comments.py

@@ -0,0 +1,60 @@
+from django_tables2 import SingleTableView
+from django.views.generic.edit import UpdateView, CreateView, DeleteView
+from SharixAdmin.tables import CommentsTable
+from django.contrib.auth.mixins import UserPassesTestMixin
+from SharixAdmin.forms import CommentsCreateForm, ServiceTypeUpdateForm
+from dbsynce.models import ServiceType
+from django.urls import reverse
+from django.utils.translation import gettext as _
+
+    
+    
+class CommentsCreate(UserPassesTestMixin, CreateView):
+    model = ServiceType
+    form_class = CommentsCreateForm
+    template_name = "SharixAdmin/service_type_form.html"
+
+    def get_context_data(self, **kwargs):
+        context = super().get_context_data(**kwargs)
+        context.update({
+            'title': _('Комментарии'),
+            'object': self.object,
+            "current_page": "comments"
+        })
+        return context
+    
+    def get_success_url(self):
+        return reverse('comments')
+    
+    def test_func(self) -> bool or None:
+        group_names = ('METASERVICE-ADMIN')
+        if bool(self.request.user.groups.filter(name=group_names)) or self.request.user.is_superuser:
+            return True
+        return False
+    
+    
+       
+
+class CommentsListView(UserPassesTestMixin, SingleTableView):
+    table_class = CommentsTable
+    queryset = ServiceType.objects.all()
+    template_name = 'SharixAdmin/comments.html'
+
+    def get_context_data(self, **kwargs):
+        context = super().get_context_data(**kwargs)
+        context.update({
+            'title': 'Комментарии',
+            'object_list': context['object_list'],
+            "current_page": "comments"
+        })
+        return context
+    
+    def testing(self, queryset, is_descending):
+        queryset = queryset.annotate.order_by("-" if is_descending else "")
+        return (queryset, True)
+
+    def test_func(self) -> bool or None:
+        group_names = ('METASERVICE-ADMIN')
+        if bool(self.request.user.groups.filter(name=group_names)) or self.request.user.is_superuser:
+            return True
+        return False

+ 9 - 0
SharixAdmin/views/payment_way.py

@@ -0,0 +1,9 @@
+from django.shortcuts import render
+from django.utils.translation import gettext as _
+
+def paymentWayView(request):
+    context = {
+        'title':_('Способ оплаты'),
+        'current_page': 'payment_way'
+    }
+    return render(request, "SharixAdmin/payment_way.html", context)

+ 1 - 1
SharixAdmin/views/service_info.py

@@ -54,7 +54,7 @@ class ServiceInformationCreate(UserPassesTestMixin, CreateView):
     
     def test_func(self) -> bool or None:
         group_names = ('METASERVICE-ADMIN')
-        if bool(self.request.user.groups.filter(name=group_names)) or self.request.user.is_superuser:
+        if bool(self.request.user.groups.filter(name=group_names)) or self.request.user:
             return True
         return False
 

+ 41 - 7
SharixAdmin/views/task_management.py

@@ -1,9 +1,43 @@
-from django.shortcuts import render
+from django_tables2 import SingleTableView
+from django.contrib.auth.mixins import UserPassesTestMixin
+from SharixAdmin.groups import group_required
+from SharixAdmin.tables import TaskTable
+from django.contrib.auth.decorators import login_required
+from dbsynce.models import Company
+from django.http import JsonResponse
 from django.utils.translation import gettext as _
 
-def taskManagementView(request):
-    context = {
-        'title':_('Управление задачами'),
-        'current_page': 'task_management'
-    }
-    return render(request, "SharixAdmin/task_management.html", context)
+
+class TaskListView(UserPassesTestMixin, SingleTableView):
+    table_class = TaskTable
+    queryset = Company.objects.all()
+    template_name = 'SharixAdmin/task_management.html'
+
+    def get_context_data(self, **kwargs):
+        context = super().get_context_data(**kwargs)
+        context.update({
+            'title': _('Управление задачами'),
+            'object_list': context['object_list'],
+            'current_page': "task_management"
+        })
+        return context
+    
+    def test_func(self) -> bool or None:
+        group_names = ('METASERVICE-ADMIN')
+        if bool(self.request.user.groups.filter(name=group_names)) or self.request.user.is_superuser:
+            return True
+        return False
+
+
+@login_required
+@group_required('METASERVICE-ADMIN')
+def change_partners_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'})

+ 60 - 0
SharixAdmin/views/tech_support.py

@@ -0,0 +1,60 @@
+from django_tables2 import SingleTableView
+from django.views.generic.edit import UpdateView, CreateView, DeleteView
+from SharixAdmin.tables import CommentsTable
+from django.contrib.auth.mixins import UserPassesTestMixin
+from SharixAdmin.forms import CommentsCreateForm, ServiceTypeUpdateForm
+from dbsynce.models import ServiceType
+from django.urls import reverse
+from django.utils.translation import gettext as _
+
+    
+    
+class TechCreate(UserPassesTestMixin, CreateView):
+    model = ServiceType
+    form_class = CommentsCreateForm
+    template_name = "SharixAdmin/service_type_form.html"
+
+    def get_context_data(self, **kwargs):
+        context = super().get_context_data(**kwargs)
+        context.update({
+            'title': _('Техническая поддержка'),
+            'object': self.object,
+            "current_page": "tech_support"
+        })
+        return context
+    
+    def get_success_url(self):
+        return reverse('tech_support')
+    
+    def test_func(self) -> bool or None:
+        group_names = ('METASERVICE-ADMIN')
+        if bool(self.request.user.groups.filter(name=group_names)) or self.request.user.is_superuser:
+            return True
+        return False
+    
+    
+       
+
+class TechListView(UserPassesTestMixin, SingleTableView):
+    table_class = CommentsTable
+    queryset = ServiceType.objects.all()
+    template_name = 'SharixAdmin/tech_support.html'
+
+    def get_context_data(self, **kwargs):
+        context = super().get_context_data(**kwargs)
+        context.update({
+            'title': 'Техническая поддержка',
+            'object_list': context['object_list'],
+            "current_page": "tech_support"
+        })
+        return context
+    
+    def testing(self, queryset, is_descending):
+        queryset = queryset.annotate.order_by("-" if is_descending else "")
+        return (queryset, True)
+
+    def test_func(self) -> bool or None:
+        group_names = ('METASERVICE-ADMIN')
+        if bool(self.request.user.groups.filter(name=group_names)) or self.request.user:
+            return True
+        return False

+ 3 - 2
SharixAdmin/views/user_info.py

@@ -15,9 +15,10 @@ class UserListView(UserPassesTestMixin, SingleTableView):
     def get_context_data(self, **kwargs):
         context = super().get_context_data(**kwargs)
         context.update({
-            'title': _('User Management'),
+            'title': _('Управление правами'),
             'object_list': context['object_list'],
-            'groups': Group.objects.all()
+            'groups': Group.objects.all(),
+            'current_page': "user_information"
         })
         return context
     

Some files were not shown because too many files changed in this diff