context_processors.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. from django.templatetags.static import static
  2. from django.urls import reverse
  3. from django.utils.translation import get_language
  4. from . import settings
  5. from ..users.social.utils import get_enabled_social_auth_sites_list
  6. BLANK_AVATAR_URL = static(settings.MISAGO_BLANK_AVATAR)
  7. def conf(request):
  8. return {
  9. "BLANK_AVATAR_URL": request.settings.blank_avatar or BLANK_AVATAR_URL,
  10. "DEBUG": settings.DEBUG,
  11. "LANGUAGE_CODE_SHORT": get_language()[:2],
  12. "LOGIN_REDIRECT_URL": settings.LOGIN_REDIRECT_URL,
  13. "LOGIN_URL": settings.LOGIN_URL,
  14. "LOGOUT_URL": settings.LOGOUT_URL,
  15. "THREADS_ON_INDEX": settings.MISAGO_THREADS_ON_INDEX,
  16. "settings": request.settings,
  17. }
  18. def og_image(request):
  19. og_image = request.settings.get("og_image")
  20. if not og_image["value"]:
  21. return {"og_image": None}
  22. return {
  23. "og_image": {
  24. "url": og_image["value"],
  25. "width": og_image["width"],
  26. "height": og_image["height"],
  27. }
  28. }
  29. def preload_settings_json(request):
  30. preloaded_settings = request.settings.get_public_settings()
  31. preloaded_settings.update(
  32. {
  33. "LOGIN_API_URL": settings.MISAGO_LOGIN_API_URL,
  34. "LOGIN_REDIRECT_URL": reverse(settings.LOGIN_REDIRECT_URL),
  35. "LOGIN_URL": reverse(settings.LOGIN_URL),
  36. "LOGOUT_URL": reverse(settings.LOGOUT_URL),
  37. "SOCIAL_AUTH": get_enabled_social_auth_sites_list(),
  38. }
  39. )
  40. request.frontend_context.update(
  41. {
  42. "BLANK_AVATAR_URL": request.settings.blank_avatar or BLANK_AVATAR_URL,
  43. "CSRF_COOKIE_NAME": settings.CSRF_COOKIE_NAME,
  44. "ENABLE_DELETE_OWN_ACCOUNT": request.settings.allow_delete_own_account,
  45. "ENABLE_DOWNLOAD_OWN_DATA": request.settings.allow_data_downloads,
  46. "MISAGO_PATH": reverse("misago:index"),
  47. "SETTINGS": preloaded_settings,
  48. "STATIC_URL": settings.STATIC_URL,
  49. "THREADS_ON_INDEX": settings.MISAGO_THREADS_ON_INDEX,
  50. }
  51. )
  52. return {}