From bbc3b52e90ca18af1153c6f1b0fd2399d34df49b Mon Sep 17 00:00:00 2001 From: bachir souldi Date: Wed, 10 Aug 2022 09:38:01 +0100 Subject: [PATCH] add button link from PO to PR --- .../purchase/web/PurchaseOrderController.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/web/PurchaseOrderController.java b/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/web/PurchaseOrderController.java index 71dde02d..6ea3bb2e 100644 --- a/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/web/PurchaseOrderController.java +++ b/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/web/PurchaseOrderController.java @@ -34,7 +34,9 @@ import com.axelor.apps.base.service.BlockingService; import com.axelor.apps.base.service.PartnerPriceListService; import com.axelor.apps.base.service.TradingNameService; import com.axelor.apps.purchase.db.PurchaseOrder; +import com.axelor.apps.purchase.db.PurchaseRequest; import com.axelor.apps.purchase.db.repo.PurchaseOrderRepository; +import com.axelor.apps.purchase.db.repo.PurchaseRequestRepository; import com.axelor.apps.purchase.exception.IExceptionMessage; import com.axelor.apps.purchase.service.PurchaseOrderService; import com.axelor.apps.purchase.service.print.PurchaseOrderPrintService; @@ -62,6 +64,8 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.stream.Collectors; + import javax.annotation.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -554,4 +558,40 @@ public class PurchaseOrderController { TraceBackService.trace(response, e); } } + + /** + * @param request + * @param response + */ + public void showPurchaseRequest(ActionRequest request, ActionResponse response){ + PurchaseOrder purchaseOrder = Beans.get(PurchaseOrderRepository.class) + .find(request.getContext().asType(PurchaseOrder.class).getId()); + + List purchaseRequests = Beans.get(PurchaseRequestRepository.class).all().fetch(); + List tempPurchaseRequest = new ArrayList<>(); + + for (PurchaseRequest purchaseRequest : purchaseRequests) { + List pOrder = purchaseRequest.getPurchaseOrderSet().stream().filter((po) -> po.getId() == purchaseOrder.getId()).collect(Collectors.toList()); + if(pOrder.size() > 0){ + tempPurchaseRequest.add(purchaseRequest.getId()); + } + } + + + response.setView( + ActionView.define("Purchase requests") + .model(PurchaseRequest.class.getName()) + .add("grid", "purchase-request-grid") + .add("form", "purchase-request-form") + .param("show-toolbar", "false") + .param("show-confirm", "false") + .param("popup-save", "false") + .param("popup", "false") + .context("_ids", tempPurchaseRequest) + .domain("self.id in (" + Joiner.on(",").join(tempPurchaseRequest) + ")") + .map()); + + + } + }