List of usage examples for org.springframework.web.bind.support SessionStatus setComplete
void setComplete();
From source file:csns.web.controller.SiteBlockControllerS.java
@RequestMapping(value = "/site/{qtr}/{cc}-{sn}/block/addResource", method = RequestMethod.POST) public String addResource(@ModelAttribute Item item, @ModelAttribute Resource resource, @RequestParam Long blockId, @RequestParam(value = "uploadedFile", required = false) MultipartFile uploadedFile, BindingResult bindingResult, SessionStatus sessionStatus) { resourceValidator.validate(resource, uploadedFile, bindingResult); if (bindingResult.hasErrors()) return "site/block/addResource"; User user = SecurityUtils.getUser(); if (resource.getType() != ResourceType.NONE) { if (resource.getType() == ResourceType.FILE && uploadedFile != null && !uploadedFile.isEmpty()) resource.setFile(fileIO.save(uploadedFile, user, true)); item.getAdditionalResources().add(resource); item = itemDao.saveItem(item);// www . j a v a2 s. co m logger.info(user.getUsername() + " added a resource to item " + item.getId() + " in block " + blockId); } sessionStatus.setComplete(); return "redirect:editItem?blockId=" + blockId + "&itemId=" + item.getId(); }
From source file:nl.surfnet.coin.teams.control.DetailTeamController.java
@RequestMapping(value = "/doleaveteam.shtml", method = RequestMethod.POST) public RedirectView leaveTeam(ModelMap modelMap, HttpServletRequest request, @ModelAttribute(TokenUtil.TOKENCHECK) String sessionToken, @RequestParam() String token, @RequestParam("team") String teamId, SessionStatus status) throws UnsupportedEncodingException { Person person = (Person) request.getSession().getAttribute(LoginInterceptor.PERSON_SESSION_KEY); String personId = person.getId(); Team team = null;//ww w . ja va 2 s . c o m if (StringUtils.hasText(teamId)) { team = grouperTeamService.findTeamById(teamId); } if (team == null) { status.setComplete(); modelMap.clear(); throw new RuntimeException("Parameter error."); } Set<Member> admins = grouperTeamService.findAdmins(team); Member[] adminsArray = admins.toArray(new Member[admins.size()]); if (admins.size() == 1 && adminsArray[0].getId().equals(personId)) { status.setComplete(); return new RedirectView("detailteam.shtml?team=" + URLEncoder.encode(teamId, UTF_8) + "&view=" + ViewUtil.getView(request) + "&mes=" + ADMIN_LEAVE_TEAM, false, true, false); } // Leave the team grouperTeamService.deleteMember(teamId, personId); AuditLog.log("User {} left team {}", personId, teamId); status.setComplete(); modelMap.clear(); return new RedirectView("home.shtml?teams=my&view=" + ViewUtil.getView(request)); }
From source file:nl.surfnet.coin.teams.control.AddMemberController.java
@RequestMapping(value = "/doResendInvitation.shtml", method = RequestMethod.POST) public String doResendInvitation(ModelMap modelMap, @ModelAttribute("invitation") Invitation invitation, BindingResult result, HttpServletRequest request, @ModelAttribute(TokenUtil.TOKENCHECK) String sessionToken, @RequestParam() String token, SessionStatus status) throws UnsupportedEncodingException { TokenUtil.checkTokens(sessionToken, token, status); Validator validator = new InvitationValidator(); validator.validate(invitation, result); String messageText = request.getParameter("messageText"); if (result.hasErrors()) { modelMap.addAttribute("messageText", messageText); return "resendinvitation"; }// w ww. ja va2s. c o m Person person = (Person) request.getSession().getAttribute(LoginInterceptor.PERSON_SESSION_KEY); if (!controllerUtil.hasUserAdministrativePrivileges(person, invitation.getTeamId())) { status.setComplete(); modelMap.clear(); throw new RuntimeException("Requester (" + person.getId() + ") is not member or does not have the correct " + "privileges to resend an invitation"); } InvitationMessage invitationMessage = new InvitationMessage(messageText, person.getId()); invitation.addInvitationMessage(invitationMessage); invitation.setTimestamp(new Date().getTime()); teamInviteService.saveOrUpdate(invitation); Locale locale = localeResolver.resolveLocale(request); String teamId = invitation.getTeamId(); Team team = grouperTeamService.findTeamById(teamId); Object[] messageValuesSubject = { team.getName() }; String subject = messageSource.getMessage(INVITE_SEND_INVITE_SUBJECT, messageValuesSubject, locale); sendInvitationByMail(invitation, subject, person, locale); status.setComplete(); modelMap.clear(); return "redirect:detailteam.shtml?team=" + URLEncoder.encode(teamId, UTF_8) + "&view=" + ViewUtil.getView(request); }
From source file:csns.web.controller.NewsControllerS.java
@RequestMapping(value = "/department/{dept}/news/post", method = RequestMethod.POST) public String post(@ModelAttribute News news, @PathVariable String dept, @RequestParam Long forumId, @RequestParam(value = "file", required = false) MultipartFile[] uploadedFiles, BindingResult result, SessionStatus sessionStatus) { newsValidator.validate(news, result); if (result.hasErrors()) return "news/post"; Post post = news.getTopic().getFirstPost(); User user = userDao.getUser(SecurityUtils.getUser().getId()); if (uploadedFiles != null) post.getAttachments().addAll(fileIO.save(uploadedFiles, user, true)); post.setAuthor(user);//w w w . j av a 2s.c o m post.setDate(new Date()); Forum forum = forumDao.getForum(forumId); news.getTopic().setForum(forum); news = newsDao.saveNews(news); user.incrementNumOfForumPosts(); forum.incrementNumOfTopics(); forum.incrementNumOfPosts(); forum.setLastPost(news.getTopic().getFirstPost()); subscriptionDao.subscribe(news.getTopic(), user); logger.info(user.getUsername() + " posted news " + news.getId()); sessionStatus.setComplete(); return "redirect:/department/" + dept + "/news/current"; }
From source file:fi.koku.kks.controller.CreateCollectionController.java
@ActionMapping(params = "action=createNewVersion") public void createVersion(PortletSession session, @ModelAttribute(value = "child") Person child, @RequestParam String id, Version version, BindingResult result, ActionResponse response, SessionStatus sessionStatus) { version.validate(version, result);//from w ww.jav a2 s .co m if (!result.hasErrors()) { LOG.debug("create new version"); String collection = kksService.createKksCollectionVersion(version.getName(), id, child.getPic(), version.isClear(), Utils.getPicFromSession(session)); if (collection == null) { result.reject("collection.create.failed"); response.setRenderParameter("action", "showCollection"); response.setRenderParameter("pic", child.getPic()); response.setRenderParameter("collection", id); } else { version.setClear(false); response.setRenderParameter("action", "showCollection"); response.setRenderParameter("pic", child.getPic()); response.setRenderParameter("collection", collection); sessionStatus.setComplete(); } } else { response.setRenderParameter("action", "showCollection"); response.setRenderParameter("pic", child.getPic()); response.setRenderParameter("collection", id); } }
From source file:org.dspace.webmvc.controller.admin.CommunityController.java
@RequestMapping(params = "update", method = RequestMethod.POST) public String processCommunityUpdate(@RequestAttribute Context context, @RequestParam(value = "communityID", required = false) Integer communityID, @RequestParam(value = "createNew", required = false) String createNew, @ModelAttribute("communityMetadataForm") @Valid CommunityMetadataForm communityMetadataForm, BindingResult bindingResult, SessionStatus status) throws SQLException, AuthorizeException, IOException { if (bindingResult.hasErrors()) { return "pages/admin/communityEdit"; } else {//from w w w.ja v a 2 s . c o m Community community; if (createNew != null) { if (communityID == null) { //Create New community = Community.create(null, context); } else { //Subcommunity Community parentCommunity = Community.find(context, communityID); community = Community.create(parentCommunity, context); } } else { community = Community.find(context, communityID); } communityMetadataForm.setCommunityID(community.getID()); communityMetadataForm.save(context); status.setComplete(); return "redirect:/handle/" + community.getHandle(); } }
From source file:org.openmrs.module.metadatasharing.web.controller.ExportController.java
@RequestMapping(value = COMPLETE_PATH, method = RequestMethod.POST) public String complete(@ModelAttribute(EXPORTER) PackageExporter exporter, Errors errors, @ModelAttribute(PACKAGE_ITEMS) PackageItems packageItems, Model model, SessionStatus session) { if (packageItems.getItems().get("Concept") != null) { if (Context.getService(MetadataMappingService.class).isAddLocalMappingOnExport() && !Context.getService(MetadataMappingService.class).isLocalSourceConfigured()) { errors.rejectValue("package", "metadatasharing.error.conceptSource.notConfigured"); return EDIT_PATH; }//from w w w . j ava2 s .co m } for (Set<Item> items : packageItems.getItems().values()) { for (Item item : items) { exporter.addItem(item); } } Task task = exporter.schedulePackageExport(); session.setComplete(); model.addAttribute("uuid", task.getUuid()); return WebUtils.redirect(TaskController.DETAILS_PATH); }
From source file:nl.surfnet.coin.teams.control.DetailTeamController.java
@RequestMapping(value = "/doaddremoverole.shtml", method = RequestMethod.POST) public RedirectView addOrRemoveRole(ModelMap modelMap, HttpServletRequest request, @ModelAttribute(TokenUtil.TOKENCHECK) String sessionToken, @RequestParam() String token, SessionStatus status) throws IOException, JSONException { TokenUtil.checkTokens(sessionToken, token, status); String teamId = request.getParameter("teamId"); String memberId = request.getParameter("memberId"); String roleString = request.getParameter("roleId"); int offset = getOffset(request); String action = request.getParameter("doAction"); if (!StringUtils.hasText(teamId)) { status.setComplete(); modelMap.clear();/*from w ww.j av a 2 s . c om*/ return new RedirectView("home.shtml?teams=my" + "&view=" + ViewUtil.getView(request)); } if (!StringUtils.hasText(memberId) || !StringUtils.hasText(roleString) || !validAction(action)) { status.setComplete(); modelMap.clear(); return new RedirectView("detailteam.shtml?team=" + URLEncoder.encode(teamId, UTF_8) + "&view=" + ViewUtil.getView(request) + "&mes=no.role.action" + "&offset=" + offset); } Person person = (Person) request.getSession().getAttribute(LoginInterceptor.PERSON_SESSION_KEY); String message; if (action.equalsIgnoreCase("remove")) { Team team = grouperTeamService.findTeamById(teamId); // is the team null? return error if (team == null) { status.setComplete(); modelMap.clear(); return new RedirectView("home.shtml?teams=my" + "&view=" + ViewUtil.getView(request)); } message = removeRole(teamId, memberId, roleString, team, person.getId()); } else { message = addRole(teamId, memberId, roleString, person.getId()); } status.setComplete(); modelMap.clear(); return new RedirectView("detailteam.shtml?team=" + URLEncoder.encode(teamId, UTF_8) + "&view=" + ViewUtil.getView(request) + "&mes=" + message + "&offset=" + offset); }
From source file:nl.surfnet.coin.teams.control.DetailTeamController.java
@RequestMapping(value = "/dodeletemember.shtml", method = RequestMethod.GET) public RedirectView deleteMember(ModelMap modelMap, HttpServletRequest request, @ModelAttribute(TokenUtil.TOKENCHECK) String sessionToken, @RequestParam() String token, @RequestParam("team") String teamId, SessionStatus status) throws UnsupportedEncodingException { TokenUtil.checkTokens(sessionToken, token, status); String personId = URLDecoder.decode(request.getParameter(MEMBER_PARAM), UTF_8); Person ownerPerson = (Person) request.getSession().getAttribute(LoginInterceptor.PERSON_SESSION_KEY); String ownerId = ownerPerson.getId(); if (!StringUtils.hasText(teamId) || !StringUtils.hasText(personId)) { status.setComplete(); modelMap.clear();// ww w. j a va2 s . c o m throw new RuntimeException("Parameter error."); } // fetch the logged in member Member owner = grouperTeamService.findMember(teamId, ownerId); Member member = grouperTeamService.findMember(teamId, personId); // Check whether the owner is admin and thus is granted to delete the // member. // Check whether the member that should be deleted is the logged in user. // This should not be possible, a logged in user should click the resign // from team button. if (owner.getRoles().contains(Role.Admin) && !personId.equals(ownerId)) { // Delete the member grouperTeamService.deleteMember(teamId, personId); AuditLog.log("Admin user {} deleted user {} from team {}", ownerId, personId, teamId); status.setComplete(); modelMap.clear(); return new RedirectView("detailteam.shtml?team=" + URLEncoder.encode(teamId, UTF_8) + "&view=" + ViewUtil.getView(request)); // if the owner is manager and the member is not an admin he can delete // the member } else if (owner.getRoles().contains(Role.Manager) && !member.getRoles().contains(Role.Admin) && !personId.equals(ownerId)) { // Delete the member grouperTeamService.deleteMember(teamId, personId); AuditLog.log("Manager user {} deleted user {} from team {}", ownerId, personId, teamId); status.setComplete(); modelMap.clear(); return new RedirectView("detailteam.shtml?team=" + URLEncoder.encode(teamId, UTF_8) + "&view=" + ViewUtil.getView(request)); } status.setComplete(); modelMap.clear(); return new RedirectView("detailteam.shtml?team=" + URLEncoder.encode(teamId, UTF_8) + "&mes=" + NOT_AUTHORIZED_DELETE_MEMBER + "&view=" + ViewUtil.getView(request)); }
From source file:net.neurowork.cenatic.centraldir.web.indicators.IndicadorController.java
@RequestMapping("/indicators/{indicatorId}/png") public void pngIndicatorHandler(@PathVariable("indicatorId") int indicatorId, OutputStream stream, SessionStatus status, HttpSession session) throws IOException { if (logger.isTraceEnabled()) logger.trace("Showing PNG of Indicator with Id: " + indicatorId); Indicator indicador;/* w w w . j av a 2 s .co m*/ try { indicador = indicatorService.loadIndicator(indicatorId); OrganizacionFilter filter = (OrganizacionFilter) session.getAttribute(IND_FILTER); if (filter != null) { logger.info("Filtering: " + filter.toString()); } indicador.setFilter(filter); Dataset dataset = indicatorService.buildGraphDataset(indicador); JFreeChart chart = ChartsUtil.generateChart(indicador, dataset); if (chart != null) { ChartUtilities.writeChartAsPNG(stream, chart, indicador.getWidth(), indicador.getHeight()); } status.setComplete(); } catch (ServiceException e) { logger.error(e.getMessage()); } }