فهرست منبع

menu visualization partially fixed

ShariX Developer 16 ساعت پیش
والد
کامیت
2770b0f7df
2فایلهای تغییر یافته به همراه112 افزوده شده و 19 حذف شده
  1. 86 12
      sharix_admin/lib/menu.py
  2. 26 7
      sharix_admin/templates/sharix_admin/resource_list.html

+ 86 - 12
sharix_admin/lib/menu.py

@@ -1,5 +1,55 @@
 from webservice_running.lib.menu import *
 
+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']
+
+#WEBSERVICE_RUNNING_MENU
+MENU_GLOBAL_CUSTOMIZABLE = ['main_local', 'service_tariffs_local']
+STAFF_METASERVICE_MENU_CUSTOMIZABLE = ['resources_local', 'providers_local', 'orders_local', 'cooperate_request' ]
+STAFF_MY_PARTNER_MENU_CUSTOMIZABLE = ['resources_local', 'providers_local', 'orders_local']
+STAFF_MY_PROVIDER_MENU_CUSTOMIZABLE = ['resources_local', 'orders_local']
+CLIENT_MY_MENU_CUSTOMIZABLE = ['cooperate_request', 'order_local/add', 'orders_local', 'frequent_address', 'frequent_contacts', 'preferred_providers']
+
+#CUSTOM PAGES
+WSR_EXTENDED_MY = []
+#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)
+
+
+MENU_SCHEME_LIST = {
+    'main': ['sharix_admin', 'house', 'Главная'],
+#    'main_local': ['webservice_running', 'house', 'Главная сервиса'],
+    'service_categories': ['sharix_admin', 'briefcase', 'Категории услуг'],
+    'service_tariffs': ['sharix_admin', 'briefcase', 'Тарифы'],
+    'partners': ['sharix_admin', 'handshake', 'Партнеры'],
+    'resources': ['sharix_admin', 'hdd-network', 'Ресурсы'],
+#    'resources_local': ['webservice_running', 'hdd-network', 'Ресурсы'],
+    'providers': ['sharix_admin', 'person', 'Исполнители'],
+    #'providers_local': ['webservice_running', 'person', 'Исполнители'],
+#    'orders': ['sharix_admin', 'clock-history', 'Заказы'],
+#    'orders_local': ['webservice_running', 'clock-history', 'Заказы'],
+    'access_control': ['sharix_admin', 'hdd-network', 'Права доступа'],
+    'relationship': ['sharix_admin', 'hdd-network', 'Взаимоотношения'],
+    'ticket_list_list': ['tickets', 'tickets', 'Заявки'],
+    'support_chat': ['sharix_admin', 'tickets', 'Чат техподдержки'],
+    'cooperate_request': ['sharix_admin', 'credit-card', 'Стать партнером'],
+    'job_request_metaservice': ['sharix_admin', 'credit-card', 'Вакансии'],
+#    'frequent_address': ['webservice_running', 'person', 'Частые адреса'],
+#    'frequent_contacts': ['webservice_running', 'person', 'Частые контакты'],
+    'preferred_providers': ['webservice_running', 'person', 'Желаемые исполнители'],
+    }
+
+
+
+
+
+
+
 #Same idea as vvv, maybe some custom pages for example for reports later 
 METASERVICE_ADMIN_ALL = ['partners', 'orders', 'access_control', 'resources', 'providers']
 #note: delete 'delete' operation from urlpatterns! Question - should be edit and change status apart or not?
@@ -38,10 +88,10 @@ CLIENT_MY_OPERATIONS = ['order/edit', 'order/add']
 #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_list_list', 'service_categories', 'support_chat', 'job_request_metaservice']
-MENU_OPEN = ['main', 'service_tariffs']
+MENU_OPEN = ['main', 'service_tariffs', 'cooperate_request']
 
 #Thus menu points for all staff roles is the same
