Explorar o código

new menu generation mechanism

ShariX Developer hai 22 horas
pai
achega
0dd76ebbd4

+ 88 - 122
sharix_admin/lib/menu.py

@@ -1,8 +1,4 @@
-#import from webservice_running.menu WEBSERVICE_RUNNING_MENU
-
-#TODO - user profile connected to platform
-#ALL_MY = ['tickets', 'main']
-ALL_ALL = ['service_categories', 'service_tariffs', 'support_chat', 'job_request_metaservice']
+from webservice_running.lib.menu import *
 
 #Same idea as vvv, maybe some custom pages for example for reports later 
 METASERVICE_ADMIN_ALL = ['partners', 'orders', 'access_control', 'resources', 'providers']
@@ -36,57 +32,26 @@ CLIENT_MY = ['order', 'orders']
 CLIENT_MY_OPERATIONS = ['order/edit', 'order/add']
 #TODO should be something for transactions
 
-######################
-# WEBSERVICE_RUNNING #
-######################
-
-WSR_ALL = ['serivce_tariff_local']
-
-#TODO - providers+resources on map
-WSR_CLIENT_MY = ['order_local', 'orders_local', 'frequent_address', 'favorite_contacts', 'preferred_providers']
-WSR_MENU_CLIENT_MY_OPERATIONS = ['order_local/add']
-WSR_NOT_MENU_CLIENT_MY_OPERATIONS = ['order_local/edit', 'frequent_address/add', 'frequent_address/edit', 'frequent_address/del', 'favorite_contacts/add', 'favorite_contacts/edit', 'favorite_contacts/del', 'preferred_providers/add', 'preferred_providers/edit', 'preferred_providers_del']
-
-
+#READ MENU DESCRIPTION STARTS HERE!!! vvv
 #Idea - Menu categories
 
 #GLOBAL_MENU - same for all users, info on forms may vary according to roles, but view is one for all
 #MENU_GLOBAL = ['service_categories', 'support_chat', 'job_request_metaservice']
-MENU_GLOBAL = ['tickets:ticket_list_list', 'sharix_admin:service_categories', 'sharix_admin:support_chat', 'sharix_admin:job_request_metaservice']
-#MENU_GLOBAL = ['tickets', 'service_categories', 'support_chat', 'job_request_metaservice']
-MENU_OPEN = ['sharix_admin:main', 'sharix_admin:service_tariffs']
-#MENU_OPEN = ['main', 'service_tariffs']
+MENU_GLOBAL = ['tickets_list_list', 'service_categories', 'support_chat', 'job_request_metaservice']
+MENU_OPEN = ['main', 'service_tariffs']
 
 #Thus menu points for all staff roles is the same
-STAFF_METASERVICE_MENU_GLOBAL = ['sharix_admin:access_control', 'sharix_admin:partners']
-#STAFF_METASERVICE_MENU_GLOBAL = ['access_control', 'partners']
-STAFF_METASERVICE_MENU_OPEN = ['sharix_admin:resources', 'sharix_admin:providers', 'sharix_admin:orders']
-#STAFF_METASERVICE_MENU_OPEN = ['resources', 'providers', 'orders']
+STAFF_METASERVICE_MENU_GLOBAL = ['access_control', 'partners']
+STAFF_METASERVICE_MENU_OPEN = ['resources', 'providers', 'orders']
 #Another set of pages that lists only MY PARTNER objects - needed for the situation for users with multiple roles. For each Partner connection - same set of pages, maybe it's good idea to hide it
