diff --git a/core/settings.py b/core/settings.py index 3f92579..bfcda8e 100644 --- a/core/settings.py +++ b/core/settings.py @@ -90,7 +90,8 @@ TEMPLATES = [ 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', - 'shiftflow.context_processors.env_info', # Правильный путь + 'shiftflow.context_processors.env_info', + 'shiftflow.context_processors.authz_info', ], }, }, diff --git a/shiftflow/context_processors.py b/shiftflow/context_processors.py index 4f1cbce..16b4227 100644 --- a/shiftflow/context_processors.py +++ b/shiftflow/context_processors.py @@ -1,9 +1,19 @@ from django.conf import settings +from shiftflow.authz import get_user_roles, primary_role + + def env_info(request): - """ - Прокидываем ENV_TYPE во все шаблоны. - """ return { 'ENV_TYPE': getattr(settings, 'ENV_TYPE', 'local') + } + + +def authz_info(request): + roles = get_user_roles(getattr(request, 'user', None)) + profile = getattr(getattr(request, 'user', None), 'profile', None) + return { + 'user_roles': sorted(roles), + 'user_role': primary_role(roles), + 'is_readonly': bool(getattr(profile, 'is_readonly', False)) if profile else False, } \ No newline at end of file diff --git a/shiftflow/templates/shiftflow/customers.html b/shiftflow/templates/shiftflow/customers.html index 98a0c81..54d11ed 100644 --- a/shiftflow/templates/shiftflow/customers.html +++ b/shiftflow/templates/shiftflow/customers.html @@ -4,7 +4,7 @@