]> git.0d.be Git - panikdb.git/blob - panikdb/context_processors.py
22bba5697a2547d5c995dad5358bd5bec12704e5
[panikdb.git] / panikdb / context_processors.py
1 from combo.apps.pwa.models import PwaSettings
2 from combo.utils.cache import cache_during_request
3 from django.conf import settings
4
5
6 def internal_ip(request):
7     current_ip = (
8         request.META.get('HTTP_X_FORWARDED_FOR')
9         or request.META.get('HTTP_X_REAL_IP')
10         or request.META.get('REMOTE_ADDR')
11     )
12     return {
13         'internal_ip': current_ip in settings.INTERNAL_IPS,
14         'current_ip': current_ip,
15     }
16
17
18 def site_settings(request):
19     d = {
20         'site_title': settings.SITE_TITLE,
21         'has_soma': settings.HAS_SOMA,
22         'has_pige_download': bool(settings.PIGES),
23         'has_wiki': settings.HAS_WIKI,
24         'has_cms': settings.HAS_CMS,
25         'has_nonstop': settings.HAS_NONSTOP,
26         'has_regie': settings.HAS_REGIE,
27         'has_forums': settings.HAS_FORUMS,
28         'has_recording_buttons': settings.HAS_RECORDING_BUTTONS,
29         'has_membership_support': settings.HAS_MEMBERSHIP_SUPPORT,
30         'has_newsletters': settings.HAS_NEWSLETTERS,
31         'has_auto_schedule': getattr(settings, 'NONSTOP_AUTO_SCHEDULE', False),
32         'stats_visit_url': settings.STATS_VISIT_URL,
33         'pwa_settings': cache_during_request(PwaSettings.singleton),
34         'piges': settings.PIGES,
35         'wiki_search_base_url': settings.WIKI_SEARCH_BASE_URL,
36         'website_url': settings.WEBSITE_BASE_URL.strip('/'),
37     }
38     d.update(settings.TEMPLATE_VARS)
39     return d