You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2008/01/11 22:40:45 UTC
svn commit: r611309 - in /ofbiz/trunk/applications/product:
script/org/ofbiz/product/inventory/InventoryServices.xml
servicedef/services_facility.xml
Author: jleroux
Date: Fri Jan 11 13:40:44 2008
New Revision: 611309
URL: http://svn.apache.org/viewvc?rev=611309&view=rev
Log:
A patch from Abhijit Meshram " Re-Factor Facility permissions of Product component to follow new patterns." (https://issues.apache.org/jira/browse/OFBIZ-1569) - OFBIZ-1569
There was somehting weird in the patch around <!-- Product Inventory Services --> but I was able to merge easily after an update
Modified:
ofbiz/trunk/applications/product/script/org/ofbiz/product/inventory/InventoryServices.xml
ofbiz/trunk/applications/product/servicedef/services_facility.xml
Modified: ofbiz/trunk/applications/product/script/org/ofbiz/product/inventory/InventoryServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/product/inventory/InventoryServices.xml?rev=611309&r1=611308&r2=611309&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/script/org/ofbiz/product/inventory/InventoryServices.xml (original)
+++ ofbiz/trunk/applications/product/script/org/ofbiz/product/inventory/InventoryServices.xml Fri Jan 11 13:40:44 2008
@@ -74,14 +74,26 @@
</else>
</if-empty>
</simple-method>
+ <simple-method method-name="checkProductFacilityRelatedPermission" short-description="ProductFacility Permission Checking Logic">
+ <if-empty field-name="mainAction">
+ <set field="mainAction" from-field="parameters.mainAction"/>
+ <if-empty field-name="mainAction">
+ <add-error><fail-property resource="CommonUiLabels" property="CommonPermissionMainActionAttributeMissing"/></add-error>
+ </if-empty>
+ </if-empty>
+ <check-errors/>
+ <set field="resourceDescription" from-field="parameters.resourceDescription"/>
+ <if-empty field-name="resourceDescription">
+ <property-to-field resource="CommonUiLabels" property="CommonPermissionThisOperation" field-name="resourceDescription"/>
+ </if-empty>
+ <set field="callingMethodName" from-field="resourceDescription" />
+ <set field="checkAction" from-field="mainAction" />
+ <set field="alternatePermissionRoot" value="FACILITY"/>
+ <call-simple-method method-name="checkProductRelatedPermission" xml-resource="org/ofbiz/product/product/ProductServices.xml"/>
+ </simple-method>
<!-- InventoryItem methods -->
<simple-method method-name="createInventoryItem" short-description="Create an InventoryItem">
- <check-permission permission="CATALOG" action="_CREATE">
- <alt-permission permission="FACILITY" action="_CREATE"/>
- <fail-message message="Security Error: to run createInventoryItem you must have the CATALOG_CREATE, CATALOG_ADMIN, FACILITY_CREATE, or FACILITY_ADMIN permission"/>
- </check-permission>
- <check-errors/>
<make-value value-name="inventoryItem" entity-name="InventoryItem"/>
<!-- TODO: make sure availableToPromiseTotal and quantityOnHandTotal are not changed -->
@@ -199,11 +211,6 @@
</simple-method>
<simple-method method-name="updateInventoryItem" short-description="Update an InventoryItem">
- <check-permission permission="CATALOG" action="_UPDATE">
- <alt-permission permission="FACILITY" action="_UPDATE"/>
- <fail-message message="Security Error: to run updateInventoryItem you must have the CATALOG_UPDATE, CATALOG_ADMIN, FACILITY_UPDATE, or FACILITY_ADMIN permission"/>
- </check-permission>
- <check-errors/>
<make-value entity-name="InventoryItem" value-name="lookupPKMap"/>
<set-pk-fields map-name="parameters" value-name="lookupPKMap"/>
@@ -448,10 +455,6 @@
<simple-method method-name="createInventoryItemVariance" short-description="Create an InventoryItemVariance">
- <check-permission permission="CATALOG" action="_CREATE">
- <alt-permission permission="FACILITY" action="_CREATE"/>
- <fail-message message="Security Error: to run createInventoryItemVariance you must have the CATALOG_CREATE, CATALOG_ADMIN, FACILITY_CREATE, or FACILITY_ADMIN permission"/>
- </check-permission>
<!-- add changes to availableToPromise and quantityOnHand -->
<make-value value-name="inventoryItemLookup" entity-name="InventoryItem"/>
@@ -481,11 +484,6 @@
<!-- TODO: make sure availableToPromise is never greater than the quantityOnHand? -->
</simple-method>
<simple-method method-name="createPhysicalInventory" short-description="Create a PhysicalInventory">
- <check-permission permission="CATALOG" action="_CREATE">
- <alt-permission permission="FACILITY" action="_CREATE"/>
- <fail-message message="Security Error: to run createPhysicalInventory you must have the CATALOG_CREATE, CATALOG_ADMIN, FACILITY_CREATE, or FACILITY_ADMIN permission"/>
- </check-permission>
- <check-errors/>
<make-value value-name="newEntity" entity-name="PhysicalInventory"/>
<set-nonpk-fields map-name="parameters" value-name="newEntity"/>
@@ -515,11 +513,6 @@
<!-- ProductFacility methods -->
<simple-method method-name="createProductFacility" short-description="Create a ProductFacility">
- <set value="createProductFacility" field="callingMethodName"/>
- <set value="CREATE" field="checkAction"/>
- <set value="FACILITY" field="alternatePermissionRoot"/>
- <call-simple-method method-name="checkProductRelatedPermission" xml-resource="org/ofbiz/product/product/ProductServices.xml"/>
- <check-errors/>
<make-value value-name="newEntity" entity-name="ProductFacility"/>
<set-nonpk-fields map-name="parameters" value-name="newEntity"/>
@@ -527,11 +520,6 @@
<create-value value-name="newEntity"/>
</simple-method>
<simple-method method-name="updateProductFacility" short-description="Update a ProductFacility">
- <set value="updateProductFacility" field="callingMethodName"/>
- <set value="UPDATE" field="checkAction"/>
- <set value="FACILITY" field="alternatePermissionRoot"/>
- <call-simple-method method-name="checkProductRelatedPermission" xml-resource="org/ofbiz/product/product/ProductServices.xml"/>
- <check-errors/>
<make-value entity-name="ProductFacility" value-name="lookupPKMap"/>
<set-pk-fields map-name="parameters" value-name="lookupPKMap"/>
@@ -540,11 +528,6 @@
<store-value value-name="lookedUpValue"/>
</simple-method>
<simple-method method-name="deleteProductFacility" short-description="Delete a ProductFacility">
- <set value="deleteProductFacility" field="callingMethodName"/>
- <set value="DELETE" field="checkAction"/>
- <set value="FACILITY" field="alternatePermissionRoot"/>
- <call-simple-method method-name="checkProductRelatedPermission" xml-resource="org/ofbiz/product/product/ProductServices.xml"/>
- <check-errors/>
<make-value entity-name="ProductFacility" value-name="lookupPKMap"/>
<set-pk-fields map-name="parameters" value-name="lookupPKMap"/>
@@ -554,11 +537,6 @@
<!-- ProductFacilityLocation methods -->
<simple-method method-name="createProductFacilityLocation" short-description="Create a ProductFacilityLocation">
- <set value="createProductFacilityLocation" field="callingMethodName"/>
- <set value="CREATE" field="checkAction"/>
- <set value="FACILITY" field="alternatePermissionRoot"/>
- <call-simple-method method-name="checkProductRelatedPermission" xml-resource="org/ofbiz/product/product/ProductServices.xml"/>
- <check-errors/>
<make-value value-name="newEntity" entity-name="ProductFacilityLocation"/>
<set-nonpk-fields map-name="parameters" value-name="newEntity"/>
@@ -566,11 +544,6 @@
<create-value value-name="newEntity"/>
</simple-method>
<simple-method method-name="updateProductFacilityLocation" short-description="Update a ProductFacilityLocation">
- <set value="updateProductFacilityLocation" field="callingMethodName"/>
- <set value="UPDATE" field="checkAction"/>
- <set value="FACILITY" field="alternatePermissionRoot"/>
- <call-simple-method method-name="checkProductRelatedPermission" xml-resource="org/ofbiz/product/product/ProductServices.xml"/>
- <check-errors/>
<make-value entity-name="ProductFacilityLocation" value-name="lookupPKMap"/>
<set-pk-fields map-name="parameters" value-name="lookupPKMap"/>
@@ -579,11 +552,6 @@
<store-value value-name="lookedUpValue"/>
</simple-method>
<simple-method method-name="deleteProductFacilityLocation" short-description="Delete a ProductFacilityLocation">
- <set value="deleteProductFacilityLocation" field="callingMethodName"/>
- <set value="DELETE" field="checkAction"/>
- <set value="FACILITY" field="alternatePermissionRoot"/>
- <call-simple-method method-name="checkProductRelatedPermission" xml-resource="org/ofbiz/product/product/ProductServices.xml"/>
- <check-errors/>
<make-value entity-name="ProductFacilityLocation" value-name="lookupPKMap"/>
<set-pk-fields map-name="parameters" value-name="lookupPKMap"/>
@@ -854,8 +822,6 @@
<!-- Inventory Transfer Services -->
<simple-method method-name="createInventoryTransfer" short-description="Create an Inventory Transfer">
- <check-permission permission="FACILITY" action="_CREATE"><fail-message message="Security Error: to run createInventoryTransfer you must have the FACILITY_CREATE or FACILITY_ADMIN permission"/></check-permission>
- <check-errors/>
<make-value value-name="newEntity" entity-name="InventoryTransfer"/>
<set-nonpk-fields map-name="parameters" value-name="newEntity"/>
@@ -865,10 +831,6 @@
<create-value value-name="newEntity"/>
</simple-method>
<simple-method method-name="updateInventoryTransfer" short-description="Update an Inventory Transfer">
- <check-permission permission="FACILITY" action="_UPDATE">
- <fail-message message="Security Error: to run updateInventoryTransfer you must have the FACILITY_UPDATE or FACILITY_ADMIN permission"/>
- </check-permission>
- <check-errors/>
<set from-field="parameters.inventoryTransferId" field="lookupPKMap.inventoryTransferId"/>
<find-by-primary-key entity-name="InventoryTransfer" map-name="lookupPKMap" value-name="inventoryTransfer"/>
@@ -892,8 +854,6 @@
</simple-method>
<simple-method method-name="createInventoryTransfersForProduct" short-description="Create inventory transfers for the given product and quantity. Return the units not available for transfers.">
- <check-permission permission="FACILITY" action="_CREATE"><fail-message message="Security Error: to run createInventoryTransfer you must have the FACILITY_CREATE or FACILITY_ADMIN permission"/></check-permission>
- <check-errors/>
<set from-field="parameters.productId" field="lookupFieldMap.productId"/>
<set from-field="parameters.facilityId" field="lookupFieldMap.facilityId"/>
Modified: ofbiz/trunk/applications/product/servicedef/services_facility.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/servicedef/services_facility.xml?rev=611309&r1=611308&r2=611309&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/servicedef/services_facility.xml (original)
+++ ofbiz/trunk/applications/product/servicedef/services_facility.xml Fri Jan 11 13:40:44 2008
@@ -29,10 +29,21 @@
location="org/ofbiz/product/inventory/InventoryServices.xml" invoke="facilityGenericPermission">
<implements service="permissionInterface"/>
</service>
+ <service name="checkFacilityRelatedPermission" engine="simple"
+ location="org/ofbiz/product/inventory/InventoryServices.xml" invoke="checkFacilityRelatedPermission">
+ <description>Facility Permission Checking Logic</description>
+ <implements service="permissionInterface"/>
+ </service>
+ <service name="checkProductFacilityRelatedPermission" engine="simple"
+ location="org/ofbiz/product/inventory/InventoryServices.xml" invoke="checkProductFacilityRelatedPermission">
+ <description>ProductFacility Permission Checking Logic</description>
+ <implements service="permissionInterface"/>
+ </service>
<!-- Product Inventory Services -->
<service name="createInventoryItem" default-entity-name="InventoryItem" engine="simple"
location="org/ofbiz/product/inventory/InventoryServices.xml" invoke="createInventoryItem" auth="true">
<description>Create an InventoryItem</description>
+ <permission-service service-name="checkFacilityRelatedPermission" main-action="CREATE"/>
<auto-attributes include="pk" mode="OUT" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true">
<exclude field-name="availableToPromiseTotal"/>
@@ -54,6 +65,7 @@
<service name="updateInventoryItem" default-entity-name="InventoryItem" engine="simple"
location="org/ofbiz/product/inventory/InventoryServices.xml" invoke="updateInventoryItem" auth="true">
<description>Update an InventoryItem</description>
+ <permission-service service-name="checkFacilityRelatedPermission" main-action="UPDATE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true">
<exclude field-name="availableToPromiseTotal"/>
@@ -109,12 +121,14 @@
<service name="createInventoryItemVariance" default-entity-name="InventoryItemVariance" engine="simple"
location="org/ofbiz/product/inventory/InventoryServices.xml" invoke="createInventoryItemVariance" auth="true">
<description>Create an InventoryItemVariance - note that the quantityOnHand and availableToPromise are relative and will be added to the corresponding value on the given InventoryItem</description>
+ <permission-service service-name="checkFacilityRelatedPermission" main-action="CREATE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="createPhysicalInventory" default-entity-name="PhysicalInventory" engine="simple"
location="org/ofbiz/product/inventory/InventoryServices.xml" invoke="createPhysicalInventory" auth="true">
<description>Create an PhysicalInventory</description>
+ <permission-service service-name="checkFacilityRelatedPermission" main-action="CREATE"/>
<auto-attributes include="pk" mode="OUT" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
@@ -358,6 +372,7 @@
<service name="createInventoryTransfer" engine="simple"
location="org/ofbiz/product/inventory/InventoryServices.xml" invoke="createInventoryTransfer" auth="true">
<description>Create an inventory transfer. Uses the prepareInventoryTransfer service; see comments there about transfer quantities and inventory items.</description>
+ <permission-service service-name="facilityGenericPermission" main-action="CREATE"/>
<implements service="interfaceInventoryTransfer"/>
<attribute name="xferQty" type="Double" mode="IN" optional="false"/>
<attribute name="inventoryTransferId" type="String" mode="OUT" optional="false"/>
@@ -365,6 +380,7 @@
<service name="updateInventoryTransfer" engine="simple"
location="org/ofbiz/product/inventory/InventoryServices.xml" invoke="updateInventoryTransfer" auth="true">
<description>Update an inventory transfer record</description>
+ <permission-service service-name="facilityGenericPermission" main-action="UPDATE"/>
<implements service="interfaceInventoryTransfer"/>
<attribute name="inventoryTransferId" type="String" mode="IN" optional="false"/>
</service>
@@ -388,6 +404,7 @@
<service name="createInventoryTransfersForProduct" engine="simple"
location="org/ofbiz/product/inventory/InventoryServices.xml" invoke="createInventoryTransfersForProduct" auth="true">
<description>Create inventory transfers for the given product and quantity. Return the units not available for transfers.</description>
+ <permission-service service-name="facilityGenericPermission" main-action="CREATE"/>
<attribute name="facilityId" type="String" mode="IN" optional="false"/>
<attribute name="containerId" type="String" mode="IN" optional="true"/>
<attribute name="facilityIdTo" type="String" mode="IN" optional="false"/>
@@ -421,36 +438,42 @@
<service name="createProductFacility" default-entity-name="ProductFacility" engine="simple"
location="org/ofbiz/product/inventory/InventoryServices.xml" invoke="createProductFacility" auth="true">
<description>Create an ProductFacility</description>
+ <permission-service service-name="checkProductFacilityRelatedPermission" main-action="CREATE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="updateProductFacility" default-entity-name="ProductFacility" engine="simple"
location="org/ofbiz/product/inventory/InventoryServices.xml" invoke="updateProductFacility" auth="true">
<description>Update an ProductFacility</description>
+ <permission-service service-name="checkProductFacilityRelatedPermission" main-action="UPDATE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="deleteProductFacility" default-entity-name="ProductFacility" engine="simple"
location="org/ofbiz/product/inventory/InventoryServices.xml" invoke="deleteProductFacility" auth="true">
<description>Delete an ProductFacility</description>
+ <permission-service service-name="checkProductFacilityRelatedPermission" main-action="DELETE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>
<service name="createProductFacilityLocation" default-entity-name="ProductFacilityLocation" engine="simple"
location="org/ofbiz/product/inventory/InventoryServices.xml" invoke="createProductFacilityLocation" auth="true">
<description>Create an ProductFacilityLocation</description>
+ <permission-service service-name="checkProductFacilityRelatedPermission" main-action="CREATE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="updateProductFacilityLocation" default-entity-name="ProductFacilityLocation" engine="simple"
location="org/ofbiz/product/inventory/InventoryServices.xml" invoke="updateProductFacilityLocation" auth="true">
<description>Update an ProductFacilityLocation</description>
+ <permission-service service-name="checkProductFacilityRelatedPermission" main-action="UPDATE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="deleteProductFacilityLocation" default-entity-name="ProductFacilityLocation" engine="simple"
location="org/ofbiz/product/inventory/InventoryServices.xml" invoke="deleteProductFacilityLocation" auth="true">
<description>Delete an ProductFacilityLocation</description>
+ <permission-service service-name="checkProductFacilityRelatedPermission" main-action="DELETE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
</service>