add button link from PO to PR

This commit is contained in:
2022-08-10 09:38:01 +01:00
parent a20569bbd6
commit bbc3b52e90

View File

@@ -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<PurchaseRequest> purchaseRequests = Beans.get(PurchaseRequestRepository.class).all().fetch();
List<Long> tempPurchaseRequest = new ArrayList<>();
for (PurchaseRequest purchaseRequest : purchaseRequests) {
List<PurchaseOrder> 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());
}
}