-STAFF_MY_PARTNER_MENU_GLOBAL = ['sharix_admin:access_control', 'sharix_admin:partners']
-#STAFF_MY_PARTNER_MENU_GLOBAL = ['access_control', 'partners']
-STAFF_MY_PARTNER_MENU_OPEN = ['sharix_admin:resources', 'sharix_admin:providers', 'sharix_admin:orders']
-#STAFF_MY_PARTNER_MENU_OPEN = ['resources', 'providers', 'orders']
-
-STAFF_MY_PROVIDER_MENU_OPEN = ['sharix_admin:resources', 'sharix_admin:orders']
-#STAFF_MY_PROVIDER_MENU_OPEN = ['resources', 'orders']
-
-CLIENT_MY_MENU_GLOBAL = ['sharix_admin:transactions']
-#CLIENT_MY_MENU_GLOBAL = ['transactions']
-CLIENT_MY_MENU_OPEN = ['sharix_admin:orders']
-#CLIENT_MY_MENU_OPEN = ['orders']
-
-#WEBSERVICE_RUNNING_MENU
-MENU_GLOBAL_CUSTOMIZABLE = ['main_local', 'service_tariffs_local']
-STAFF_METASERVICE_MENU_CUSTOMIZABLE = ['resources_local', 'providers_local', 'orders_local' ]
-STAFF_MY_PARTNER_MENU_CUSTOMIZABLE = ['resources_local', 'providers_local', 'orders_local']
-STAFF_MY_PROVIDER_MENU_CUSTOMIZABLE = ['resources_local', 'orders_local']
-CLIENT_MY_MENU_CUSTOMIZABLE = ['order_local', 'orders_local']
-
-#CUSTOM PAGES
-WSR_EXTENDED_MY = ['frequent_address', 'frequent_contacts', 'preferred_providers']
-WSR_EXTENDED = []
-#TODO - providers+resources on map (NOT MY, GLOBAL or MY meant by geolocation+preferences)
+STAFF_MY_PARTNER_MENU_GLOBAL = ['access_control', 'partners']
+STAFF_MY_PARTNER_MENU_OPEN = ['resources', 'providers', 'orders']
+
+STAFF_MY_PROVIDER_MENU_OPEN = ['resources', 'orders']
+
+CLIENT_MY_MENU_GLOBAL = ['transactions']
+CLIENT_MY_MENU_OPEN = ['orders']
+
 
 #3 variants to show customizable pages, it depends on settings of a project ALL (PURE), ALL + CUSTOMIZABLE (REPLACE) replaced, ALL + CUSTOMIZABLE added (APPEND)
 #function to check if menu should be visible:
@@ -99,114 +64,115 @@ CLIENT_ROLES = ['CLIENT']
 #if user role in list provided and page name in a connected list then menu item is visible
 #so we have to know user_id and page type and MENU_ALG algorythm
 
-MENU_ALG = 'PURE'
-global MENU_VISIBLE_PAGES
-MENU_VISIBLE_PAGES = []
+MENU_ALG = 'APPEND'
+global menu_visible_pages
+visible_pages = []
 
 if MENU_ALG == 'PURE':
-    MENU_VISIBLE_PAGES = []
-    MENU_VISIBLE_PAGES.extend(MENU_GLOBAL)
-    MENU_VISIBLE_PAGES.extend(MENU_OPEN)
+    visible_pages.extend(MENU_GLOBAL)
+    visible_pages.extend(MENU_OPEN)
     
 if MENU_ALG == 'REPLACE':
-    MENU_VISIBLE_PAGES = []
-    MENU_VISIBLE_PAGES.extend(MENU_GLOBAL)
-    MENU_VISIBLE_PAGES.extend(MENU_GLOBAL_CUSTOMIZABLE)
+    visible_pages.extend(MENU_GLOBAL)
+    visible_pages.extend(MENU_GLOBAL_CUSTOMIZABLE)
     
 if MENU_ALG == 'APPEND':
-    MENU_VISIBLE_PAGES = []
-    MENU_VISIBLE_PAGES.extend(MENU_GLOBAL)
-    MENU_VISIBLE_PAGES.extend(MENU_GLOBAL_CUSTOMIZABLE)
-    MENU_VISIBLE_PAGES.extend(MENU_OPEN)
+    visible_pages.extend(MENU_GLOBAL)
+    visible_pages.extend(MENU_GLOBAL_CUSTOMIZABLE)
+    visible_pages.extend(MENU_OPEN)
 
 #TODO - change menu template to FOR loop with parameters - name, link, icon
 # menu structure should base on config file with menu structure as settings
 
