context_processors.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. from django.contrib.staticfiles.templatetags.staticfiles import static
  2. from django.urls import reverse
  3. from django.utils.translation import get_language
  4. from misago.users.social.utils import get_enabled_social_auth_sites_list
  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. 'SOCIAL_AUTH': get_enabled_social_auth_sites_list(),
  27. })
  28. request.frontend_context.update({
  29. 'SETTINGS': preloaded_settings,
  30. 'MISAGO_PATH': reverse('misago:index'),
  31. 'BLANK_AVATAR_URL': BLANK_AVATAR_URL,
  32. 'ENABLE_DELETE_OWN_ACCOUNT': misago_settings.MISAGO_ENABLE_DELETE_OWN_ACCOUNT,
  33. 'STATIC_URL': misago_settings.STATIC_URL,
  34. 'CSRF_COOKIE_NAME': misago_settings.CSRF_COOKIE_NAME,
  35. 'THREADS_ON_INDEX': misago_settings.MISAGO_THREADS_ON_INDEX,
  36. })
  37. return {}