This is an automated email from the ASF dual-hosted git repository. jacopoc pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
commit 40c0aa133c103f391523d124f29dce3f484eab8a Author: Jacopo Cappellato <[email protected]> AuthorDate: Tue Jun 2 19:30:54 2026 +0200 Implement special permission handling for DataResource CRUD operations when the dataTemplateTypeId attribute is set --- .../permission/DataResourcePermissionServices.xml | 18 ++++++++++++++++++ applications/content/servicedef/services.xml | 1 + 2 files changed, 19 insertions(+) diff --git a/applications/content/minilang/permission/DataResourcePermissionServices.xml b/applications/content/minilang/permission/DataResourcePermissionServices.xml index 3ef085d961..66140191e1 100644 --- a/applications/content/minilang/permission/DataResourcePermissionServices.xml +++ b/applications/content/minilang/permission/DataResourcePermissionServices.xml @@ -21,6 +21,24 @@ xmlns="http://ofbiz.apache.org/Simple-Method" xsi:schemaLocation="http://ofbiz.apache.org/Simple-Method http://ofbiz.apache.org/dtds/simple-methods.xsd"> <simple-method method-name="genericDataResourcePermission" short-description="Generic Service for DataResource Permissions"> + <!-- Operating with DataResources containing templates requires special permission --> + <if> + <condition> + <and> + <not> + <if-empty field="parameters.dataTemplateTypeId"/> + </not> + <if-compare field="parameters.dataTemplateTypeId" value="NONE" operator="not-equals"/> + </and> + </condition> + <then> + <set field="primaryPermission" value="CONTENTMGR_SUPER"/> + <call-simple-method method-name="genericBasePermissionCheck" + xml-resource="component://common/minilang/permission/CommonPermissionServices.xml"/> + <return/> + </then> + </if> + <set field="primaryPermission" value="CONTENTMGR"/> <call-simple-method method-name="genericBasePermissionCheck" xml-resource="component://common/minilang/permission/CommonPermissionServices.xml"/> diff --git a/applications/content/servicedef/services.xml b/applications/content/servicedef/services.xml index 24fb5c2197..4330262773 100644 --- a/applications/content/servicedef/services.xml +++ b/applications/content/servicedef/services.xml @@ -898,6 +898,7 @@ <description>Generic DataResource Permission Service; Takes mainAction to determine the mode.</description> <implements service="permissionInterface"/> <attribute name="dataResourceId" type="String" mode="IN" optional="true"/> + <attribute name="dataTemplateTypeId" type="String" mode="IN" optional="true"/> </service> <service name="createContentAlternativeUrl" engine="groovy"

