Hello folks, I checked and we have only one ticket remaining in this parent <https://issues.apache.org/jira/browse/OFBIZ-8408> ticket. Also, I converted OFBIZ-6996 into a child of OFBIZ-8408.
Cheers, -- Best Regards, Suraj Khurana Technical Consultant HotWax Systems On Mon, Sep 2, 2019 at 10:39 PM Swapnil M Mane <swapnilmm...@apache.org> wrote: > Great, thanks so much Nicolas! > > > Best regards, > Swapnil M Mane, > ofbiz.apache.org > > > > On Mon, Sep 2, 2019 at 8:54 PM Nicolas Malin <nicolas.ma...@nereide.fr> > wrote: > > > Hi all, > > > > With this last commit, I think we finish the conversion for CRUD in > > mini-lang to entity-auto :) > > > > \o/ > > > > Now next step mini-lang to groovy ! > > > > Cheers, > > > > Nicolas > > > > On 9/2/19 5:13 PM, nma...@apache.org wrote: > > > Author: nmalin > > > Date: Mon Sep 2 15:13:47 2019 > > > New Revision: 1866286 > > > > > > URL: http://svn.apache.org/viewvc?rev=1866286&view=rev > > > Log: > > > Improved: Convert Shipment Crud simple service to entity-auto > > > (OFBIZ-6996) > > > I converted all available shipment entities crud currently on simple > > service to entity-auto service : > > > * ItemIssuanceRole > > > * ShipmentItem > > > * ShipmentPackageContent > > > * ShipmentPackageRouteSeg > > > * ShipmentRouteSegment > > > * QuantityBreak > > > > > > I also transformed a simple method call to a permission service: > > checkCanChangeShipmentStatus, who check for a shipment is it on good > status > > for the change. > > > With this last conversion, the permission control set on the service > > definition instead of core service > > > > > > Modified: > > > > > > ofbiz/ofbiz-framework/trunk/applications/product/config/ProductErrorUiLabels.xml > > > > > > ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/issuance/IssuanceServices.xml > > > > > > ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/receipt/ShipmentReceiptServices.xml > > > > > > ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/shipment/ShipmentServices.xml > > > > > > ofbiz/ofbiz-framework/trunk/applications/product/servicedef/secas_shipment.xml > > > > > > ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_shipment.xml > > > > > > Modified: > > > ofbiz/ofbiz-framework/trunk/applications/product/config/ProductErrorUiLabels.xml > > > URL: > > > http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/config/ProductErrorUiLabels.xml?rev=1866286&r1=1866285&r2=1866286&view=diff > > > > > > ============================================================================== > > > --- > > > ofbiz/ofbiz-framework/trunk/applications/product/config/ProductErrorUiLabels.xml > > (original) > > > +++ > > > ofbiz/ofbiz-framework/trunk/applications/product/config/ProductErrorUiLabels.xml > > Mon Sep 2 15:13:47 2019 > > > @@ -1489,6 +1489,10 @@ > > > <value xml:lang="zh">åˆ›å»ºå¿«é€Ÿæ·»åŠ å ˜åž‹æ•°æ ®æ—¶å > > ‘生交易错误:${errMessage}。</value> > > > <value > > xml:lang="zh-TW">æ–°å»ºå¿«é€Ÿå¢žåŠ è®Šåž‹è³‡æ–™æ™‚ç™¼ç”Ÿäº¤æ˜“éŒ¯èª¤: > > ${errMessage}.</value> > > > </property> > > > + <property key="ShipmentCanChangeStatusPermissionError"> > > > + <value xml:lang="en">Cannot perform this operation when the > > shipment [${testShipment.shipmentId}] is in the > > ${testShipmentStatus.description} [${testShipment.statusId}] > > status."</value> > > > + <value xml:lang="fr">Impossible de réaliser l'opération > > demandée quand l'expédition [${testShipment.shipmentId}] est dans le > > statut ${testShipmentStatus.description} > [${testShipment.statusId}]</value> > > > + </property> > > > <property > > key="variantevents.variantProductId_required_but_missing_enter_an_id"> > > > <value xml:lang="de">variantProductId wir benötigt, fehlt > > aber, bitte geben Sie eine ID für die neue Produktvariante an.</value> > > > <value xml:lang="en">variantProductId is required but > missing, > > please enter an id for the new variant product.</value> > > > > > > Modified: > > > ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/issuance/IssuanceServices.xml > > > URL: > > > http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/issuance/IssuanceServices.xml?rev=1866286&r1=1866285&r2=1866286&view=diff > > > > > > ============================================================================== > > > --- > > > ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/issuance/IssuanceServices.xml > > (original) > > > +++ > > > ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/issuance/IssuanceServices.xml > > Mon Sep 2 15:13:47 2019 > > > @@ -22,10 +22,6 @@ under the License. > > > xmlns="http://ofbiz.apache.org/Simple-Method" > > xsi:schemaLocation="http://ofbiz.apache.org/Simple-Method > > http://ofbiz.apache.org/dtds/simple-methods.xsd"> > > > <!-- ItemIssuance services --> > > > <simple-method method-name="createItemIssuance" > > short-description="Create ItemIssuance"> > > > - <set value="Create ItemIssuance" field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked" > > > xml-resource="component://product/minilang/shipment/shipment/ShipmentServices.xml"/> > > > - <check-errors/> > > > - > > > <make-value entity-name="ItemIssuance" > > value-field="newEntity"/> > > > <sequenced-id sequence-name="ItemIssuance" > > field="newEntity.itemIssuanceId"/> > > > <field-to-result field="newEntity.itemIssuanceId" > > result-name="itemIssuanceId"/> > > > @@ -64,48 +60,9 @@ under the License. > > > </if-not-empty> > > > <field-to-result field="affectAccounting" > > result-name="affectAccounting"/> > > > </simple-method> > > > - <simple-method method-name="updateItemIssuance" > > short-description="Update ItemIssuance"> > > > - <set value="Update ItemIssuance" field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked" > > > xml-resource="component://product/minilang/shipment/shipment/ShipmentServices.xml"/> > > > - <check-errors/> > > > - > > > - <entity-one entity-name="ItemIssuance" > > value-field="lookedUpValue"/> > > > - <set-nonpk-fields map="parameters" > value-field="lookedUpValue"/> > > > - <store-value value-field="lookedUpValue"/> > > > - </simple-method> > > > - <simple-method method-name="deleteItemIssuance" > > short-description="Delete ItemIssuance"> > > > - <set value="Delete ItemIssuance" field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked" > > > xml-resource="component://product/minilang/shipment/shipment/ShipmentServices.xml"/> > > > - <check-errors/> > > > - > > > - <entity-one entity-name="ItemIssuance" > > value-field="lookedUpValue"/> > > > - <remove-value value-field="lookedUpValue"/> > > > - </simple-method> > > > - > > > - <!-- ItemIssuanceRole services --> > > > - <simple-method method-name="createItemIssuanceRole" > > short-description="Create ItemIssuanceRole"> > > > - <set value="Create ItemIssuanceRole" field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked" > > > xml-resource="component://product/minilang/shipment/shipment/ShipmentServices.xml"/> > > > - <check-errors/> > > > - <make-value entity-name="ItemIssuanceRole" > > value-field="newEntity"/> > > > - <set-pk-fields map="parameters" value-field="newEntity"/> > > > - <set-nonpk-fields map="parameters" value-field="newEntity"/> > > > - <create-value value-field="newEntity"/> > > > - </simple-method> > > > - > > > - <simple-method method-name="deleteItemIssuanceRole" > > short-description="Delete ItemIssuanceRole"> > > > - <set value="Delete ItemIssuanceRole" field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked" > > > xml-resource="component://product/minilang/shipment/shipment/ShipmentServices.xml"/> > > > - <check-errors/> > > > - <entity-one entity-name="ItemIssuanceRole" > > value-field="lookedUpValue"/> > > > - <remove-value value-field="lookedUpValue"/> > > > - </simple-method> > > > > > > <!-- the actual issuance services --> > > > <simple-method method-name="issueOrderItemToShipment" > > short-description="Issue OrderItem to Shipment"> > > > - <set value="Issue OrderItem to Shipment" > field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked" > > > xml-resource="component://product/minilang/shipment/shipment/ShipmentServices.xml"/> > > > - <check-errors/> > > > > > > <!-- get orderHeader --> > > > <entity-one entity-name="OrderHeader" > > value-field="orderHeader" auto-field-map="true"/> > > > @@ -132,9 +89,6 @@ under the License. > > > </simple-method> > > > > > > <simple-method > method-name="issueOrderItemShipGrpInvResToShipment" > > short-description="Issue OrderItemShipGrpInvRes to Shipment"> > > > - <set value="Issue OrderItemShipGrpInvRes to Shipment" > > field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked" > > > xml-resource="component://product/minilang/shipment/shipment/ShipmentServices.xml"/> > > > - <check-errors/> > > > > > > <!-- get orderItemShipGrpInvRes --> > > > <make-value entity-name="OrderItemShipGrpInvRes" > > value-field="OrderItemShipGrpInvResLookupPk"/> > > > @@ -464,7 +418,7 @@ under the License. > > > <field-to-result field="itemIssuanceId"/> > > > </simple-method> > > > <simple-method method-name="associateIssueRoles" > > short-description="Associate Roles for ItemIssuance - meant to be called > > in-line"> > > > - <!-- make sure the party is in the PACKER role --> > > > + <!-- make sure the party is in the PACKER role TODO need to > > replace by ensurePartyRole--> > > > <make-value entity-name="PartyRole" value-field="partyRole"/> > > > <set field="partyRole.partyId" > from-field="userLogin.partyId"/> > > > <set field="partyRole.roleTypeId" value="PACKER"/> > > > @@ -565,8 +519,9 @@ under the License. > > > <!-- issuance can be canceled only if the sales shipment is > > not packed --> > > > > > > <if-compare field="shipment.statusId" operator="not-equals" > > value="SHIPMENT_CANCELLED"> > > > - <set from-field="itemIssuance.shipmentId" > > field="shipmentId"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked" > > > xml-resource="component://product/minilang/shipment/shipment/ShipmentServices.xml"/> > > > + <set from-field="itemIssuance.shipmentId" > > field="checkCanChangeShipmentStatusPackedMap.shipmentId"/> > > > + <set value="UPDATE" > > field="checkCanChangeShipmentStatusPackedMap.mainAction"/> > > > + <call-service > > service-name="checkCanChangeShipmentStatusPacked" > > in-map-name="checkCanChangeShipmentStatusPackedMap" /> > > > <check-errors/> > > > </if-compare> > > > > > > > > > Modified: > > > ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/receipt/ShipmentReceiptServices.xml > > > URL: > > > http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/receipt/ShipmentReceiptServices.xml?rev=1866286&r1=1866285&r2=1866286&view=diff > > > > > > ============================================================================== > > > --- > > > ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/receipt/ShipmentReceiptServices.xml > > (original) > > > +++ > > > ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/receipt/ShipmentReceiptServices.xml > > Mon Sep 2 15:13:47 2019 > > > @@ -361,9 +361,6 @@ under the License. > > > </simple-method> > > > > > > <simple-method > > method-name="issueOrderItemToShipmentAndReceiveAgainstPO" > > short-description="Issues order item quantity specified to the shipment, > > then receives inventory for that item and quantity"> > > > - <set value="Issue OrderItem to Shipment and Receive against > PO" > > field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked" > > > xml-resource="component://product/minilang/shipment/shipment/ShipmentServices.xml"/> > > > - <check-errors/> > > > > > > <!-- get orderItem --> > > > <entity-one entity-name="OrderItem" value-field="orderItem" > > auto-field-map="true"/> > > > > > > Modified: > > > ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/shipment/ShipmentServices.xml > > > URL: > > > http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/shipment/ShipmentServices.xml?rev=1866286&r1=1866285&r2=1866286&view=diff > > > > > > ============================================================================== > > > --- > > > ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/shipment/ShipmentServices.xml > > (original) > > > +++ > > > ofbiz/ofbiz-framework/trunk/applications/product/minilang/shipment/shipment/ShipmentServices.xml > > Mon Sep 2 15:13:47 2019 > > > @@ -112,9 +112,6 @@ under the License. > > > </simple-method> > > > > > > <simple-method method-name="updateShipment" > > short-description="Update Shipment"> > > > - <set value="Update Shipment" field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusDelivered"/> > > > - <check-errors/> > > > > > > <make-value entity-name="Shipment" > value-field="lookupPKMap"/> > > > <set-pk-fields map="parameters" value-field="lookupPKMap"/> > > > @@ -283,14 +280,6 @@ under the License. > > > <store-value value-field="lookedUpValue"/> > > > </simple-method> > > > > > > - <simple-method method-name="deleteShipment" > > short-description="Delete Shipment"> > > > - <set value="Delete Shipment" field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked"/> > > > - <check-errors/> > > > - <entity-one entity-name="Shipment" > value-field="lookedUpValue"/> > > > - <remove-value value-field="lookedUpValue"/> > > > - </simple-method> > > > - > > > <simple-method method-name="createShipmentForReturn" > > short-description="Create Shipment based on ReturnHeader"> > > > <entity-one entity-name="ReturnHeader" > > value-field="returnHeader"> > > > <field-map field-name="returnId" > > from-field="parameters.returnId"/> > > > @@ -428,10 +417,6 @@ under the License. > > > </simple-method> > > > > > > <simple-method method-name="setShipmentSettingsFromPrimaryOrder" > > short-description="Set Shipment Settings From Primary Order"> > > > - <set value="Set Shipment Settings From Primary Order" > > field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked"/> > > > - <check-errors/> > > > - > > > <!-- on Shipment set partyIdFrom, partyIdTo (vendorPartyId), > > originContactMechId, destinationContactMechId, estimatedShipCost --> > > > <entity-one entity-name="Shipment" value-field="shipment"/> > > > > > > @@ -670,12 +655,7 @@ under the License. > > > </simple-method> > > > > > > <simple-method method-name="setShipmentSettingsFromFacilities" > > short-description="Set Shipment Settings From Facilities"> > > > - <set value="Set Shipment Settings From Facilities" > > field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked"/> > > > - <check-errors/> > > > - > > > <entity-one entity-name="Shipment" value-field="shipment"/> > > > - > > > <clone-value value-field="shipment" > > new-value-field="shipmentCopy"/> > > > > > > <string-to-list string="-fromDate" > > list="descendingFromDateOrder"/> > > > @@ -817,35 +797,8 @@ under the License. > > > </simple-method> > > > > > > <!-- ShipmentItem services --> > > > - <simple-method method-name="createShipmentItem" > > short-description="Create ShipmentItem"> > > > - <set value="Create ShipmentItem" field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked"/> > > > - <check-errors/> > > > - > > > - <make-value entity-name="ShipmentItem" > value-field="newEntity"/> > > > - <set-pk-fields map="parameters" value-field="newEntity"/> > > > - <set-nonpk-fields map="parameters" value-field="newEntity"/> > > > - <!-- if no shipmentItemSeqId, generate one based on existing > > items, ie one greater than the current higher number --> > > > - <make-next-seq-id value-field="newEntity" > > seq-field-name="shipmentItemSeqId"/> > > > - <field-to-result field="newEntity.shipmentItemSeqId" > > result-name="shipmentItemSeqId"/> > > > - <create-value value-field="newEntity"/> > > > - </simple-method> > > > - <simple-method method-name="updateShipmentItem" > > short-description="Update ShipmentItem"> > > > - <set value="Update ShipmentItem" field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked"/> > > > - <check-errors/> > > > - > > > - <make-value entity-name="ShipmentItem" > > value-field="lookupPKMap"/> > > > - <set-pk-fields map="parameters" value-field="lookupPKMap"/> > > > - <find-by-primary-key entity-name="ShipmentItem" > > map="lookupPKMap" value-field="lookedUpValue"/> > > > - <set-nonpk-fields map="parameters" > value-field="lookedUpValue"/> > > > - <store-value value-field="lookedUpValue"/> > > > - </simple-method> > > > <simple-method method-name="deleteShipmentItem" > > short-description="Delete ShipmentItem"> > > > - <set value="Delete ShipmentItem" field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked"/> > > > - <check-errors/> > > > - <!-- If there is any Shipment Package Content available for > > this Shipment Item then it cannot be deleted as it require > > > + <!-- If there is any Shipment Package Content available for > > this Shipment Item then it cannot be deleted as it require > > > Shipment Package content to be deleted first --> > > > <entity-and entity-name="ShipmentPackageContent" > > list="shipmentPackageContents"> > > > <field-map field-name="shipmentId" > > from-field="parameters.shipmentId"/> > > > @@ -946,10 +899,6 @@ under the License. > > > > > > <!-- ShipmentPackage services --> > > > <simple-method method-name="createShipmentPackage" > > short-description="Create ShipmentPackage"> > > > - <set value="Create ShipmentPackage" field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked"/> > > > - <check-errors/> > > > - > > > <make-value entity-name="ShipmentPackage" > > value-field="newEntity"/> > > > <set-pk-fields map="parameters" value-field="newEntity"/> > > > <set-nonpk-fields map="parameters" value-field="newEntity"/> > > > @@ -971,10 +920,6 @@ under the License. > > > <call-simple-method method-name="ensurePackageRouteSeg"/> > > > </simple-method> > > > <simple-method method-name="updateShipmentPackage" > > short-description="Update ShipmentPackage"> > > > - <set value="Update ShipmentPackage" field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusShipped"/> > > > - <check-errors/> > > > - > > > <make-value entity-name="ShipmentPackage" > > value-field="lookupPKMap"/> > > > <set-pk-fields map="parameters" value-field="lookupPKMap"/> > > > <find-by-primary-key entity-name="ShipmentPackage" > > map="lookupPKMap" value-field="lookedUpValue"/> > > > @@ -986,9 +931,6 @@ under the License. > > > <call-simple-method method-name="ensurePackageRouteSeg"/> > > > </simple-method> > > > <simple-method method-name="deleteShipmentPackage" > > short-description="Delete ShipmentPackage"> > > > - <set value="Delete ShipmentPackage" field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked"/> > > > - <check-errors/> > > > <!-- If there is any Shipment Package Content available for > > this shipment than Shipment Package cannot be deleted as it require > > > Shipment Package Content to be deleted first --> > > > <entity-and entity-name="ShipmentPackageContent" > > list="shipmentPackageContents"> > > > @@ -1029,43 +971,7 @@ under the License. > > > </simple-method> > > > > > > <!-- ShipmentPackageContent services --> > > > - <simple-method method-name="createShipmentPackageContent" > > short-description="Create ShipmentPackageContent"> > > > - <set value="Create ShipmentPackageContent" > > field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked"/> > > > - <check-errors/> > > > - > > > - <make-value entity-name="ShipmentPackageContent" > > value-field="newEntity"/> > > > - <set-pk-fields map="parameters" value-field="newEntity"/> > > > - <set-nonpk-fields map="parameters" value-field="newEntity"/> > > > - > > > - <create-value value-field="newEntity"/> > > > - <field-to-result field="newEntity.shipmentPackageSeqId" > > result-name="shipmentPackageSeqId"/> > > > - </simple-method> > > > - <simple-method method-name="updateShipmentPackageContent" > > short-description="Update ShipmentPackageContent"> > > > - <set value="Update ShipmentPackageContent" > > field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked"/> > > > - <check-errors/> > > > - > > > - <make-value entity-name="ShipmentPackageContent" > > value-field="lookupPKMap"/> > > > - <set-pk-fields map="parameters" value-field="lookupPKMap"/> > > > - <find-by-primary-key entity-name="ShipmentPackageContent" > > map="lookupPKMap" value-field="lookedUpValue"/> > > > - <set-nonpk-fields map="parameters" > value-field="lookedUpValue"/> > > > - <store-value value-field="lookedUpValue"/> > > > - </simple-method> > > > - <simple-method method-name="deleteShipmentPackageContent" > > short-description="Delete ShipmentPackageContent"> > > > - <set value="Delete ShipmentPackageContent" > > field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked"/> > > > - <check-errors/> > > > - > > > - <make-value entity-name="ShipmentPackageContent" > > value-field="lookupPKMap"/> > > > - <set-pk-fields map="parameters" value-field="lookupPKMap"/> > > > - <find-by-primary-key entity-name="ShipmentPackageContent" > > map="lookupPKMap" value-field="lookedUpValue"/> > > > - <remove-value value-field="lookedUpValue"/> > > > - </simple-method> > > > <simple-method method-name="addShipmentContentToPackage" > > short-description="Add Shipment Content To Package"> > > > - <set value="Create ShipmentPackageContent" > > field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked"/> > > > - <check-errors/> > > > <make-value entity-name="ShipmentPackageContent" > > value-field="newEntity"/> > > > <set-pk-fields map="parameters" value-field="newEntity"/> > > > <find-by-primary-key value-field="shipmentPackageContent" > > map="newEntity"/> > > > @@ -1089,86 +995,16 @@ under the License. > > > <field-to-result field="newEntity.shipmentPackageSeqId" > > result-name="shipmentPackageSeqId"/> > > > </simple-method> > > > > > > - <!-- ShipmentPackageRouteSeg services --> > > > - <simple-method method-name="createShipmentPackageRouteSeg" > > short-description="Create ShipmentPackageRouteSeg"> > > > - <make-value entity-name="ShipmentPackageRouteSeg" > > value-field="newEntity"/> > > > - <set-pk-fields map="parameters" value-field="newEntity"/> > > > - <set-nonpk-fields map="parameters" value-field="newEntity"/> > > > - > > > - <create-value value-field="newEntity"/> > > > - </simple-method> > > > - <simple-method method-name="deleteShipmentPackageRouteSeg" > > short-description="Delete ShipmentPackageRouteSeg"> > > > - <set value="Delete ShipmentPackageRouteSeg" > > field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked"/> > > > - <check-errors/> > > > - > > > - <make-value entity-name="ShipmentPackageRouteSeg" > > value-field="lookupPKMap"/> > > > - <set-pk-fields map="parameters" value-field="lookupPKMap"/> > > > - <find-by-primary-key entity-name="ShipmentPackageRouteSeg" > > map="lookupPKMap" value-field="lookedUpValue"/> > > > - <remove-value value-field="lookedUpValue"/> > > > - </simple-method> > > > - > > > <!-- ShipmentRouteSegment services --> > > > - <simple-method method-name="createShipmentRouteSegment" > > short-description="Create ShipmentRouteSegment"> > > > - <set value="Create ShipmentRouteSegment" > field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked"/> > > > - <check-errors/> > > > - > > > - <make-value entity-name="ShipmentRouteSegment" > > value-field="newEntity"/> > > > - <set-pk-fields map="parameters" value-field="newEntity"/> > > > - <set-nonpk-fields map="parameters" value-field="newEntity"/> > > > - > > > - <!-- if no shipmentRouteSegmentSeqId, generate one based on > > existing items, ie one greater than the current higher number --> > > > - <make-next-seq-id value-field="newEntity" > > seq-field-name="shipmentRouteSegmentId"/> > > > - <field-to-result field="newEntity.shipmentRouteSegmentId" > > result-name="shipmentRouteSegmentId"/> > > > - > > > - <if-empty field="newEntity.carrierServiceStatusId"> > > > - <set value="SHRSCS_NOT_STARTED" > > field="newEntity.carrierServiceStatusId"/> > > > - </if-empty> > > > - > > > - <create-value value-field="newEntity"/> > > > - > > > - <set from-field="newEntity.shipmentId" field="shipmentId"/> > > > - <set from-field="newEntity.shipmentRouteSegmentId" > > field="shipmentRouteSegmentId"/> > > > - <call-simple-method method-name="ensureRouteSegPackage"/> > > > - </simple-method> > > > - <simple-method method-name="updateShipmentRouteSegment" > > short-description="Update ShipmentRouteSegment"> > > > - <set value="Update ShipmentRouteSegment" > field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusDelivered"/> > > > - <check-errors/> > > > - > > > - <entity-one entity-name="ShipmentRouteSegment" > > value-field="lookedUpValue"/> > > > - <set-nonpk-fields map="parameters" > value-field="lookedUpValue"/> > > > - > > > - <if-empty field="newEntity.carrierServiceStatusId"> > > > - <set value="SHRSCS_NOT_STARTED" > > field="newEntity.carrierServiceStatusId"/> > > > - </if-empty> > > > - > > > - > > > - <set from-field="userLogin.userLoginId" > > field="lookedUpValue.updatedByUserLoginId"/> > > > - <now-timestamp field="lookedUpValue.lastUpdatedDate"/> > > > - <store-value value-field="lookedUpValue"/> > > > - > > > - <set from-field="lookedUpValue.shipmentId" > field="shipmentId"/> > > > - <set from-field="lookedUpValue.shipmentRouteSegmentId" > > field="shipmentRouteSegmentId"/> > > > - <call-simple-method method-name="ensureRouteSegPackage"/> > > > - </simple-method> > > > - <simple-method method-name="deleteShipmentRouteSegment" > > short-description="Delete ShipmentRouteSegment"> > > > - <set value="Delete ShipmentRouteSegment" > field="operationName"/> > > > - <call-simple-method > > method-name="checkCanChangeShipmentStatusPacked"/> > > > - <check-errors/> > > > - > > > - <entity-one entity-name="ShipmentRouteSegment" > > value-field="lookedUpValue"/> > > > - <remove-value value-field="lookedUpValue"/> > > > - </simple-method> > > > <simple-method method-name="ensureRouteSegPackage" > > short-description="Ensure ShipmentPackageRouteSeg exists for all Packages > > for this RouteSegment"> > > > + <entity-one entity-name="ShipmentRouteSegment" > > value-field="shipmentRouteSegment" use-cache="true"/> > > > <entity-and entity-name="ShipmentPackage" > > list="shipmentPackages"> > > > - <field-map field-name="shipmentId" > from-field="shipmentId"/> > > > + <field-map field-name="shipmentId" > > from-field="shipmentRouteSegment.shipmentId"/> > > > </entity-and> > > > <iterate list="shipmentPackages" entry="shipmentPackage"> > > > <entity-one entity-name="ShipmentPackageRouteSeg" > > value-field="checkShipmentPackageRouteSeg" auto-field-map="false"> > > > - <field-map field-name="shipmentId" > > from-field="shipmentId"/> > > > - <field-map field-name="shipmentRouteSegmentId" > > from-field="shipmentRouteSegmentId"/> > > > + <field-map field-name="shipmentId" > > from-field="shipmentRouteSegment.shipmentId"/> > > > + <field-map field-name="shipmentRouteSegmentId" > > from-field="shipmentRouteSegment.shipmentRouteSegmentId"/> > > > <field-map field-name="shipmentPackageSeqId" > > from-field="shipmentPackage.shipmentPackageSeqId"/> > > > </entity-one> > > > <if-empty field="checkShipmentPackageRouteSeg"> > > > @@ -1194,7 +1030,17 @@ under the License. > > > <call-simple-method > > method-name="checkCanChangeShipmentStatusGeneral"/> > > > </simple-method> > > > <simple-method method-name="checkCanChangeShipmentStatusGeneral" > > short-description="Check the Status of a Shipment to see if it can be > > changed - meant to be called in-line"> > > > - <entity-one entity-name="Shipment" > value-field="testShipment"/> > > > + <if-empty field="parameters.mainAction"> > > > + <set field="parameters.mainAction" value="UPDATE"/> > > > + </if-empty> > > > + <set-service-fields service-name="facilityGenericPermission" > > to-map="facilityGenericPermissionMap" map="parameters"/> > > > + <call-service service-name="facilityGenericPermission" > > in-map-name="facilityGenericPermissionMap"> > > > + <result-to-field field="hasPermission" > > result-name="hasPermission"/> > > > + </call-service> > > > + <check-errors/> > > > + > > > + <entity-one entity-name="Shipment" value-field="testShipment" > > use-cache="true"/> > > > + <set field="fromStatusId" from-field="fromStatusId" > > default-value="${parameters.fromStatusId}"/> > > > <if> > > > <condition> > > > <or> > > > @@ -1225,9 +1071,12 @@ under the License. > > > </condition> > > > <then> > > > <get-related-one relation-name="StatusItem" > > value-field="testShipment" to-value-field="testShipmentStatus"/> > > > - <string-to-list string="Cannot perform operation > > ${operationName} when the shipment is in the > > ${testShipmentStatus.description} [${testShipment.statusId}] status." > > list="error_list"/> > > > + <property-to-field resource="ProductErrorUiLabels" > > property="ShipmentCanChangeStatusPermissionError" field="failMessage"/> > > > + <set field="hasPermission" type="Boolean" > > value="false"/> > > > + <field-to-result field="failMessage"/> > > > </then> > > > </if> > > > + <field-to-result field="hasPermission"/> > > > </simple-method> > > > > > > <!-- quick ship entire order in one package per facility & ship > > group --> > > > @@ -1987,23 +1836,5 @@ under the License. > > > <call-service > > service-name="cancelOrderItemIssuanceFromSalesShipment" > > in-map-name="inputMap"/> > > > </iterate> > > > </simple-method> > > > - > > > - <!-- QuantityBreak services --> > > > - <!-- create a new QuantityBreak --> > > > - <simple-method method-name="createQuantityBreak" > > short-description="Create a QuoteAttribute"> > > > - <make-value entity-name="QuantityBreak" > > value-field="quantityBreak"/> > > > - <set-nonpk-fields map="parameters" > value-field="quantityBreak"/> > > > - <sequenced-id sequence-name="QuantityBreak" > > field="quantityBreak.quantityBreakId"/> > > > - <create-value value-field="quantityBreak"/> > > > - <check-errors/> > > > - </simple-method> > > > - > > > - <!-- remove an existing QuantityBreak --> > > > - <simple-method method-name="deleteQuantityBreak" > > short-description="Remove an existing QuantityBreak"> > > > - <entity-one entity-name="QuantityBreak" > > value-field="quantityBreak" auto-field-map="true"/> > > > - <check-errors/> > > > - <remove-value value-field="quantityBreak"/> > > > - <check-errors/> > > > - </simple-method> > > > </simple-methods> > > > > > > > > > Modified: > > > ofbiz/ofbiz-framework/trunk/applications/product/servicedef/secas_shipment.xml > > > URL: > > > http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/servicedef/secas_shipment.xml?rev=1866286&r1=1866285&r2=1866286&view=diff > > > > > > ============================================================================== > > > --- > > > ofbiz/ofbiz-framework/trunk/applications/product/servicedef/secas_shipment.xml > > (original) > > > +++ > > > ofbiz/ofbiz-framework/trunk/applications/product/servicedef/secas_shipment.xml > > Mon Sep 2 15:13:47 2019 > > > @@ -151,6 +151,13 @@ under the License. > > > <action service="updatePurchaseShipmentFromReceipt" > > mode="sync"/> > > > </eca> > > > > > > + <eca service="createShipmentRouteSegment" event="commit"> > > > + <action service="ensureRouteSegPackage" mode="sync"/> > > > + </eca> > > > + <eca service="updateShipmentRouteSegment" event="commit"> > > > + <action service="ensureRouteSegPackage" mode="sync"/> > > > + </eca> > > > + > > > <eca service="createShipmentPackageContent" event="in-validate"> > > > <condition field-name="shipmentPackageSeqId" > operator="equals" > > value="New"/> > > > <action service="createShipmentPackage" mode="sync"/> > > > > > > Modified: > > > ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_shipment.xml > > > URL: > > > http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_shipment.xml?rev=1866286&r1=1866285&r2=1866286&view=diff > > > > > > ============================================================================== > > > --- > > > ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_shipment.xml > > (original) > > > +++ > > > ofbiz/ofbiz-framework/trunk/applications/product/servicedef/services_shipment.xml > > Mon Sep 2 15:13:47 2019 > > > @@ -136,7 +136,7 @@ under the License. > > > <service name="updateShipment" default-entity-name="Shipment" > > engine="simple" > > > > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="updateShipment" auth="true"> > > > <description>Update Shipment</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="UPDATE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusDelivered" > main-action="UPDATE"/> > > > <auto-attributes include="pk" mode="INOUT" optional="false"/> > > > <auto-attributes include="nonpk" mode="IN" optional="true"> > > > <exclude field-name="shipmentTypeId"/> > > > @@ -152,10 +152,9 @@ under the License. > > > <attribute name="oldOriginFacilityId" type="String" > mode="OUT" > > optional="true"/> > > > <attribute name="oldDestinationFacilityId" type="String" > > mode="OUT" optional="true"/> > > > </service> > > > - <service name="deleteShipment" default-entity-name="Shipment" > > engine="simple" > > > - > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="deleteShipment" auth="true"> > > > + <service name="deleteShipment" default-entity-name="Shipment" > > engine="entity-auto" invoke="delete" auth="true"> > > > <description>Delete Shipment</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="DELETE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="DELETE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > </service> > > > <service name="createShipmentStatus" > > default-entity-name="ShipmentStatus" engine="entity-auto" invoke="create" > > auth="true"> > > > @@ -167,19 +166,13 @@ under the License. > > > <service name="setShipmentSettingsFromPrimaryOrder" > engine="simple" > > > > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="setShipmentSettingsFromPrimaryOrder" auth="true"> > > > <description>Set Shipment Settings From Primary > > Order</description> > > > - <required-permissions join-type="AND"> > > > - <permission-service > > service-name="facilityGenericPermission" main-action="CREATE"/> > > > - <permission-service > > service-name="facilityGenericPermission" main-action="UPDATE"/> > > > - </required-permissions> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="UPDATE"/> > > > <attribute name="shipmentId" type="String" mode="IN" > > optional="false"/> > > > </service> > > > <service name="setShipmentSettingsFromFacilities" engine="simple" > > > > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="setShipmentSettingsFromFacilities" auth="true"> > > > <description>Set Shipment Settings From > > Facilities</description> > > > - <required-permissions join-type="AND"> > > > - <permission-service > > service-name="facilityGenericPermission" main-action="CREATE"/> > > > - <permission-service > > service-name="facilityGenericPermission" main-action="UPDATE"/> > > > - </required-permissions> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="UPDATE"/> > > > <attribute name="shipmentId" type="String" mode="IN" > > optional="false"/> > > > </service> > > > <service name="sendShipmentScheduledNotification" engine="simple" > > > @@ -220,25 +213,22 @@ under the License. > > > </service> > > > > > > <!-- ShipmentItem Services --> > > > - <service name="createShipmentItem" > > default-entity-name="ShipmentItem" engine="simple" > > > - > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="createShipmentItem" auth="true"> > > > + <service name="createShipmentItem" > > default-entity-name="ShipmentItem" engine="entity-auto" invoke="create" > > auth="true"> > > > <description>Create ShipmentItem</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="CREATE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="CREATE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > <auto-attributes include="nonpk" mode="IN" optional="true"/> > > > <override name="shipmentItemSeqId" mode="INOUT" > > optional="true"/> > > > </service> > > > - <service name="updateShipmentItem" > > default-entity-name="ShipmentItem" engine="simple" > > > - > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="updateShipmentItem" auth="true"> > > > + <service name="updateShipmentItem" > > default-entity-name="ShipmentItem" engine="entity-auto" invoke="update" > > auth="true"> > > > <description>Update ShipmentItem</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="UPDATE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusDelivered" > main-action="UPDATE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > <auto-attributes include="nonpk" mode="IN" optional="true"/> > > > </service> > > > - <service name="deleteShipmentItem" > > default-entity-name="ShipmentItem" engine="simple" > > > - > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="deleteShipmentItem" auth="true"> > > > + <service name="deleteShipmentItem" > > default-entity-name="ShipmentItem" engine="entity-auto" invoke="delete" > > auth="true"> > > > <description>Delete ShipmentItem</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="DELETE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="DELETE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > </service> > > > > > > @@ -256,7 +246,7 @@ under the License. > > > <service name="createShipmentPackage" > > default-entity-name="ShipmentPackage" engine="simple" > > > > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="createShipmentPackage" auth="true"> > > > <description>Create ShipmentPackage</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="CREATE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="CREATE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > <auto-attributes include="nonpk" mode="IN" optional="true"> > > > <exclude field-name="dateCreated"/> > > > @@ -266,43 +256,40 @@ under the License. > > > <service name="updateShipmentPackage" > > default-entity-name="ShipmentPackage" engine="simple" > > > > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="updateShipmentPackage" auth="true"> > > > <description>Update ShipmentPackage</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="UPDATE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="UPDATE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > <auto-attributes include="nonpk" mode="IN" optional="true"/> > > > </service> > > > <service name="deleteShipmentPackage" > > default-entity-name="ShipmentPackage" engine="simple" > > > > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="deleteShipmentPackage" auth="true"> > > > <description>Delete ShipmentPackage</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="DELETE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="DELETE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > </service> > > > > > > <!-- ShipmentPackageContent Services --> > > > - <service name="createShipmentPackageContent" > > default-entity-name="ShipmentPackageContent" engine="simple" > > > - > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="createShipmentPackageContent" auth="true"> > > > + <service name="createShipmentPackageContent" > > default-entity-name="ShipmentPackageContent" engine="entity-auto" > > invoke="create" auth="true"> > > > <description>Create ShipmentPackageContent</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="CREATE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="CREATE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > <auto-attributes include="nonpk" mode="IN" optional="true"/> > > > <override name="shipmentPackageSeqId" mode="INOUT" > > optional="false"/> > > > </service> > > > - <service name="updateShipmentPackageContent" > > default-entity-name="ShipmentPackageContent" engine="simple" > > > - > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="updateShipmentPackageContent" auth="true"> > > > + <service name="updateShipmentPackageContent" > > default-entity-name="ShipmentPackageContent" engine="entity-auto" > > invoke="update" auth="true"> > > > <description>Update ShipmentPackageContent</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="UPDATE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="UPDATE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > <auto-attributes include="nonpk" mode="IN" optional="true"/> > > > </service> > > > - <service name="deleteShipmentPackageContent" > > default-entity-name="ShipmentPackageContent" engine="simple" > > > - > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="deleteShipmentPackageContent" auth="true"> > > > + <service name="deleteShipmentPackageContent" > > default-entity-name="ShipmentPackageContent" engine="entity-auto" > > invoke="delete" auth="true"> > > > <description>Delete ShipmentPackageContent</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="DELETE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="DELETE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > </service> > > > <service name="addShipmentContentToPackage" > > default-entity-name="ShipmentPackageContent" engine="simple" > > > > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="addShipmentContentToPackage" auth="true"> > > > <description>Add Shipment Content To Package</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="CREATE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="CREATE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > <auto-attributes include="nonpk" mode="IN" optional="true"/> > > > <override name="quantity" mode="IN" optional="false"/> > > > @@ -310,23 +297,21 @@ under the License. > > > </service> > > > > > > <!-- ShipmentPackageRouteSeg Services --> > > > - <service name="createShipmentPackageRouteSeg" > > default-entity-name="ShipmentPackageRouteSeg" engine="simple" > > > - > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="createShipmentPackageRouteSeg" auth="true"> > > > + <service name="createShipmentPackageRouteSeg" > > default-entity-name="ShipmentPackageRouteSeg" engine="entity-auto" > > invoke="create" auth="true"> > > > <description>Create ShipmentPackageRouteSeg</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="CREATE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="CREATE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > <auto-attributes include="nonpk" mode="IN" optional="true"/> > > > </service> > > > <service name="updateShipmentPackageRouteSeg" > > default-entity-name="ShipmentPackageRouteSeg" engine="entity-auto" > > invoke="update" auth="true"> > > > <description>Update ShipmentPackageRouteSeg</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="UPDATE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusDelivered" > main-action="UPDATE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > <auto-attributes include="nonpk" mode="IN" optional="true"/> > > > </service> > > > - <service name="deleteShipmentPackageRouteSeg" > > default-entity-name="ShipmentPackageRouteSeg" engine="simple" > > > - > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="deleteShipmentPackageRouteSeg" auth="true"> > > > + <service name="deleteShipmentPackageRouteSeg" > > default-entity-name="ShipmentPackageRouteSeg" engine="entity-auto" > > invoke="delete" auth="true"> > > > <description>Delete ShipmentPackageRouteSeg</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="DELETE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="DELETE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > </service> > > > > > > @@ -350,25 +335,23 @@ under the License. > > > </service> > > > > > > <!-- ShipmentRouteSegment Services --> > > > - <service name="createShipmentRouteSegment" > > default-entity-name="ShipmentRouteSegment" engine="simple" > > > - > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="createShipmentRouteSegment" auth="true"> > > > + <service name="createShipmentRouteSegment" > > default-entity-name="ShipmentRouteSegment" engine="entity-auto" > > invoke="create" auth="true"> > > > <description>Create ShipmentRouteSegment</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="CREATE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="CREATE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > <auto-attributes include="nonpk" mode="IN" optional="true"/> > > > <override name="shipmentRouteSegmentId" mode="INOUT" > > optional="true"/> > > > </service> > > > - <service name="updateShipmentRouteSegment" > > default-entity-name="ShipmentRouteSegment" engine="simple" > > > - > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="updateShipmentRouteSegment" auth="true"> > > > + <service name="updateShipmentRouteSegment" > > default-entity-name="ShipmentRouteSegment" engine="entity-auto" > > invoke="update" auth="true"> > > > <description>Update ShipmentRouteSegment</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="UPDATE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="UPDATE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > <auto-attributes include="nonpk" mode="IN" optional="true"/> > > > + <override name="carrierServiceStatusId" > > default-value="SHRSCS_NOT_STARTED"/> > > > </service> > > > - <service name="deleteShipmentRouteSegment" > > default-entity-name="ShipmentRouteSegment" engine="simple" > > > - > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="deleteShipmentRouteSegment" auth="true"> > > > + <service name="deleteShipmentRouteSegment" > > default-entity-name="ShipmentRouteSegment" engine="entity-auto" > > invoke="delete" auth="true"> > > > <description>Delete ShipmentRouteSegment</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="DELETE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="DELETE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > </service> > > > <service name="duplicateShipmentRouteSegment" > > default-entity-name="ShipmentRouteSegment" engine="java" > > > @@ -386,44 +369,46 @@ under the License. > > > </description> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > </service> > > > + <service name="ensureRouteSegPackage" > > default-entity-name="ShipmentRouteSegment" engine="simple" > > > + > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="ensureRouteSegPackage" auth="true"> > > > + <description>Ensure ShipmentPackageRouteSeg exists for all > > Packages for this RouteSegment</description> > > > + <permission-service service-name="facilityGenericPermission" > > main-action="CREATE"/> > > > + <auto-attributes include="pk" mode="IN" optional="false"/> > > > + </service> > > > > > > <!-- > > ============================================================== --> > > > <!-- ItemIssuance Services --> > > > <service name="createItemIssuance" > > default-entity-name="ItemIssuance" engine="simple" > > > > > > location="component://product/minilang/shipment/issuance/IssuanceServices.xml" > > invoke="createItemIssuance" auth="true"> > > > <description>Create ItemIssuance</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="CREATE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="CREATE"/> > > > <auto-attributes include="pk" mode="OUT" optional="false"/> > > > <auto-attributes include="nonpk" mode="IN" optional="true"/> > > > <attribute name="affectAccounting" type="Boolean" mode="OUT" > > optional="true"/> > > > </service> > > > - <service name="updateItemIssuance" > > default-entity-name="ItemIssuance" engine="simple" > > > - > > > location="component://product/minilang/shipment/issuance/IssuanceServices.xml" > > invoke="updateItemIssuance" auth="true"> > > > + <service name="updateItemIssuance" > > default-entity-name="ItemIssuance" engine="entity-auto" invoke="update" > > auth="true"> > > > <description>Update ItemIssuance</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="UPDATE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="UPDATE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > <auto-attributes include="nonpk" mode="IN" optional="true"/> > > > </service> > > > - <service name="deleteItemIssuance" > > default-entity-name="ItemIssuance" engine="simple" > > > - > > > location="component://product/minilang/shipment/issuance/IssuanceServices.xml" > > invoke="deleteItemIssuance" auth="true"> > > > + <service name="deleteItemIssuance" > > default-entity-name="ItemIssuance" engine="entity-auto" invoke="delete" > > auth="true"> > > > <description>Delete ItemIssuance</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="DELETE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="DELETE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > </service> > > > > > > <!-- ItemIssuanceRole Services --> > > > - <service name="createItemIssuanceRole" > > default-entity-name="ItemIssuanceRole" engine="simple" > > > - > > > location="component://product/minilang/shipment/issuance/IssuanceServices.xml" > > invoke="createItemIssuanceRole" auth="true"> > > > + <service name="createItemIssuanceRole" > > default-entity-name="ItemIssuanceRole" engine="entity-auto" > invoke="create" > > auth="true"> > > > <description>Create ItemIssuanceRole</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="CREATE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="CREATE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > <!-- Will check if OK to change status of shipment, so > > Shipment PK is needed --> > > > <auto-attributes entity-name="Shipment" include="pk" > mode="IN" > > optional="false"/> > > > </service> > > > - <service name="deleteItemIssuanceRole" > > default-entity-name="ItemIssuanceRole" engine="simple" > > > - > > > location="component://product/minilang/shipment/issuance/IssuanceServices.xml" > > invoke="deleteItemIssuanceRole" auth="true"> > > > + <service name="deleteItemIssuanceRole" > > default-entity-name="ItemIssuanceRole" engine="entity-auto" > invoke="delete" > > auth="true"> > > > <description>Delete ItemIssuanceRole</description> > > > - <permission-service service-name="facilityGenericPermission" > > main-action="DELETE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="DELETE"/> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > <!-- Will check if OK to change status of shipment, so > > Shipment PK is needed --> > > > <auto-attributes entity-name="Shipment" include="pk" > mode="IN" > > optional="false"/> > > > @@ -433,7 +418,7 @@ under the License. > > > > > > location="component://product/minilang/shipment/issuance/IssuanceServices.xml" > > invoke="issueOrderItemToShipment" auth="true"> > > > <description>Issue an OrderItem to a Shipment - only for > > non-sales orders</description> > > > <required-permissions join-type="AND"> > > > - <permission-service > > service-name="facilityGenericPermission" main-action="CREATE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="CREATE"/> > > > <permission-service > > service-name="facilityGenericPermission" main-action="UPDATE"/> > > > </required-permissions> > > > <auto-attributes entity-name="Shipment" include="pk" > mode="IN" > > optional="false"/> > > > @@ -445,7 +430,7 @@ under the License. > > > > > > location="component://product/minilang/shipment/issuance/IssuanceServices.xml" > > invoke="issueOrderItemShipGrpInvResToShipment" auth="true"> > > > <description>Add an OrderItemShipGrpInvRes to a Shipment - > > only for sales orders</description> > > > <required-permissions join-type="AND"> > > > - <permission-service > > service-name="facilityGenericPermission" main-action="CREATE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="CREATE"/> > > > <permission-service > > service-name="facilityGenericPermission" main-action="UPDATE"/> > > > </required-permissions> > > > <auto-attributes entity-name="Shipment" include="pk" > mode="IN" > > optional="false"/> > > > @@ -775,7 +760,7 @@ under the License. > > > > > > location="component://product/minilang/shipment/receipt/ShipmentReceiptServices.xml" > > invoke="issueOrderItemToShipmentAndReceiveAgainstPO" auth="true"> > > > <description>Issues order item quantity specified to the > > shipment, then receives inventory for that item and > quantity</description> > > > <required-permissions join-type="AND"> > > > - <permission-service > > service-name="facilityGenericPermission" main-action="CREATE"/> > > > + <permission-service > > service-name="checkCanChangeShipmentStatusPacked" main-action="CREATE"/> > > > <permission-service > > service-name="facilityGenericPermission" main-action="UPDATE"/> > > > </required-permissions> > > > <implements service="issueOrderItemToShipment"/> > > > @@ -888,11 +873,11 @@ under the License. > > > </service> > > > > > > <!-- QuantityBreak services --> > > > - <service name="createQuantityBreak" engine="simple" > > > - > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="createQuantityBreak" auth="true"> > > > + <service name="createQuantityBreak" > > default-entity-name="QuantityBreak" engine="entity-auto" invoke="create" > > auth="true"> > > > <description>Create a QuantityBreak</description> > > > <permission-service service-name="facilityGenericPermission" > > main-action="CREATE"/> > > > <auto-attributes entity-name="QuantityBreak" include="nonpk" > > mode="IN" optional="true"/> > > > + <auto-attributes entity-name="QuantityBreak" include="pk" > > mode="OUT" optional="false"/> > > > </service> > > > <service name="updateQuantityBreak" engine="entity-auto" > > invoke="update" default-entity-name="QuantityBreak" auth="true"> > > > <description>Update a QuantityBreak</description> > > > @@ -900,8 +885,7 @@ under the License. > > > <auto-attributes entity-name="QuantityBreak" include="pk" > > mode="IN" optional="false"/> > > > <auto-attributes entity-name="QuantityBreak" include="nonpk" > > mode="IN" optional="true"/> > > > </service> > > > - <service name="deleteQuantityBreak" engine="simple" > > > - > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="deleteQuantityBreak" auth="true"> > > > + <service name="deleteQuantityBreak" > > default-entity-name="QuantityBreak" engine="entity-auto" invoke="delete" > > auth="true"> > > > <description>Delete a QuantityBreak</description> > > > <permission-service service-name="facilityGenericPermission" > > main-action="DELETE"/> > > > <auto-attributes entity-name="QuantityBreak" include="pk" > > mode="IN" optional="false"/> > > > @@ -1161,4 +1145,27 @@ under the License. > > > <description>Delete a ShipmentItemBilling</description> > > > <auto-attributes include="pk" mode="IN" optional="false"/> > > > </service> > > > + > > > + <!-- Permission Services --> > > > + <service name="checkCanChangeShipmentStatusPacked" engine="simple" > > > + > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="checkCanChangeShipmentStatusPacked"> > > > + <description>Check the Status of a Shipment to see if it can > be > > changed for an operation relative to the packed state</description> > > > + <!-- Info : permission-service > > service-name="facilityGenericPermission" --> > > > + <implements service="permissionInterface"/> > > > + <attribute name="shipmentId" type="String" mode="IN" > > optional="true"/> > > > + </service> > > > + <service name="checkCanChangeShipmentStatusShipped" > engine="simple" > > > + > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="checkCanChangeShipmentStatusShipped"> > > > + <description>Check the Status of a Shipment to see if it can > be > > changed for an operation relative to the shipped state</description> > > > + <!-- Info : permission-service > > service-name="facilityGenericPermission" --> > > > + <implements service="permissionInterface"/> > > > + <attribute name="shipmentId" type="String" mode="IN" > > optional="true"/> > > > + </service> > > > + <service name="checkCanChangeShipmentStatusDelivered" > > engine="simple" > > > + > > > location="component://product/minilang/shipment/shipment/ShipmentServices.xml" > > invoke="checkCanChangeShipmentStatusDelivered"> > > > + <description>Check the Status of a Shipment to see if it can > be > > changed for an operation relative to the delivered state</description> > > > + <!-- Info : permission-service > > service-name="facilityGenericPermission" --> > > > + <implements service="permissionInterface"/> > > > + <attribute name="shipmentId" type="String" mode="IN" > > optional="true"/> > > > + </service> > > > </services> > > > > > > > > > > > >