context_processors.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. from django.urls import reverse
  2. from .pages import user_profile, usercp, users_list
  3. from .serializers import AnonymousUserSerializer, AuthenticatedUserSerializer
  4. def user_links(request):
  5. if request.include_frontend_context:
  6. request.frontend_context.update({
  7. 'REQUEST_ACTIVATION_URL': reverse('misago:request-activation'),
  8. 'FORGOTTEN_PASSWORD_URL': reverse('misago:forgotten-password'),
  9. 'BANNED_URL': reverse('misago:banned'),
  10. 'USERCP_URL': reverse('misago:options'),
  11. 'USERS_LIST_URL': reverse('misago:users'),
  12. 'AUTH_API': reverse('misago:api:auth'),
  13. 'USERS_API': reverse('misago:api:user-list'),
  14. 'CAPTCHA_API': reverse('misago:api:captcha-question'),
  15. 'USERNAME_CHANGES_API': reverse('misago:api:usernamechange-list'),
  16. })
  17. return {
  18. 'USERCP_URL': usercp.get_default_link(),
  19. 'USERS_LIST_URL': users_list.get_default_link(),
  20. 'USER_PROFILE_URL': user_profile.get_default_link(),
  21. }
  22. def preload_user_json(request):
  23. if not request.include_frontend_context:
  24. return {}
  25. request.frontend_context.update({
  26. 'isAuthenticated': request.user.is_authenticated(),
  27. })
  28. if request.user.is_authenticated():
  29. request.frontend_context.update({
  30. 'user': AuthenticatedUserSerializer(request.user).data
  31. })
  32. else:
  33. request.frontend_context.update({
  34. 'user': AnonymousUserSerializer(request.user).data
  35. })
  36. return {}