context_processors.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import json
  2. from django.contrib.staticfiles.templatetags.staticfiles import static
  3. from django.urls import reverse
  4. from django.utils.translation import get_language
  5. from .gateway import settings as misago_settings # noqa
  6. from .gateway import db_settings
  7. BLANK_AVATAR_URL = static(misago_settings.MISAGO_BLANK_AVATAR)
  8. def settings(request):
  9. return {
  10. 'DEBUG': misago_settings.DEBUG,
  11. 'LANGUAGE_CODE_SHORT': get_language()[:2],
  12. 'misago_settings': db_settings,
  13. 'BLANK_AVATAR_URL': BLANK_AVATAR_URL,
  14. 'THREADS_ON_INDEX': misago_settings.MISAGO_THREADS_ON_INDEX,
  15. 'LOGIN_REDIRECT_URL': misago_settings.LOGIN_REDIRECT_URL,
  16. 'LOGIN_URL': misago_settings.LOGIN_URL,
  17. 'LOGOUT_URL': misago_settings.LOGOUT_URL,
  18. }
  19. def preload_settings_json(request):
  20. preloaded_settings = db_settings.get_public_settings()
  21. preloaded_settings.update({
  22. 'LOGIN_API_URL': misago_settings.MISAGO_LOGIN_API_URL,
  23. 'LOGIN_REDIRECT_URL': reverse(misago_settings.LOGIN_REDIRECT_URL),
  24. 'LOGIN_URL': reverse(misago_settings.LOGIN_URL),
  25. 'LOGOUT_URL': reverse(misago_settings.LOGOUT_URL),
  26. })
  27. request.frontend_context.update({
  28. 'SETTINGS': preloaded_settings,
  29. 'MISAGO_PATH': reverse('misago:index'),
  30. 'BLANK_AVATAR_URL': BLANK_AVATAR_URL,
  31. 'STATIC_URL': misago_settings.STATIC_URL,
  32. 'CSRF_COOKIE_NAME': misago_settings.CSRF_COOKIE_NAME,
  33. 'THREADS_ON_INDEX': misago_settings.MISAGO_THREADS_ON_INDEX,
  34. })
  35. return {}