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>
> >
> >
> >
>

Reply via email to