void populateEditForm(Model uiModel, PurchaseRequest purchaseRequest) { uiModel.addAttribute("purchaseRequest", purchaseRequest); uiModel.addAttribute("proposals", Proposal.findAllProposals()); uiModel.addAttribute("purchaserequestparts", PurchaseRequestPart.findAllPurchaseRequestParts()); uiModel.addAttribute("users", User.findAllUsers()); }
@RequestMapping(method = RequestMethod.PUT, produces = "text/html") public String update( @Valid PurchaseRequest purchaseRequest, BindingResult bindingResult, Model uiModel, HttpServletRequest httpServletRequest) { Utils.checkRights(purchaseRequest); if (bindingResult.hasErrors()) { populateEditForm(uiModel, purchaseRequest); return "user/purchaserequest/update"; } if (purchaseRequest.getToMin() == 0) // e' completa. Molt Ben! { purchaseRequest.setCompleted(true); purchaseRequest.merge(); } else // non e' completa { purchaseRequest.setCompleted(false); purchaseRequest.merge(); PurchaseRequestPart part = new PurchaseRequestPart(); part.setPurchaseRequest(purchaseRequest); part.setAcquirer(purchaseRequest.getAcquirer()); part.setQuantity(purchaseRequest.getQuantity()); part.persist(); } checkProposalMinReached(purchaseRequest.getProposal()); uiModel.asMap().clear(); purchaseRequest.merge(); return "redirect:/user/purchaserequest/" + encodeUrlPathSegment(purchaseRequest.getId().toString(), httpServletRequest); }
@RequestMapping(method = RequestMethod.POST, produces = "text/html") public String create( PurchaseRequest purchaseRequest, BindingResult bindingResult, Model uiModel, HttpServletRequest httpServletRequest, @RequestParam(required = false) Integer proposal, @RequestParam(required = false) Integer addTo) { // checkRights(purchaseRequest); if (bindingResult.hasErrors()) { populateEditForm(uiModel, purchaseRequest); return "user/purchaserequest/create"; } int pag_id = 0; purchaseRequest.setAcquirer(Utils.getCurrentUser()); purchaseRequest.setReceived(false); /* TO-DO: qua mettiamo il check per vedere se è completa o se dobbiamo fare delle parti... */ if (addTo != null) // se la sto aggiungendo ad una gia' esistente! { PurchaseRequest pr = PurchaseRequest.findPurchaseRequest(addTo); // aggiungo a questa pr.setQuantity(pr.getQuantity() + purchaseRequest.getQuantity()); if (pr.getToMin() == 0) { pr.setCompleted(true); checkProposalMinReached(pr.getProposal()); } pr.merge(); // ignoro la mia "purchaserequest" e memorizzo la parte PurchaseRequestPart part = new PurchaseRequestPart(); part.setPurchaseRequest(PurchaseRequest.findPurchaseRequest(addTo)); part.setAcquirer(purchaseRequest.getAcquirer()); part.setQuantity(purchaseRequest.getQuantity()); part.persist(); pag_id = pr.getProposal().getId(); } else { // se non sto aggiungendo a niente if (purchaseRequest.getToMin() == 0) // e' completa. Molt Ben! { purchaseRequest.setCompleted(true); purchaseRequest.persist(); } else // non e' completa { purchaseRequest.setCompleted(false); purchaseRequest.persist(); PurchaseRequestPart part = new PurchaseRequestPart(); part.setPurchaseRequest(purchaseRequest); part.setAcquirer(purchaseRequest.getAcquirer()); part.setQuantity(purchaseRequest.getQuantity()); part.persist(); } checkProposalMinReached(purchaseRequest.getProposal()); pag_id = purchaseRequest.getProposal().getId(); } uiModel.asMap().clear(); return "redirect:/user/proposals/" + pag_id; }