-#MENU_SCHEME_OPEN = [
-#        'main',
-#    'service_categories',
-#    'service_tariffs',
-#    'partners',
-#    'resources',
-#    'providers',
-#    'orders',
-#    'access_control',
-#    'tickets',
-#    'support_chat',
-#    'job_request_metaservice',
-#    ]
-
-#TODO - move to WSR! And add MENU_ALG setting to project settings!
-#MENU_SCHEME_WSR = [
-#    'main_local',
-#    'service_categories',
-#    'partners',
-#    'resources_local',
-#    'providers_local',
-#    'orders_local',
-#    'access_control',
-#    'tickets',
-#    'support_chat',
-#    'job_request_metaservice',
-#    ]
+MENU_SCHEME = True
+
+MENU_SCHEME_LIST_OPEN = {
+    'main': ['sharix_admin', 'house', 'Главная'],
+    'service_categories': ['sharix_admin', 'briefcase', 'Категории услуг'],
+    'service_tariffs': ['sharix_admin', 'briefcase', 'Тарифы'],
+    'partners': ['sharix_admin', 'handshake', 'Партнеры'],
+    'resources': ['sharix_admin', 'hdd-network', 'Ресурсы'],
+    'providers': ['sharix_admin', 'person', 'Исполнители'],
+    'orders': ['sharix_admin', 'clock-history', 'Заказы'],
+    'access_control': ['sharix_admin', 'hdd-network', 'Права доступа'],
+    'tickets': ['tickets_list_list', 'tickets', 'Заявки'],
+    'support_chat': ['sharix_admin', 'tickets', 'Чат техподдержки'],
+    'job_request_metaservice': ['sharix_admin', 'credit-card', 'Вакансии'],
+    }
+
 
 def gen_avaliable_pages(roles):
 #any(x in role for x in STAFF_METASERVICE_ROLES):
-    global MENU_VISIBLE_PAGES
+    global visible_pages
+    global MENU_SCHEME_LIST
     if any(x in roles for x in STAFF_METASERVICE_ROLES):
 
         if MENU_ALG == 'PURE':
-            MENU_VISIBLE_PAGES.extend(STAFF_METASERVICE_MENU_GLOBAL)
-            MENU_VISIBLE_PAGES.extend(STAFF_METASERVICE_MENU_OPEN)
+            visible_pages.extend(STAFF_METASERVICE_MENU_GLOBAL)
+            visible_pages.extend(STAFF_METASERVICE_MENU_OPEN)
 
         if MENU_ALG == 'REPLACE':
-            MENU_VISIBLE_PAGES.extend(STAFF_METASERVICE_MENU_GLOBAL)
-            MENU_VISIBLE_PAGES.extend(STAFF_METASERVICE_MENU_CUSTOMIZABLE)
+            visible_pages.extend(STAFF_METASERVICE_MENU_GLOBAL)
+            visible_pages.extend(STAFF_METASERVICE_MENU_CUSTOMIZABLE)
         if MENU_ALG == 'APPEND':
-            MENU_VISIBLE_PAGES.extend(STAFF_METASERVICE_MENU_GLOBAL)
-            MENU_VISIBLE_PAGES.extend(STAFF_METASERVICE_MENU_CUSTOMIZABLE)
-            MENU_VISIBLE_PAGES.extend(STAFF_METASERVICE_MENU_OPEN)
+            visible_pages.extend(STAFF_METASERVICE_MENU_GLOBAL)
+            visible_pages.extend(STAFF_METASERVICE_MENU_CUSTOMIZABLE)
+            visible_pages.extend(STAFF_METASERVICE_MENU_OPEN)
 
     if any(x in roles for x in STAFF_PARTNER_ROLES):
 #if role in STAFF_PARTNER_ROLES:
 
         if MENU_ALG == 'PURE':
-            MENU_VISIBLE_PAGES.extend(STAFF_MY_PARTNER_MENU_GLOBAL)
-            MENU_VISIBLE_PAGES.extend(STAFF_MY_PARTNER_MENU_OPEN)
-            MENU_VISIBLE_PAGES.extend(STAFF_MY_PROVIDER_MENU_OPEN)
+            visible_pages.extend(STAFF_MY_PARTNER_MENU_GLOBAL)
+            visible_pages.extend(STAFF_MY_PARTNER_MENU_OPEN)
+            visible_pages.extend(STAFF_MY_PROVIDER_MENU_OPEN)
 
         if MENU_ALG == 'REPLACE':
-            MENU_VISIBLE_PAGES.extend(STAFF_MY_PARTNER_MENU_GLOBAL)
-            MENU_VISIBLE_PAGES.extend(STAFF_MY_PARTNER_MENU_CUSTOMIZABLE)
-            MENU_VISIBLE_PAGES.extend(STAFF_MY_PROVIDER_MENU_CUSTOMIZABLE)
+            visible_pages.extend(STAFF_MY_PARTNER_MENU_GLOBAL)
+            visible_pages.extend(STAFF_MY_PARTNER_MENU_CUSTOMIZABLE)
+            visible_pages.extend(STAFF_MY_PROVIDER_MENU_CUSTOMIZABLE)
 
         if MENU_ALG == 'APPEND':
