-
Notifications
You must be signed in to change notification settings - Fork 64
/
context_processors.py
46 lines (39 loc) · 1.36 KB
/
context_processors.py
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
from django.conf import settings
from tardis.tardis_portal.staging import get_full_staging_path
def single_search_processor(request):
context = {}
single_search_on = False
try:
if settings.SINGLE_SEARCH_ENABLED:
single_search_on = True
except AttributeError:
pass
context = {
'search_form': single_search_on,
}
return context
def tokenuser_processor(request):
is_token_user = request.user.username == settings.TOKEN_USERNAME
return {'is_token_user': is_token_user}
def registration_processor(request):
def is_registration_enabled():
try:
if 'registration' in settings.INSTALLED_APPS:
return getattr(settings, 'REGISTRATION_OPEN', True)
except AttributeError:
pass
return False
return {'registration_enabled': is_registration_enabled()}
def user_details_processor(request):
is_authenticated = request.user.is_authenticated()
if is_authenticated:
is_superuser = request.user.is_superuser
username = request.user.username
else:
is_superuser = False
username = None
staging = True if get_full_staging_path(username) else False
return {'username': username,
'is_authenticated': is_authenticated,
'is_superuser': is_superuser,
'has_staging_access': staging}