Thanks a lot Nicolas for your contribution. Cheers !! -- Best Regards, Suraj Khurana Technical Consultant HotWax Systems
On Tue, Sep 3, 2019 at 8:15 PM Nicolas Malin <[email protected]> wrote: > -_-' ... > > Suraj, you blur my sunny day, but it's a good motivation to finish it ;) > > I worked on this last forgot issue [1], and it's hard part ! But I > finalized it and I updated it with 3 dependencies [2] that contains > framework improvements. > > If some people have some time to spend, it's would be nice if we can > close this subject this week :) > > Cheers, > > Nicolas > > [1] https://issues.apache.org/jira/browse/OFBIZ-10636 > [2] https://issues.apache.org/jira/browse/OFBIZ-11180 > https://issues.apache.org/jira/browse/OFBIZ-11182 > https://issues.apache.org/jira/browse/OFBIZ-11183 > > On 9/3/19 8:29 AM, Suraj Khurana wrote: > > 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 <[email protected]> > > 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 <[email protected]> > >> 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, [email protected] 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> > >>>> > >>>> > >>>> >