-            MENU_VISIBLE_PAGES.extend(STAFF_MY_PARTNER_MENU_GLOBAL)
-            MENU_VISIBLE_PAGES.extend(STAFF_MY_PARTNER_MENU_CUSTOMIZABLE)
-            MENU_VISIBLE_PAGES.extend(STAFF_MY_PARTNER_MENU_OPEN)
-            MENU_VISIBLE_PAGES.extend(STAFF_MY_PROVIDER_MENU_CUSTOMIZABLE)
-            MENU_VISIBLE_PAGES.extend(STAFF_MY_PROVIDER_MENU_OPEN)
+            visible_pages.extend(STAFF_MY_PARTNER_MENU_GLOBAL)
+            visible_pages.extend(STAFF_MY_PARTNER_MENU_CUSTOMIZABLE)
+            visible_pages.extend(STAFF_MY_PARTNER_MENU_OPEN)
+            visible_pages.extend(STAFF_MY_PROVIDER_MENU_CUSTOMIZABLE)
+            visible_pages.extend(STAFF_MY_PROVIDER_MENU_OPEN)
 
     if any(x in roles for x in CLIENT_ROLES):
 #if role in CLIENT_ROLES:
         if MENU_ALG == 'PURE':
-            MENU_VISIBLE_PAGES.extend(CLIENT_MY_MENU_GLOBAL)
-            MENU_VISIBLE_PAGES.extend(CLIENT_MY_MENU_OPEN)
+            visible_pages.extend(CLIENT_MY_MENU_GLOBAL)
+            visible_pages.extend(CLIENT_MY_MENU_OPEN)
     
         if MENU_ALG == 'REPLACE':
-            MENU_VISIBLE_PAGES.extend(CLIENT_MY_MENU_GLOBAL)
-            MENU_VISIBLE_PAGES.extend(CLIENT_MY_MENU_CUSTOMIZABLE)
-            MENU_VISIBLE_PAGES.extend(WSR_EXTENDED)
-            MENU_VISIBLE_PAGES.extend(WSR_EXTENDED_MY)
+            visible_pages.extend(CLIENT_MY_MENU_GLOBAL)
+            visible_pages.extend(CLIENT_MY_MENU_CUSTOMIZABLE)
+            visible_pages.extend(WSR_EXTENDED)
+            visible_pages.extend(WSR_EXTENDED_MY)
 
         if MENU_ALG == 'APPEND':
-            MENU_VISIBLE_PAGES.extend(CLIENT_MY_MENU_GLOBAL)
-            MENU_VISIBLE_PAGES.extend(CLIENT_MY_MENU_CUSTOMIZABLE)
-            MENU_VISIBLE_PAGES.extend(CLIENT_MY_MENU_OPEN)
-            MENU_VISIBLE_PAGES.extend(WSR_EXTENDED)
-            MENU_VISIBLE_PAGES.extend(WSR_EXTENDED_MY)
+            visible_pages.extend(CLIENT_MY_MENU_GLOBAL)
+            visible_pages.extend(CLIENT_MY_MENU_CUSTOMIZABLE)
+            visible_pages.extend(CLIENT_MY_MENU_OPEN)
+            visible_pages.extend(WSR_EXTENDED)
+            visible_pages.extend(WSR_EXTENDED_MY)
 
 #MAYBE REMOVE DUPLICATES?
-    MENU_VISIBLE_PAGES = list(dict.fromkeys(MENU_VISIBLE_PAGES))
-    return MENU_VISIBLE_PAGES
-
+    visible_pages = list(dict.fromkeys(visible_pages))
+
+    menu_result = []
+    if not MENU_SCHEME:
+        MENU_SCHEME_LIST=MENU_SCHEME_LIST_OPEN
+        
+    for key, value in MENU_SCHEME_LIST.items():
+        if key in visible_pages:
+            menu_item=[]
+            menu_item.append(value[0]+':'+key)
+            menu_item=menu_item+value
+            menu_result.append(menu_item)
+
+    print (menu_result)
+    return menu_result
+
+gen_avaliable_pages('METASERVICE-ADMIN')

+ 9 - 377
sharix_admin/templates/sharix_admin/base_admin.html

@@ -14,392 +14,24 @@
     </button>
 
     <ul class="d-flex flex-column nav nav-pills rounded box-shadow border p-2 bg-white">
