-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathcontext_processors.py
More file actions
30 lines (22 loc) · 1.18 KB
/
context_processors.py
File metadata and controls
30 lines (22 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from Access.models import User
from Access.helpers import get_available_access_modules, get_possible_approver_permissions
def add_variables_to_context(request):
# Skip adding context variables in case of API request
if request.headers["Content-Type"] == "application/json":
return {}
try:
currentUser = User.objects.get(user__username=request.user)
except User.DoesNotExist:
return {}
all_access_modules = get_available_access_modules()
context = {}
context["currentUser"] = currentUser
context["totalAccessCount"] = currentUser.get_total_access_count()
context["pendingAccessCount"] = currentUser.get_pending_access_count()
context["groupsMemberFor"] = len(currentUser.get_active_groups())
context["anyApprover"] = currentUser.is_an_approver(get_possible_approver_permissions())
context["pendingGroupAccess"] = currentUser.get_group_pending_access_count()
context["pendingActionsCount"] = currentUser.get_pending_approvals_count(all_access_modules)
context["is_ops"] = currentUser.is_ops
context["failureActionsCount"] = currentUser.get_failed_grants_count() + currentUser.get_failed_revokes_count()
return context