diff --git a/modules/axelor-open-suite/axelor-supplier-management/src/main/java/com/axelor/apps/suppliermanagement/service/PurchaseOrderSupplierLineService.java b/modules/axelor-open-suite/axelor-supplier-management/src/main/java/com/axelor/apps/suppliermanagement/service/PurchaseOrderSupplierLineService.java index 76245ff4..76857125 100644 --- a/modules/axelor-open-suite/axelor-supplier-management/src/main/java/com/axelor/apps/suppliermanagement/service/PurchaseOrderSupplierLineService.java +++ b/modules/axelor-open-suite/axelor-supplier-management/src/main/java/com/axelor/apps/suppliermanagement/service/PurchaseOrderSupplierLineService.java @@ -75,6 +75,16 @@ public class PurchaseOrderSupplierLineService { poSupplierLineRepo.save(purchaseOrderSupplierLine); } + @Transactional(rollbackOn = {Exception.class}) + public void refuse(PurchaseOrderSupplierLine purchaseOrderSupplierLine) throws AxelorException { + purchaseOrderSupplierLine.setStateSelect(PurchaseOrderSupplierLineRepository.STATE_NOT_ACCEPTED); + // sophal add acceptedOn and By TCO + purchaseOrderSupplierLine.setRefusalDate(appPurchaseService.getTodayDate()); + purchaseOrderSupplierLine.setRefusedByUser(AuthUtils.getUser());; + + poSupplierLineRepo.save(purchaseOrderSupplierLine); + } + public PurchaseOrderSupplierLine create(Partner supplierPartner, BigDecimal price) { return new PurchaseOrderSupplierLine( diff --git a/modules/axelor-open-suite/axelor-supplier-management/src/main/java/com/axelor/apps/suppliermanagement/web/PurchaseOrderSupplierLineController.java b/modules/axelor-open-suite/axelor-supplier-management/src/main/java/com/axelor/apps/suppliermanagement/web/PurchaseOrderSupplierLineController.java index 3830ea91..8f0a33e2 100644 --- a/modules/axelor-open-suite/axelor-supplier-management/src/main/java/com/axelor/apps/suppliermanagement/web/PurchaseOrderSupplierLineController.java +++ b/modules/axelor-open-suite/axelor-supplier-management/src/main/java/com/axelor/apps/suppliermanagement/web/PurchaseOrderSupplierLineController.java @@ -78,12 +78,24 @@ public class PurchaseOrderSupplierLineController { // sophal refresh purchase order price Beans.get(PurchaseOrderService.class).computePurchaseOrder(order); Beans.get(PurchaseOrderService.class).updateCostPrice(order); - response.setReload(true); + // response.setReload(true); } catch (Exception e) { TraceBackService.trace(response, e); } } + public void refuse(ActionRequest request, ActionResponse response) { + + PurchaseOrderSupplierLine purchaseOrderSupplierLine = + Beans.get(PurchaseOrderSupplierLineRepository.class) + .find(request.getContext().asType(PurchaseOrderSupplierLine.class).getId()); + try { + Beans.get(PurchaseOrderSupplierLineService.class).refuse(purchaseOrderSupplierLine); + } catch (Exception e) { + TraceBackService.trace(response, e); + } + } + /** * Called on supplier partner select. Set the domain for the field supplierPartner *