-      <li class="nav-item">
-        <a href="{% url "sharix_admin:main" %}" class="nav-link {% if current_page == "main" %}active rounded{% endif %}">
-          <div class="link d-flex align-items-center">
-            <img
-              class="nav-img"
-              src="
-                {% if current_page == "main" %}
-                  {% static 'sharix_admin/img/menu/house_w.svg' %}
-                {% else %}
-                  {% static 'sharix_admin/img/menu/house.svg' %}
-                {% endif %}">
-            <span class="menu-bar-label">Главная</span>
-          </div>
-        </a>
-      </li>
-      <li class="nav-item">
-        <a href="{% url 'tickets:ticket_list_list' %}" class="nav-link {% if current_page == "tickets" %}active rounded{% endif %}">
-          <div class="link d-flex align-items-center">
-            <img
-              class="nav-img"
-              src="
-                {% if current_page == "tickets" %}
-                  {% static 'sharix_admin/img/menu/tickets_w.svg' %}
-                {% else %}
-                  {% static 'sharix_admin/img/menu/tickets.svg' %}
-                {% endif %}"> 
-            <span class="menu-bar-label">Заявки</span>
-          </div>
-        </a>
-      </li>
-      <li class="nav-item">
-        <a href="http://study.reversea.net/" class="nav-link {% if current_page == "education" %}active rounded{% endif %}">
-          <div class="link d-flex align-items-center">
-            <img
-              class="nav-img"
-              src="
-                {% if current_page == "education" %}
-                  {% static 'sharix_admin/img/menu/education_w.svg' %}
-                {% else %}
-                  {% static 'sharix_admin/img/menu/education.svg' %}
-                {% endif %}">
-            <span class="menu-bar-label">Курсы</span>
-          </div>
-        </a>
-      </li>
-
-      <!-- STAFF MENU-->
-      <!-- METASERVICE ADMIN OPEN SPECIFIC MENU -->
-
-      {% if "METASERVICE-ADMIN" in user_groups %}
-
-      <li class="nav-item">
-        <a href="{% url 'sharix_admin:service_categories' %}" class="nav-link {% if current_page == "service_categories" %}active rounded{% endif %}">
-          <div class="link d-flex align-items-center">
-            <img
-              class="nav-img"
-              src="
-                {% if current_page == "service_categories" %}
-                  {% static 'sharix_admin/img/menu/briefcase_w.svg' %}
-                {% else %}
-                  {% static 'sharix_admin/img/menu/briefcase.svg' %}
-                {% endif %}">
-            <span class="menu-bar-label">Категории услуг</span>
-          </div>
-        </a>
-      </li>
-
-      <li class="nav-item">
-        <a href="{% url 'sharix_admin:service_category/add/' %}" class="nav-link {% if current_page == "service_category/add/" %}active rounded{% endif %}">
-          <div class="link d-flex align-items-center">
-            <img
-              class="nav-img"
-              src="
-                {% if current_page == "service_category/add/" %}
-                  {% static 'sharix_admin/img/menu/briefcase_w.svg' %}
-                {% else %}
-                  {% static 'sharix_admin/img/menu/briefcase.svg' %}
-                {% endif %}">
-            <span class="menu-bar-label">Добавить категорию услуг</span>
-          </div>
-        </a>
-      </li>
-
-      <!-- TODO - add metaservice supervisor to viewers -->
-      <li class="nav-item">
-        <a href="{% url 'sharix_admin:service_tariffs' %}" class="nav-link {% if current_page == "service_tariffs" %}active rounded{% endif %}">
-          <div class="link d-flex align-items-center">
-            <img
-              class="nav-img"
-              src="
-                {% if current_page == "service_tariffs" %}
-                  {% static 'sharix_admin/img/menu/briefcase_w.svg' %}
-                {% else %}
-                  {% static 'sharix_admin/img/menu/briefcase.svg' %}
-                {% endif %}">
-            <span class="menu-bar-label">Тарифы услуг</span>
-          </div>
-        </a>
-      </li>
-
-      <!-- TODO - add metaservice supervisor to viewers maybe without duplication -->
-      <li class="nav-item">
-        <a href="{% url "sharix_admin:partners" %}" class="nav-link {% if current_page == "partners" %}active rounded{% endif %}">
-          <div class="link d-flex align-items-center">
-            <img
-              class="nav-img"
-              src="
-                {% if current_page == "partners" %}
-                  {% static 'sharix_admin/img/menu/people_w.svg' %}
-                {% else %}
-                  {% static 'sharix_admin/img/menu/people.svg' %}
-                {% endif %}">
-            <span class="menu-bar-label">Партнеры</span>
-          </div>
-        </a>
-      </li>
-
-            <!-- TODO: Управление правами ADD ALSO CHECK FOR SUPERVISOR-->
-        <a href="{% url 'sharix_admin:access_control' %}" class="nav-link {% if current_page == "access_control" %}active rounded{% endif %}">
-          <div class="link d-flex align-items-center">
-            <img
-              class="nav-img"
-              src="
-                {% if current_page == "access_control" %}
-                  {% static 'sharix_admin/img/menu/hdd-network_w.svg' %}
-                {% else %}
-                  {% static 'sharix_admin/img/menu/hdd-network.svg' %}
-                {% endif %}">
-            <span class="menu-bar-label">Управление правами</span>
-          </div>
-        </a>
-      </li>
-
-      {% endif %}
-
-
-      <!-- METASERVICE SUPERVISOR MENU BLOCK -->
-      {% if "METASERVICE-SUPERVISOR" in user_groups %}
-      <li class="nav-item">
-        <a href="{% url "sharix_admin:partners" %}" class="nav-link {% if current_page == "partners" %}active rounded{% endif %}">
-          <div class="link d-flex align-items-center">
-            <img
-              class="nav-img"
-              src="
-                {% if current_page == "partners" %}
-                  {% static 'sharix_admin/img/menu/people_w.svg' %}
-                {% else %}
-                  {% static 'sharix_admin/img/menu/people.svg' %}
-                {% endif %}">
-            <span class="menu-bar-label">Партнеры</span>
-          </div>
-        </a>
-      </li>
-
-      <li class="nav-item">
-        <a href="{% url "sharix_admin:resources" %}" class="nav-link {% if current_page == "resources" %}active rounded{% endif %}">
-          <div class="link d-flex align-items-center">
-            <img
-              class="nav-img"
-              src="
-                {% if current_page == "resources" %}
-                  {% static 'sharix_admin/img/menu/people_w.svg' %}
-                {% else %}
-                  {% static 'sharix_admin/img/menu/people.svg' %}
-                {% endif %}">
-            <span class="menu-bar-label">Ресурсы</span>
-          </div>
-        </a>
-      </li>
-
-      <li class="nav-item">
-        <a href="{% url "sharix_admin:providers" %}" class="nav-link {% if current_page == "providers" %}active rounded{% endif %}">
-          <div class="link d-flex align-items-center">
-            <img
-              class="nav-img"
-              src="
-                {% if current_page == "providers" %}
-                  {% static 'sharix_admin/img/menu/people_w.svg' %}
-                {% else %}
-                  {% static 'sharix_admin/img/menu/people.svg' %}
-                {% endif %}">
-            <span class="menu-bar-label">Исполнители</span>
-          </div>
-        </a>
-      </li>
-
-      <!-- PARTNER-ADMIN menu block TODO - add customization to list views -->
-
-      <li class="nav-item">
-        <a href="{% url "sharix_admin:resources" %}" class="nav-link {% if current_page == "resources" %}active rounded{% endif %}">
-          <div class="link d-flex align-items-center">
-            <img
-              class="nav-img"
-              src="
-                {% if current_page == "resources" %}
-                  {% static 'sharix_admin/img/menu/people_w.svg' %}
-                {% else %}
-                  {% static 'sharix_admin/img/menu/people.svg' %}
-                {% endif %}">
-            <span class="menu-bar-label">Мои Ресурсы</span>
-          </div>
-        </a>
-      </li>
-
-       <li class="nav-item">
-        <a href="{% url 'sharix_admin:resource/add/' %}" class="nav-link {% if current_page == "resource/add/" %}active rounded{% endif %}">
-          <div class="link d-flex align-items-center">
-            <img
-              class="nav-img"
-              src="
-                {% if current_page == "resource/add/" %}
-                  {% static 'sharix_admin/img/menu/briefcase_w.svg' %}
-                {% else %}
-                  {% static 'sharix_admin/img/menu/briefcase.svg' %}
-                {% endif %}">
-            <span class="menu-bar-label">Добавить ресурс</span>
-          </div>
-        </a>
-      </li>
-
-       <li class="nav-item">
-        <a href="{% url "sharix_admin:providers" %}" class="nav-link {% if current_page == "providers" %}active rounded{% endif %}">
-          <div class="link d-flex align-items-center">
-            <img
-              class="nav-img"
-              src="
-                {% if current_page == "providers" %}
-                  {% static 'sharix_admin/img/menu/people_w.svg' %}
-                {% else %}
-                  {% static 'sharix_admin/img/menu/people.svg' %}
-                {% endif %}">
-            <span class="menu-bar-label">Мои Исполнители</span>
-          </div>
-        </a>
-      </li>
-
       
