예제 #1
0
  @RequestMapping(produces = "text/html")
  public String list(
      @RequestParam(value = "page", required = false) Integer page,
      @RequestParam(value = "size", required = false) Integer size,
      Model uiModel) {
    User user = Utils.getCurrentUser();

    if (page != null || size != null) {
      int sizeNo = size == null ? 10 : size.intValue();
      final int firstResult = page == null ? 0 : (page.intValue() - 1) * sizeNo;
      uiModel.addAttribute(
          "purchaserequests",
          PurchaseRequest.findPurchaseRequestsByAcquirer(user)
              .setFirstResult(firstResult)
              .setMaxResults(sizeNo)
              .getResultList());
      float nrOfPages = (float) PurchaseRequest.countPurchaseRequests() / sizeNo;
      uiModel.addAttribute(
          "maxPages",
          (int) ((nrOfPages > (int) nrOfPages || nrOfPages == 0.0) ? nrOfPages + 1 : nrOfPages));
    } else {
      uiModel.addAttribute(
          "purchaserequests",
          PurchaseRequest.findPurchaseRequestsByAcquirer(Utils.getCurrentUser()));
    }
    return "user/purchaserequest/list";
  }
예제 #2
0
  @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;
  }