private String buildUserInfoJsonp(final HttpServletRequest request, final ConfluenceUser user) { final StringBuilder json = new StringBuilder("{"); final Space space = spaceManager.getPersonalSpace(user); final String baseUrl = applicationProperties.getBaseUrl(UrlMode.CANONICAL); if (space != null) { final String urlPath = space.getUrlPath(); json.append("personalSpaceUrl:\"").append(baseUrl).append(urlPath).append("\""); } else { final boolean canCreatePersonalSpace = userAccessor.isSuperUser(user) || permissionManager.hasCreatePermission(user, personalInformationManager.getOrCreatePersonalInformation(user), Space.class); if (canCreatePersonalSpace) { json.append("createPersonalSpaceUrl:\"").append(baseUrl).append("/spaces/createpersonalspace.action" + "\""); } } json.append("}"); // JSONP final String callBackFunctionName = request.getParameter("callback"); if (callBackFunctionName != null) { json.insert(0, callBackFunctionName + "("); json.append(")"); } return json.toString(); }
.map(item -> userAccessor.getUserByName(item.getUsername())) .map(item -> { PersonalInformation personalInformation = personalInformationManager.getOrCreatePersonalInformation(item); return entityBuilder.build(personalInformation); })
private String getPersonalSpaceRedirectUrl() { final String baseUrl = applicationProperties.getBaseUrl(UrlMode.CANONICAL); final ConfluenceUser user = AuthenticatedUserThreadLocal.get(); if (user == null) { return baseUrl + "/login.action"; } final Space space = spaceManager.getPersonalSpace(user); if (space != null) { return baseUrl + space.getUrlPath(); } else { final boolean canCreatePersonalSpace = userAccessor.isSuperUser(user) || permissionManager.hasCreatePermission(user, personalInformationManager.getOrCreatePersonalInformation(user), Space.class); if (canCreatePersonalSpace) { return baseUrl + "/spaces/createpersonalspace.action"; } } return baseUrl + "/display/~" + user.getName(); }