-      {% endif %}
-
-
-      <!-- COOPERATE BLOCK -->
-      {% if not "PARTNER-ADMIN" in user_groups %}
-        <li class="nav-item">
-          <a href="{% url "sharix_admin:cooperate_request" %}" class="nav-link {% if current_page == "cooperate_request" %}active rounded{% endif %}">
-            <div class="link d-flex align-items-center">
-              <img
-                class="nav-img"
-                src="
-                  {% if current_page == "cooperate_request" %}
-                    {% static 'sharix_admin/img/menu/handshake_w.svg' %}
-                  {% else %}
-                    {% static 'sharix_admin/img/menu/handshake.svg' %}
-                  {% endif %}">
-              <span class="menu-bar-label">Стать партнером</span>
-            </div>
-          </a>
-        </li>
-      {% endif %}
-
-        <li class="nav-item">
-          <a href="{% url "sharix_admin:job_request_metaservice" %}" class="nav-link {% if current_page == "job_request_metaservice" %}active rounded{% endif %}">
-            <div class="link d-flex align-items-center">
-              <img
-                class="nav-img"
-                src="
-                  {% if current_page == "job_request_metaservice" %}
-                    {% static 'sharix_admin/img/menu/handshake_w.svg' %}
-                  {% else %}
-                    {% static 'sharix_admin/img/menu/handshake.svg' %}
-                  {% endif %}">
-              <span class="menu-bar-label">Работа в Сервисе</span>
-            </div>
-          </a>
-        </li>
-      {% comment %} <li class="nav-item">
-        <a href="{% url 'sharix_admin:user_information' %}" class="nav-link {% if current_page == "none" %}active rounded{% endif %}">
-          <div class="link d-flex align-items-center">
-            <img
-              class="nav-img"
-              src="
-                {% if current_page == "none" %}
-                  {% static 'sharix_admin/img/menu/hdd-network_w.svg' %}
-                {% else %}
-                  {% static 'sharix_admin/img/menu/hdd-network.svg' %}
-                {% endif %}">
-            <span class="menu-bar-label">Управление правами</span>
-          </div>
-        </a>
-      </li> {% endcomment %}
-
-      {% comment %}
-      <li class="nav-item">
-        <a href="{% url 'sharix_admin:service_category' %}" class="nav-link {% if current_page == "service_category" %}active rounded{% endif %}">
-          <div class="link d-flex align-items-center">
-            <img
-              class="nav-img"
-              src="
-                {% if current_page == "service_category" %}
-                  {% static 'sharix_admin/img/menu/briefcase_w.svg' %}
-                {% else %}
-                  {% static 'sharix_admin/img/menu/briefcase.svg' %}
-                {% endif %}">
-            <span class="menu-bar-label">Услуги сервиса</span>
-          </div>
-        </a>
-      </li> {% endcomment %}
-      {% comment %} <li class="nav-item">
-        <a href="{% url 'sharix_admin:transactions' %}" class="nav-link {% if current_page == "transactions" %}active rounded{% endif %}">
-          <div class="link d-flex align-items-center">
-            <img
-              class="nav-img"
-              src="
-                {% if current_page == "transactions" %}
-                  {% static 'sharix_admin/img/menu/clock-history_w.svg' %}
-                {% else %}
-                  {% static 'sharix_admin/img/menu/clock-history.svg' %}
-                {% endif %}">
-            <span class="menu-bar-label">История заказов</span>
-          </div>
-        </a>
-      </li> {% endcomment %}
-      {% if "PARTNER-ADMIN" in user_groups %}
-        <li class="nav-item">
-          <a href="{% url 'sharix_admin:partner_detail_my' %}" class="nav-link {% if current_page == 'partner' %}active rounded{% endif %}">
-            <div class="link d-flex align-items-center">
-              <img
-                class="nav-img"
-                src="
-                  {% if current_page == 'partner' %}
-                    {% static 'sharix_admin/img/menu/person_w.svg' %}
-                  {% else %}
-                    {% static 'sharix_admin/img/menu/person.svg' %}
-                  {% endif %}">
-              <span class="menu-bar-label">О партнере</span>
-            </div>
-          </a>
-        </li>
-      {% endif %}
-      {% comment %} <li class="nav-item">
-        <a href="{% url 'sharix_admin: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 'sharix_admin/img/menu/person_w.svg' %}
-                {% else %}
-                  {% static 'sharix_admin/img/menu/person.svg' %}
-                {% endif %}">
-            <span class="menu-bar-label">Информация о сервисе</span>
-          </div>
-        </a>
-      </li> {% endcomment %}
-      {% comment %} <li class="nav-item">
-        <a href="{% url 'sharix_admin:payment' %}" class="nav-link {% if current_page == "payment" %}active rounded{% endif %}">
-          <div class="link d-flex align-items-center">
-            <img
-              class="nav-img"
-              src="
-                {% if current_page == "payment" %}
-                  {% static 'sharix_admin/img/menu/credit-card_w.svg' %}
-                {% else %}
-                  {% static 'sharix_admin/img/menu/credit-card.svg' %}
-                {% endif %}">
-            <span class="menu-bar-label">Реквизиты</span>
-          </div>
-        </a>
-      </li> {% endcomment %}
-
-
-      <!-- Converse integration -->
-      <li class="nav-item">
-        <a href="{% url 'sharix_admin:support_chat' %}" class="nav-link {% if current_page == "support_chat" %}active rounded{% endif %}">
+    {% for page in avaliable_pages %}
+    <li class="nav-item">
+	    <a href="{% url page.0 %}" class="nav-link {% if current_page == "{{ page.0 }}" %}active rounded{% endif %}">
           <div class="link d-flex align-items-center">
             <img
               class="nav-img"
               src="
