Merge pull request #22 from root/dev
Raison d'annulation (demandes d'achat)
This commit is contained in:
@@ -26,7 +26,7 @@ import com.axelor.apps.purchase.db.PurchaseOrder;
|
||||
import com.axelor.auth.db.User;
|
||||
import com.axelor.exception.AxelorException;
|
||||
import com.google.inject.persist.Transactional;
|
||||
|
||||
import com.axelor.apps.base.db.CancelReason;
|
||||
import wslite.json.JSONException;
|
||||
|
||||
import java.net.MalformedURLException;
|
||||
@@ -112,4 +112,6 @@ public interface PurchaseOrderService {
|
||||
public void finishPurchaseOrder(PurchaseOrder purchaseOrder);
|
||||
|
||||
public void cancelPurchaseOrder(PurchaseOrder purchaseOrder);
|
||||
|
||||
public void cancelReasonPurchaseOrder(PurchaseOrder purchaseOrder, CancelReason cancelReason, String cancelReasonStr);
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ import com.axelor.inject.Beans;
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.persist.Transactional;
|
||||
|
||||
import com.axelor.apps.base.db.CancelReason;
|
||||
import wslite.json.JSONException;
|
||||
|
||||
import java.lang.invoke.MethodHandles;
|
||||
@@ -528,4 +528,20 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
||||
importationFolderRepository.save(importationFolder);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void cancelReasonPurchaseOrder(
|
||||
PurchaseOrder purchaseOrder, CancelReason cancelReason, String cancelReasonStr){
|
||||
|
||||
purchaseOrder.setStatusSelect(PurchaseOrderRepository.STATUS_CANCELED);
|
||||
purchaseOrder.setCancelReason(cancelReason);
|
||||
if (Strings.isNullOrEmpty(cancelReasonStr)) {
|
||||
purchaseOrder.setCancelReasonStr(cancelReason.getName());
|
||||
} else {
|
||||
purchaseOrder.setCancelReasonStr(cancelReasonStr);
|
||||
}
|
||||
purchaseOrderRepo.save(purchaseOrder);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -538,4 +538,20 @@ public class PurchaseOrderController {
|
||||
TraceBackService.trace(response, e);
|
||||
}
|
||||
}
|
||||
|
||||
public void cancelReasonPurchaseOrder(ActionRequest request, ActionResponse response) {
|
||||
try {
|
||||
PurchaseOrder purchaseOrder = request.getContext().asType(PurchaseOrder.class);
|
||||
Beans.get(PurchaseOrderService.class)
|
||||
.cancelReasonPurchaseOrder(
|
||||
Beans.get(PurchaseOrderRepository.class).find(purchaseOrder.getId()),
|
||||
purchaseOrder.getCancelReason(),
|
||||
purchaseOrder.getCancelReasonStr());
|
||||
|
||||
response.setFlash(I18n.get("The purchase order was canceled"));
|
||||
response.setCanClose(true);
|
||||
} catch (Exception e) {
|
||||
TraceBackService.trace(response, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,6 +70,9 @@
|
||||
<many-to-one name="importationFolder" ref="ImportationFolder" title="Dossier d'importation" />
|
||||
|
||||
<many-to-one name="purchaseRequestOrigin" ref="com.axelor.apps.purchase.db.PurchaseRequest" title="Purchase Request" />
|
||||
<many-to-one name="cancelReason" title="Cancel reason" ref="com.axelor.apps.base.db.CancelReason"/>
|
||||
<string name="cancelReasonStr" title="Cancel Reason" large="true"/>
|
||||
|
||||
|
||||
<unique-constraint columns="purchaseOrderSeq,company"/>
|
||||
|
||||
@@ -98,6 +101,8 @@
|
||||
</extra-code>
|
||||
|
||||
<track>
|
||||
<field name="cancelReason" />
|
||||
<field name="cancelReasonStr" />
|
||||
<field name="purchaseOrderSeq" />
|
||||
<field name="supplierPartner" />
|
||||
<field name="statusSelect" on="UPDATE"/>
|
||||
|
||||
Reference in New Issue
Block a user