from django.urls import reverse from .pages import user_profile, usercp, users_list from .serializers import AnonymousUserSerializer, AuthenticatedUserSerializer def user_links(request): if request.include_frontend_context: request.frontend_context.update( { "REQUEST_ACTIVATION_URL": reverse("misago:request-activation"), "FORGOTTEN_PASSWORD_URL": reverse("misago:forgotten-password"), "BANNED_URL": reverse("misago:banned"), "USERCP_URL": reverse("misago:options"), "USERS_LIST_URL": reverse("misago:users"), "AUTH_API": reverse("misago:api:auth"), "AUTH_CRITERIA_API": reverse("misago:api:auth-criteria"), "USERS_API": reverse("misago:api:user-list"), "CAPTCHA_API": reverse("misago:api:captcha-question"), "USERNAME_CHANGES_API": reverse("misago:api:usernamechange-list"), "MENTION_API": reverse("misago:api:mention-suggestions"), } ) return { "USERCP_URL": usercp.get_default_link(), "USERS_LIST_URL": users_list.get_default_link(), "USER_PROFILE_URL": user_profile.get_default_link(), } def preload_user_json(request): if not request.include_frontend_context: return {} request.frontend_context.update( {"isAuthenticated": bool(request.user.is_authenticated)} ) if request.user.is_authenticated: serializer = AuthenticatedUserSerializer else: serializer = AnonymousUserSerializer serialized_user = serializer(request.user, context={"acl": request.user_acl}).data request.frontend_context.update({"user": serialized_user}) return {}