-                {% if current_page == "support_chat" %}
-                  {% static 'sharix_admin/img/menu/tickets_w.svg' %}
+                {% if current_page == page.0 %}
+		{% get_static_prefix %}{{ page.1 }}/img/menu/{{ page.2 }}_w.svg
                 {% else %}
-                  {% static 'sharix_admin/img/menu/tickets.svg' %}
-                {% endif %}">
-            <span class="menu-bar-label">Чат с техподдержкой</span>
+                {% get_static_prefix %}{{ page.1 }}/img/menu/{{ page.2 }}.svg
+		{% endif %}">
+	    <span class="menu-bar-label">{{ page.3 }}</span>
           </div>
         </a>
       </li>
+      {% endfor %}
 
       
       {% include 'webservice_running/metaservice_menu.html' %}

+ 4 - 8
sharix_admin/templates/sharix_admin/base_admin_menu.html → sharix_admin/templates/sharix_admin/base_admin_old_example.html

@@ -14,10 +14,8 @@
     </button>
 
     <ul class="d-flex flex-column nav nav-pills rounded box-shadow border p-2 bg-white">
-      
-    {% for page in avaliable_pages %}
-    <li class="nav-item">
-	    <a href="{% url page %}" class="nav-link {% if current_page == "{{ page }}" %}active rounded{% endif %}">
+      <li class="nav-item">
+        <a href="{% url "sharix_admin:main" %}" class="nav-link {% if current_page == "main" %}active rounded{% endif %}">
           <div class="link d-flex align-items-center">
             <img
               class="nav-img"
@@ -27,13 +25,10 @@
                 {% else %}
                   {% static 'sharix_admin/img/menu/house.svg' %}
                 {% endif %}">
-	    <span class="menu-bar-label">{{ page }}</span>
+            <span class="menu-bar-label">Главная</span>
           </div>
         </a>
       </li>
-      {% endfor %}
-
-
       <li class="nav-item">
         <a href="{% url 'tickets:ticket_list_list' %}" class="nav-link {% if current_page == "tickets" %}active rounded{% endif %}">
           <div class="link d-flex align-items-center">
@@ -255,6 +250,7 @@
         </a>
       </li>
 
+      
       {% endif %}
 
 

+ 1 - 1
sharix_admin/templates/sharix_admin/main.html

@@ -1,4 +1,4 @@
-{% extends 'sharix_admin/base_admin_menu.html' %}
+{% extends 'sharix_admin/base_admin.html' %}
 
 {% block view %}
 <p>