|
@@ -11,21 +11,37 @@ menu = [
|
|
|
{'title':'Сотрудничество', 'link':'test-page', 'sel':'sotrud'},
|
|
|
{'title':'Техподдержка', 'link':'test-page', 'sel':'gear'},
|
|
|
{'title':'Мои заявки', 'link':'tickets', 'sel':'tikets'},
|
|
|
- {'title':'Исполнители', 'link':'provider', 'sel':'people'},
|
|
|
- {'title':'Тарифы услуг', 'link':'service_tariff', 'sel':'person'},
|
|
|
- {'title':'Партнеры', 'link':'partners', 'sel':'people'},
|
|
|
- {'title':'Ресурсы', 'link':'resource', 'sel':'sotrud'},
|
|
|
- {'title':'Услуги сервиса', 'link':'service_type', 'sel':'hdd-network'},
|
|
|
- {'title':'Информация о сервисе', 'link':'service_information/add/', 'sel':'hdd-network'},
|
|
|
- {'title':'Информация о партнере', 'link':'partner_information/add/', 'sel':'person'},
|
|
|
+ {'title':'Исполнители', 'link':'provider', 'sel':'people',
|
|
|
+ 'roles':['METASERVICE-ADMIN']},
|
|
|
+ {'title':'Тарифы услуг', 'link':'service_tariff', 'sel':'person',
|
|
|
+ 'roles':['PARTNER-ADMIN']},
|
|
|
+ {'title':'Партнеры', 'link':'partners', 'sel':'people',
|
|
|
+ 'roles':['METASERVICE-ADMIN']},
|
|
|
+ {'title':'Ресурсы', 'link':'resource', 'sel':'sotrud',
|
|
|
+ 'roles':['PARTNER-ADMIN']},
|
|
|
+ {'title':'Услуги сервиса', 'link':'service_type', 'sel':'hdd-network',
|
|
|
+ 'roles':['METASERVICE-ADMIN']},
|
|
|
+ {'title':'Информация о сервисе', 'link':'service_information/add/', 'sel':'hdd-network',
|
|
|
+ 'roles':['METASERVICE-ADMIN']},
|
|
|
+ {'title':'Информация о партнере', 'link':'partner_information/add/', 'sel':'person',
|
|
|
+ 'roles':['PARTNER-ADMIN']},
|
|
|
{'title':'Тарифы', 'link':'service', 'sel':'tikets'},
|
|
|
]
|
|
|
|
|
|
def get_context(request, page_context) -> dict:
|
|
|
+ # Получаем роли текущего пользователя
|
|
|
+ user_roles = set(group.name for group in request.user.groups.all())
|
|
|
+ is_superuser = request.user.is_superuser
|
|
|
+ menu_items = []
|
|
|
+ # Добавляем только те страницы к которым должен быть доступ
|
|
|
+ for item in menu:
|
|
|
+ if not item.get('roles') or is_superuser or set(item['roles']) & set(user_roles):
|
|
|
+ menu_items.append(item)
|
|
|
+
|
|
|
base_context = {
|
|
|
"title":page_context['title'],
|
|
|
'url_path':resolve(request.path_info).url_name,
|
|
|
- 'menu':menu
|
|
|
+ 'menu':menu_items
|
|
|
}
|
|
|
context = dict(list(base_context.items()) + list(page_context.items()))
|
|
|
return context
|