context_processors.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. 'AUTH_CRITERIA_API': reverse('misago:api:auth-criteria'),
  14. 'USERS_API': reverse('misago:api:user-list'),
  15. 'CAPTCHA_API': reverse('misago:api:captcha-question'),
  16. 'USERNAME_CHANGES_API': reverse('misago:api:usernamechange-list'),
  17. })
  18. return {
  19. 'USERCP_URL': usercp.get_default_link(),
  20. 'USERS_LIST_URL': users_list.get_default_link(),
  21. 'USER_PROFILE_URL': user_profile.get_default_link(),
  22. }
  23. def preload_user_json(request):
  24. if not request.include_frontend_context:
  25. return {}
  26. request.frontend_context.update({
  27. 'isAuthenticated': bool(request.user.is_authenticated),
  28. })
  29. if request.user.is_authenticated:
  30. request.frontend_context.update({
  31. 'user': AuthenticatedUserSerializer(request.user).data
  32. })
  33. else:
  34. request.frontend_context.update({
  35. 'user': AnonymousUserSerializer(request.user).data
  36. })
  37. return {}