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¬ificatorType=" + Constants.NOTIFICATOR_TYPE);
}
}
writeErrors(xmlResponse, errors);
}