protected void doPost()

in server/src/jetbrains/buildServer/vsoRooms/controllers/VSONotifierSettingsPageExtension.java [75:112]


    protected void doPost(@NotNull HttpServletRequest request, @NotNull HttpServletResponse response, @NotNull Element xmlResponse) {
      if (PublicKeyUtil.isPublicKeyExpired(request)) {
        PublicKeyUtil.writePublicKeyExpiredError(xmlResponse);
        return;
      }

      final VSONotificationUserSettingsBean bean = new VSONotificationUserSettingsBean();
      FormUtil.bindFromRequest(request, bean);

      if (isStoreInSessionRequest(request)) {
        XmlResponseUtil.writeFormModifiedIfNeeded(xmlResponse, bean);
        return;
      }

      ActionErrors errors = validate(bean);
      if (errors.hasNoErrors()) {
        if (isTestConnectionRequest(request)) {
          String testResult = testSettings(bean);
          XmlResponseUtil.writeTestResult(xmlResponse, testResult);
        }
        else {

          SUser user = SessionUser.getUser(request);
          final String userIdStr = request.getParameter("userId");
          if (userIdStr != null) {
            long userId = Long.parseLong(userIdStr);
            user = myUserModel.findUserById(userId);
            if (user == null) throw new UserNotFoundException(userId, "User with id " + userIdStr + " does not exist");
          }

          VSONotificationUserSettingsBean.saveAsUserSettings(bean, user);
          FormUtil.removeAllFromSession(request.getSession(), bean.getClass());
          writeRedirect(xmlResponse, request.getContextPath() + "/profile.html?tab=userNotifications&notificatorType=" + Constants.NOTIFICATOR_TYPE);
        }
      }

      writeErrors(xmlResponse, errors);
    }