context_processors.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. def conf(request):
  6. return {
  7. "BLANK_AVATAR_URL": (
  8. request.settings.blank_avatar or static(settings.MISAGO_BLANK_AVATAR)
  9. ),
  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. "SSO_LOGIN_URL": reverse("simple-sso-login"),
  34. "LOGIN_API_URL": settings.MISAGO_LOGIN_API_URL,
  35. "LOGIN_REDIRECT_URL": reverse(settings.LOGIN_REDIRECT_URL),
  36. "LOGIN_URL": reverse(settings.LOGIN_URL),
  37. "LOGOUT_URL": reverse(settings.LOGOUT_URL),
  38. }
  39. )
  40. request.frontend_context.update(
  41. {
  42. "BLANK_AVATAR_URL": (
  43. request.settings.blank_avatar or static(settings.MISAGO_BLANK_AVATAR)
  44. ),
  45. "CSRF_COOKIE_NAME": settings.CSRF_COOKIE_NAME,
  46. "ENABLE_DELETE_OWN_ACCOUNT": request.settings.allow_delete_own_account,
  47. "ENABLE_DOWNLOAD_OWN_DATA": request.settings.allow_data_downloads,
  48. "MISAGO_PATH": reverse("misago:index"),
  49. "SETTINGS": preloaded_settings,
  50. "STATIC_URL": settings.STATIC_URL,
  51. "THREADS_ON_INDEX": settings.MISAGO_THREADS_ON_INDEX,
  52. }
  53. )
  54. return {}