@RequestMapping(method = RequestMethod.POST) public ModelAndView editProfile(ServletRequest request) throws Exception { Template tmpl = Template.getTemplate(request); if (!tmpl.isSessionAuthorized()) { throw new AccessViolationException("Not authorized"); } String profile = tmpl.getNick(); int topics = Integer.parseInt(request.getParameter("topics")); int messages = Integer.parseInt(request.getParameter("messages")); int tags = Integer.parseInt(request.getParameter("tags")); if (topics <= 0 || topics > 500) { throw new BadInputException("некорректное число тем"); } if (messages <= 0 || messages > 1000) { throw new BadInputException("некорректное число сообщений"); } if (tags <= 0 || tags > 100) { throw new BadInputException("некорректное число меток в облаке"); } if (!DefaultProfile.getStyleList().contains(request.getParameter("style"))) { throw new BadInputException("неправльное название темы"); } tmpl.getProf().setTopics(topics); tmpl.getProf().setMessages(messages); tmpl.getProf().setTags(tags); tmpl.getProf().setShowNewFirst("on".equals(request.getParameter("newfirst"))); tmpl.getProf().setShowPhotos("on".equals(request.getParameter("photos"))); tmpl.getProf().setHideAdsense("on".equals(request.getParameter("hideAdsense"))); tmpl.getProf().setShowGalleryOnMain("on".equals(request.getParameter("mainGallery"))); tmpl.getProf().setFormatMode(request.getParameter("format_mode")); tmpl.getProf().setStyle(request.getParameter("style")); // TODO убрать как только userDao.setStyle(tmpl.getCurrentUser(), request.getParameter("style")); tmpl.getProf().setShowSocial("on".equals(request.getParameter("showSocial"))); String avatar = request.getParameter("avatar"); if (!DefaultProfile.getAvatars().contains(avatar)) { throw new BadInputException("invalid avatar value"); } tmpl.getProf().setAvatarMode(avatar); tmpl.getProf().setThreeColumnsOnMain("on".equals(request.getParameter("3column"))); tmpl.getProf().setShowAnonymous("on".equals(request.getParameter("showanonymous"))); tmpl.getProf().setUseHover("on".equals(request.getParameter("hover"))); tmpl.writeProfile(profile); return new ModelAndView(new RedirectView("/")); }