in teamcity-invitations-plugin-server/src/main/java/org/jetbrains/teamcity/invitations/CreateNewProjectInvitationType.java [219:232]
public ModelAndView invitationAccepted(@NotNull SUser user, @NotNull HttpServletRequest request, @NotNull HttpServletResponse response) {
UserEx originalUser = (UserEx) SessionUser.getUser(request);
Map<String, List<Permission>> additionalPermissions = new HashMap<>();
getProject().getProjectPath().forEach(parent -> {
additionalPermissions.put(parent.getProjectId(), asList(VIEW_BUILD_CONFIGURATION_SETTINGS, VIEW_PROJECT));
});
additionalPermissions.put(project.getProjectId(), asList(CREATE_SUB_PROJECT, VIEW_BUILD_CONFIGURATION_SETTINGS, VIEW_PROJECT));
AdditionalPermissionsUserWrapper wrapper = new AdditionalPermissionsUserWrapper(originalUser, additionalPermissions);
SessionUser.setUser(request, wrapper.getWrappedUser());
myInvitationInProgresses.add(new InvitationInProgress(originalUser, this, wrapper::disable));
return new ModelAndView(new RedirectView(new RelativeWebLinks().getCreateProjectPageUrl(project.getExternalId()), true));
}