-STAFF_METASERVICE_MENU_GLOBAL = ['access_control', 'partners']
+STAFF_METASERVICE_MENU_GLOBAL = ['access_control', 'relationship', '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 = ['access_control', 'partners']
@@ -57,15 +107,15 @@ CLIENT_MY_MENU_OPEN = ['orders']
 #function to check if menu should be visible:
 # function that get roles by userid
 
-STAFF_METASERVICE_ROLES = ['METASERVICE_ADMIN', 'METASERVICE_SUPERVISOR', 'METASERVICE_SUPPORT', 'METASERVICE_TECHSUPPORT']
-STAFF_PARTNER_ROLES = ['PARTNER_ADMIN', 'PARTNER_SUPERVISOR', 'PARTNER_SUPPORT', 'PARTNER_TECHSUPPORT', 'PROVIDER']
+STAFF_METASERVICE_ROLES = ['METASERVICE-ADMIN', 'METASERVICE-SUPERVISOR', 'METASERVICE-SUPPORT', 'METASERVICE-TECHSUPPORT']
+STAFF_PARTNER_ROLES = ['PARTNER-ADMIN', 'PARTNER-SUPERVISOR', 'PARTNER-SUPPORT', 'PARTNER-TECHSUPPORT', 'PROVIDER']
 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 = 'APPEND'
-global menu_visible_pages
+global visible_pages
 visible_pages = []
 
 if MENU_ALG == 'PURE':
@@ -95,18 +145,35 @@ MENU_SCHEME_LIST_OPEN = {
     'providers': ['sharix_admin', 'person', 'Исполнители'],
     'orders': ['sharix_admin', 'clock-history', 'Заказы'],
     'access_control': ['sharix_admin', 'hdd-network', 'Права доступа'],
-    'tickets': ['tickets_list_list', 'tickets', 'Заявки'],
+    'tickets_list_list': ['tickets', 'tickets', 'Заявки'],
     'support_chat': ['sharix_admin', 'tickets', 'Чат техподдержки'],
     'job_request_metaservice': ['sharix_admin', 'credit-card', 'Вакансии'],
+    'cooperate_request': ['sharix_admin', 'credit-card', 'Стать партнером'],
     }
 
 
 def gen_avaliable_pages(roles):
 #any(x in role for x in STAFF_METASERVICE_ROLES):
-    global visible_pages
+    #global visible_pages
     global MENU_SCHEME_LIST
-    if any(x in roles for x in STAFF_METASERVICE_ROLES):
 
+    visible_pages = []
+
+    if MENU_ALG == 'PURE':
+        visible_pages.extend(MENU_GLOBAL)
+        visible_pages.extend(MENU_OPEN)
+
+    if MENU_ALG == 'REPLACE':
+        visible_pages.extend(MENU_GLOBAL)
+        visible_pages.extend(MENU_GLOBAL_CUSTOMIZABLE)
+
+    if MENU_ALG == 'APPEND':
+        visible_pages.extend(MENU_GLOBAL)
+        visible_pages.extend(MENU_GLOBAL_CUSTOMIZABLE)
+        visible_pages.extend(MENU_OPEN)
+
+
+    if any(x in roles for x in STAFF_METASERVICE_ROLES):
         if MENU_ALG == 'PURE':
             visible_pages.extend(STAFF_METASERVICE_MENU_GLOBAL)
             visible_pages.extend(STAFF_METASERVICE_MENU_OPEN)
@@ -121,7 +188,6 @@ def gen_avaliable_pages(roles):
 
     if any(x in roles for x in STAFF_PARTNER_ROLES):
 #if role in STAFF_PARTNER_ROLES:
-
         if MENU_ALG == 'PURE':
             visible_pages.extend(STAFF_MY_PARTNER_MENU_GLOBAL)
             visible_pages.extend(STAFF_MY_PARTNER_MENU_OPEN)
@@ -157,6 +223,7 @@ def gen_avaliable_pages(roles):
             visible_pages.extend(CLIENT_MY_MENU_OPEN)
             visible_pages.extend(WSR_EXTENDED)
             visible_pages.extend(WSR_EXTENDED_MY)
+    
 
 #MAYBE REMOVE DUPLICATES?
     visible_pages = list(dict.fromkeys(visible_pages))
@@ -164,7 +231,7 @@ def gen_avaliable_pages(roles):
     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=[]
@@ -172,7 +239,14 @@ def gen_avaliable_pages(roles):
             menu_item=menu_item+value
             menu_result.append(menu_item)
 
-    print (menu_result)
+    #print (roles, menu_result)
     return menu_result
 
-gen_avaliable_pages('METASERVICE-ADMIN')
+#gen_avaliable_pages('METASERVICE-ADMIN')
+#gen_avaliable_pages('METASERVICE-SUPERVISOR')
+#gen_avaliable_pages('METASERVICE-SUPPORT')
+#gen_avaliable_pages('PARTNER-ADMIN')
+#gen_avaliable_pages('PARTNER-SUPERVISOR')
+#gen_avaliable_pages('PARTNER-SUPPORT')
+#gen_avaliable_pages('PROVIDER')
+#gen_avaliable_pages('CLIENT')

+ 26 - 7
sharix_admin/templates/sharix_admin/resource_list.html

@@ -1,10 +1,22 @@
 {% extends 'sharix_admin/base_admin.html' %}
 {% load render_table from django_tables2 %}
+{% load i18n %}
 {% load static %}
 
 {% block view %}
 {% block contenthome %}
-    <p class="text-muted">
+
+<style>
+  a {
+    color: black;
+    text-decoration: none;
+  }
+  a:hover {
+    color: black;
+  }
+</style>
+
+<p class="description_service">
         На этой странице представлены список средств и объектов, необходимых для обеспечения функционирования сервиса. 
         Активация ресурсов происходит через <a href="{% url 'tickets:ticket_list_list' %}" class="text-primary">заявки</a>.
     </p>
@@ -14,8 +26,10 @@
             Как пользоваться?
         </button>
         <div class="dropdown-menu" aria-labelledby="howToUseDropdown">
-            <p class="dropdown-item-text custom-dropdown-text">На этой странице представлены список средств и объектов, необходимых для обеспечения функционирования сервиса. Активация ресурсов происходит через заявки. На этой странице представлены список средств и объектов, необходимых для обеспечения функционирования сервиса. Активация ресурсов происходит через заявки. .</p>
-        </div>
+            <p class="dropdown-item-text custom-dropdown-text">
+	    На этой странице представлены список средств и объектов, необходимых для обеспечения функционирования сервиса. Активация ресурсов происходит через заявки. На этой странице представлены список средств и объектов, необходимых для обеспечения функционирования сервиса. Активация ресурсов происходит через заявки.
+	    </p>
+	</div>
     </div>
 
     <div class="mb-3 d-flex justify-content-between align-items-center">
@@ -23,13 +37,18 @@
           <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-end mt-2">
       <a href="{% url 'sharix_admin:resource/add/' %}" class="btn btn-primary" style="height: 38px;">Добавить ресурс</a>
     </div>
 
-    <div class="container text-center mt-2">
-      {% render_table table %}
-    </div>
+    <div class="row justify-content-start">
+          <div class="maintable" id="maintable">
+            {% render_table table %}
+          </div>     
+      </div>
+
 
     <script>
       // Запрос на изменения статуса ресурса
@@ -59,4 +78,4 @@
 
     
 {% endblock contenthome %}
-{% endblock view %}
+{% endblock %}