public ModelAndView invitationAccepted()

in teamcity-invitations-plugin-server/src/main/java/org/jetbrains/teamcity/invitations/JoinProjectInvitationType.java [203:225]


        public ModelAndView invitationAccepted(@NotNull SUser user, @NotNull HttpServletRequest request, @NotNull HttpServletResponse response) {
            try {
                SProject created = core.runAsSystem(() -> {
                    Role role = getRole();
                    SUserGroup group = getGroup();
                    if (role == null && group == null) {
                        throw new InvitationException("Failed to proceed invitation with a non-existing role '" + roleId + "' and group '" + groupKey + "'");
                    }

                    if (role != null) core.addRole(user, role, project.getProjectId());
                    if (group != null) core.assignToGroup(user, group);

                    return project;
                });

                invitationWorkflowFinished(this);

                return new ModelAndView(new RedirectView("/project.html?projectId=" + created.getExternalId(), true));
            } catch (Exception e) {
                Loggers.SERVER.warn("Failed to create project for the invited user " + user.describe(false), e);
                return new ModelAndView(new RedirectView("/", true));
            }
        }