diff --git a/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/service/PurchaseRequestService.java b/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/service/PurchaseRequestService.java index 2b255d7..976b251 100644 --- a/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/service/PurchaseRequestService.java +++ b/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/service/PurchaseRequestService.java @@ -19,6 +19,7 @@ package com.axelor.apps.purchase.service; import com.axelor.apps.purchase.db.PurchaseOrder; import com.axelor.apps.purchase.db.PurchaseRequest; +import com.axelor.auth.db.User; import com.axelor.exception.AxelorException; import java.util.List; @@ -27,6 +28,8 @@ public interface PurchaseRequestService { public void confirmCart(); public void acceptRequest(List purchaseRequests); + + public void purchaseRequestsAssignedToUser(List requestIds, User user); public List generatePo( List purchaseRequests, Boolean groupBySupplier, Boolean groupByProduct) diff --git a/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/service/PurchaseRequestServiceImpl.java b/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/service/PurchaseRequestServiceImpl.java index 40cd4db..c76c4d4 100644 --- a/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/service/PurchaseRequestServiceImpl.java +++ b/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/service/PurchaseRequestServiceImpl.java @@ -26,6 +26,7 @@ import com.axelor.apps.purchase.db.repo.PurchaseOrderLineRepository; import com.axelor.apps.purchase.db.repo.PurchaseOrderRepository; import com.axelor.apps.purchase.db.repo.PurchaseRequestRepository; import com.axelor.auth.AuthUtils; +import com.axelor.auth.db.User; import com.axelor.exception.AxelorException; import com.google.inject.Inject; import com.google.inject.persist.Transactional; @@ -210,4 +211,16 @@ public class PurchaseRequestServiceImpl implements PurchaseRequestService { update.executeUpdate(); } } + + @Override + @Transactional + public void purchaseRequestsAssignedToUser(List requestIds, User user) { + + for (int i = 0; i < requestIds.size(); i++) { + long requestId = ((Number) requestIds.get(i)).longValue(); + PurchaseRequest purchaseRequest = purchaseRequestRepo.find(requestId); + purchaseRequest.setAssignedToUser(user); + purchaseRequestRepo.save(purchaseRequest); + } + } } diff --git a/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/web/PurchaseRequestController.java b/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/web/PurchaseRequestController.java index bb62044..e318092 100644 --- a/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/web/PurchaseRequestController.java +++ b/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/web/PurchaseRequestController.java @@ -23,6 +23,7 @@ import com.axelor.apps.purchase.db.repo.PurchaseRequestRepository; import com.axelor.apps.purchase.exception.IExceptionMessage; import com.axelor.apps.purchase.service.PurchaseRequestService; import com.axelor.apps.tool.StringTool; +import com.axelor.auth.db.User; import com.axelor.exception.AxelorException; import com.axelor.exception.db.repo.TraceBackRepository; import com.axelor.i18n.I18n; @@ -133,4 +134,17 @@ public class PurchaseRequestController { } } } + + public void purchaseRequestsAssignedToUser(ActionRequest request, ActionResponse response) { + + List requestIds = (List) request.getContext().get("_ids"); + User user = (User) request.getContext().get("assignedToUser"); + + if (requestIds != null && !requestIds.isEmpty()) { + Beans.get(PurchaseRequestService.class).purchaseRequestsAssignedToUser(requestIds, user); + response.setCanClose(true); + } + + } + } diff --git a/modules/axelor-open-suite/axelor-purchase/src/main/resources/domains/PurchaseRequest.xml b/modules/axelor-open-suite/axelor-purchase/src/main/resources/domains/PurchaseRequest.xml index 9a26386..3bf65a7 100644 --- a/modules/axelor-open-suite/axelor-purchase/src/main/resources/domains/PurchaseRequest.xml +++ b/modules/axelor-open-suite/axelor-purchase/src/main/resources/domains/PurchaseRequest.xml @@ -29,6 +29,8 @@ + +