You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ja...@apache.org on 2007/04/19 21:00:45 UTC
svn commit: r530518 - in /ofbiz/trunk/applications/content: ./ data/
script/org/ofbiz/content/permission/ servicedef/ webapp/content/website/
Author: jaz
Date: Thu Apr 19 12:00:44 2007
New Revision: 530518
URL: http://svn.apache.org/viewvc?view=rev&rev=530518
Log:
updated content permissions to use the purpose associated with the content; not sure why we expected this to be passed in... changed the name of the XML file containing operation data; added default purpose for CMS entry
Added:
ofbiz/trunk/applications/content/data/ContentOperationData.xml (contents, props changed)
- copied, changed from r530471, ofbiz/trunk/applications/content/data/BlogData.xml
Removed:
ofbiz/trunk/applications/content/data/BlogData.xml
Modified:
ofbiz/trunk/applications/content/ofbiz-component.xml
ofbiz/trunk/applications/content/script/org/ofbiz/content/permission/ContentPermissionServices.xml
ofbiz/trunk/applications/content/servicedef/secas.xml
ofbiz/trunk/applications/content/servicedef/services_content.xml
ofbiz/trunk/applications/content/webapp/content/website/WebSiteCMSContent.ftl
Copied: ofbiz/trunk/applications/content/data/ContentOperationData.xml (from r530471, ofbiz/trunk/applications/content/data/BlogData.xml)
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/data/ContentOperationData.xml?view=diff&rev=530518&p1=ofbiz/trunk/applications/content/data/BlogData.xml&r1=530471&p2=ofbiz/trunk/applications/content/data/ContentOperationData.xml&r2=530518
==============================================================================
--- ofbiz/trunk/applications/content/data/BlogData.xml (original)
+++ ofbiz/trunk/applications/content/data/ContentOperationData.xml Thu Apr 19 12:00:44 2007
@@ -27,43 +27,55 @@
<ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_CREATE" roleTypeId="CONTENT_AUTHOR" statusId="CTNT_PUBLISHED" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_CREATE" roleTypeId="CONTENT_AUTHOR" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_CREATE" roleTypeId="CONTENT_EDITOR" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_CREATE_SUB" roleTypeId="OWNER" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_UPDATE" roleTypeId="CONTENT_AUTHOR" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_UPDATE" roleTypeId="CONTENT_EDITOR" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_UPDATE" roleTypeId="OWNER" statusId="CTNT_INITIAL_DRAFT" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_PUBLISH" roleTypeId="CONTENT_EDITOR" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_PUBLISH" roleTypeId="CONTENT_PUBLISHER" statusId="CTNT_PUBLISHED" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_PUBLISH" roleTypeId="OWNER" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_PUBLISH_SELF" roleTypeId="CONTENT_AUTHOR" statusId="CTNT_PUBLISHED" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_RESPOND" roleTypeId="CONTENT_USER" statusId="CTNT_PUBLISHED" privilegeEnumId="CNT_PRV_NA_"/>
-
- <ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_UPDATE" roleTypeId="CONTENT_AUTHOR" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
- <ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_UPDATE" roleTypeId="CONTENT_EDITOR" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
- <ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_UPDATE" roleTypeId="OWNER" statusId="CTNT_INITIAL_DRAFT" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_VIEW" roleTypeId="CONTENT_AUTHOR" statusId="CTNT_PUBLISHED" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_VIEW" roleTypeId="CONTENT_EDITOR" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
- <ContentPurposeOperation contentPurposeTypeId="_NA_" contentOperationId="CONTENT_VIEW" roleTypeId="CONTENT_ADMIN" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
- <ContentPurposeOperation contentPurposeTypeId="_NA_" contentOperationId="CONTENT_VIEW" roleTypeId="CONTENT_USER" statusId="CTNT_PUBLISHED" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_VIEW" roleTypeId="OWNER" statusId="CTNT_INITIAL_DRAFT" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_LINK_FROM" roleTypeId="_NA_" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_LINK_TO" roleTypeId="_NA_" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+
<ContentPurposeOperation contentPurposeTypeId="RESPONSE" contentOperationId="CONTENT_CREATE" roleTypeId="CONTENT_EDITOR" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="RESPONSE" contentOperationId="CONTENT_UPDATE" roleTypeId="CONTENT_EDITOR" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="RESPONSE" contentOperationId="CONTENT_UPDATE" roleTypeId="OWNER" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="RESPONSE" contentOperationId="CONTENT_PUBLISH" roleTypeId="CONTENT_PUBLISHER" statusId="CTNT_PUBLISHED" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="RESPONSE" contentOperationId="CONTENT_PUBLISH" roleTypeId="CONTENT_USER" statusId="CTNT_PUBLISHED" privilegeEnumId="CNT_PRV_NA_"/>
-
<ContentPurposeOperation contentPurposeTypeId="RESPONSE" contentOperationId="CONTENT_RESPOND" roleTypeId="CONTENT_USER" statusId="CTNT_PUBLISHED" privilegeEnumId="CNT_PRV_NA_"/>
- <ContentPurposeOperation contentPurposeTypeId="RESPONSE" contentOperationId="CONTENT_UPDATE" roleTypeId="CONTENT_EDITOR" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
- <ContentPurposeOperation contentPurposeTypeId="RESPONSE" contentOperationId="CONTENT_UPDATE" roleTypeId="OWNER" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
- <ContentPurposeOperation contentPurposeTypeId="_NA_" contentOperationId="_NA_" roleTypeId="CONTENT_ADMIN" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="RESPONSE" contentOperationId="CONTENT_LINK_FROM" roleTypeId="_NA_" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="RESPONSE" contentOperationId="CONTENT_LINK_TO" roleTypeId="_NA_" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+
+ <ContentPurposeOperation contentPurposeTypeId="SECTION" contentOperationId="CONTENT_UPDATE" roleTypeId="CONTENT_AUTHOR" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="SECTION" contentOperationId="CONTENT_UPDATE" roleTypeId="CONTENT_EDITOR" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="SECTION" contentOperationId="CONTENT_UPDATE" roleTypeId="OWNER" statusId="CTNT_INITIAL_DRAFT" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="SECTION" contentOperationId="CONTENT_PUBLISH" roleTypeId="CONTENT_EDITOR" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="SECTION" contentOperationId="CONTENT_PUBLISH" roleTypeId="CONTENT_PUBLISHER" statusId="CTNT_PUBLISHED" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="SECTION" contentOperationId="CONTENT_PUBLISH" roleTypeId="OWNER" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="SECTION" contentOperationId="CONTENT_VIEW" roleTypeId="CONTENT_AUTHOR" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="SECTION" contentOperationId="CONTENT_VIEW" roleTypeId="CONTENT_EDITOR" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="SECTION" contentOperationId="CONTENT_VIEW" roleTypeId="OWNER" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="SECTION" contentOperationId="CONTENT_VIEW" roleTypeId="_NA_" statusId="CTNT_PUBLISHED" privilegeEnumId="CNT_PRV_NA_"/>
+
<ContentPurposeOperation contentPurposeTypeId="USER" contentOperationId="CONTENT_UPDATE" roleTypeId="OWNER" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+
<ContentPurposeOperation contentPurposeTypeId="_NA_" contentOperationId="HAS_OWNER_ROLE" roleTypeId="OWNER" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="_NA_" contentOperationId="HAS_USER_ROLE" roleTypeId="CONTENT_USER" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="_NA_" contentOperationId="HAS_AUTHOR_ROLE" roleTypeId="CONTENT_AUTHOR" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="_NA_" contentOperationId="HAS_EDITOR_ROLE" roleTypeId="CONTENT_EDITOR" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="_NA_" contentOperationId="HAS_ADMIN_ROLE" roleTypeId="CONTENT_ADMIN" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="_NA_" contentOperationId="HAS_PUBLISHER_ROLE" roleTypeId="CONTENT_PUBLISHER" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
- <ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_CREATE_SUB" roleTypeId="OWNER" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="_NA_" contentOperationId="CONTENT_PUBLISH" roleTypeId="CONTENT_PUBLISHER" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="_NA_" contentOperationId="CONTENT_VIEW" roleTypeId="CONTENT_ADMIN" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="_NA_" contentOperationId="CONTENT_VIEW" roleTypeId="CONTENT_USER" statusId="CTNT_PUBLISHED" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="_NA_" contentOperationId="CONTENT_LINK_TO" roleTypeId="OWNER" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="_NA_" contentOperationId="CONTENT_LINK_FROM" roleTypeId="OWNER" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="_NA_" contentOperationId="CONTENT_LINK_TO" roleTypeId="CONTENT_ADMIN" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
<ContentPurposeOperation contentPurposeTypeId="_NA_" contentOperationId="CONTENT_LINK_FROM" roleTypeId="CONTENT_ADMIN" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
- <ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_LINK_TO" roleTypeId="_NA_" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
- <ContentPurposeOperation contentPurposeTypeId="RESPONSE" contentOperationId="CONTENT_LINK_TO" roleTypeId="_NA_" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
- <ContentPurposeOperation contentPurposeTypeId="RESPONSE" contentOperationId="CONTENT_LINK_FROM" roleTypeId="_NA_" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
- <ContentPurposeOperation contentPurposeTypeId="ARTICLE" contentOperationId="CONTENT_LINK_FROM" roleTypeId="_NA_" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
+ <ContentPurposeOperation contentPurposeTypeId="_NA_" contentOperationId="_NA_" roleTypeId="CONTENT_ADMIN" statusId="_NA_" privilegeEnumId="CNT_PRV_NA_"/>
</entity-engine-xml>
Propchange: ofbiz/trunk/applications/content/data/ContentOperationData.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/applications/content/data/ContentOperationData.xml
------------------------------------------------------------------------------
svn:keywords = "Date Rev Author URL Id"
Propchange: ofbiz/trunk/applications/content/data/ContentOperationData.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: ofbiz/trunk/applications/content/ofbiz-component.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/ofbiz-component.xml?view=diff&rev=530518&r1=530517&r2=530518
==============================================================================
--- ofbiz/trunk/applications/content/ofbiz-component.xml (original)
+++ ofbiz/trunk/applications/content/ofbiz-component.xml Thu Apr 19 12:00:44 2007
@@ -31,10 +31,10 @@
<entity-resource type="group" reader-name="main" loader="main" location="entitydef/entitygroup.xml"/>
<entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel.xml"/>
<entity-resource type="data" reader-name="seed" loader="main" location="data/ContentTypeData.xml"/>
+ <entity-resource type="data" reader-name="seed" loader="main" location="data/ContentOperationData.xml"/>
<entity-resource type="data" reader-name="seed" loader="main" location="data/MimeTypeData.xml"/>
<entity-resource type="data" reader-name="seed" loader="main" location="data/MimeTypeTemplate.xml"/>
- <entity-resource type="data" reader-name="seed" loader="main" location="data/DataCategoryData.xml"/>
- <entity-resource type="data" reader-name="seed" loader="main" location="data/BlogData.xml"/>
+ <entity-resource type="data" reader-name="seed" loader="main" location="data/DataCategoryData.xml"/>
<entity-resource type="data" reader-name="demo" loader="main" location="data/BlogDemoData.xml"/>
<entity-resource type="data" reader-name="seed" loader="main" location="data/TemplateData.xml"/>
<entity-resource type="data" reader-name="demo" loader="main" location="data/UsersDemoData.xml"/>
Modified: ofbiz/trunk/applications/content/script/org/ofbiz/content/permission/ContentPermissionServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/script/org/ofbiz/content/permission/ContentPermissionServices.xml?view=diff&rev=530518&r1=530517&r2=530518
==============================================================================
--- ofbiz/trunk/applications/content/script/org/ofbiz/content/permission/ContentPermissionServices.xml (original)
+++ ofbiz/trunk/applications/content/script/org/ofbiz/content/permission/ContentPermissionServices.xml Thu Apr 19 12:00:44 2007
@@ -406,6 +406,10 @@
<!-- resetting the permission flag -->
<set field="hasPermission" type="Boolean" value="false"/>
+ <if-empty field-name="checkId">
+ <add-error><fail-message message="Required field 'checkId' (contentId) is missing in simple method call [checkContentOperationSecurity]"/></add-error>
+ </if-empty>
+
<if-empty field-name="contentOperationId">
<add-error><fail-message message="Required field 'contentOperationId' is missing in simple method call [checkContentOperationSecurity]"/></add-error>
</if-empty>
@@ -417,23 +421,37 @@
<set field="contentPurposeTypeId" value="_NA_"/>
</if-empty>
- <if-empty field-name="statusId">
- <if-not-empty field-name="content">
- <set field="statusId" from-field="content.statusId"/>
- </if-not-empty>
- </if-empty>
+ <entity-one entity-name="Content" value-name="checkContent">
+ <field-map field-name="contentId" env-name="checkId"/>
+ </entity-one>
+ <set field="statusId" from-field="checkContent.statusId"/>
+
+ <!-- get all purposes for this content -->
+ <call-simple-method method-name="findAllContentPurposes"/>
+
+ <!-- find defined purpose/operation mappings -->
+ <iterate entry-name="currentPurpose" list-name="contentPurposes">
+ <entity-condition entity-name="ContentPurposeOperation" list-name="currentOperations">
+ <condition-list combine="and">
+ <condition-expr field-name="contentPurposeTypeId" operator="equals" env-name="currentPurpose.contentPurposeTypeId"/>
+ <condition-expr field-name="contentOperationId" operator="equals" env-name="contentOperationId"/>
+ </condition-list>
+ <order-by field-name="contentPurposeTypeId"/>
+ </entity-condition>
+ <list-to-list list-name="currentOperations" to-list-name="operations"/>
+ </iterate>
- <!-- check both the purpose and the _NA_ purpose -->
- <entity-condition entity-name="ContentPurposeOperation" list-name="operations">
- <condition-list combine="and">
- <condition-list combine="or">
- <condition-expr field-name="contentPurposeTypeId" operator="equals" env-name="contentPurposeTypeId"/>
+ <!-- check the _NA_ purpose but only if no other purposes were found -->
+ <if-empty field-name="contentPurposes">
+ <entity-condition entity-name="ContentPurposeOperation" list-name="currentOperations">
+ <condition-list combine="and">
<condition-expr field-name="contentPurposeTypeId" operator="equals" value="_NA_"/>
+ <condition-expr field-name="contentOperationId" operator="equals" env-name="contentOperationId"/>
</condition-list>
- <condition-expr field-name="contentOperationId" operator="equals" env-name="contentOperationId"/>
- </condition-list>
- <order-by field-name="contentPurposeTypeId"/>
- </entity-condition>
+ <order-by field-name="contentPurposeTypeId"/>
+ </entity-condition>
+ <list-to-list list-name="currentOperations" to-list-name="operations"/>
+ </if-empty>
<!-- place holder for the content ID -->
<set field="toCheckContentId" from-field="checkId"/>
@@ -470,7 +488,7 @@
</then>
</if>
- <log level="verbose" message="Testing OPERATION: ${operation}"/>
+ <log level="verbose" message="Testing [${checkId}] [${statusId}] OPERATION: ${operation}"/>
<!-- check statusId -->
<if>
@@ -486,6 +504,8 @@
</or>
</condition>
<then>
+ <log level="verbose" message="Passed status check; now checking role(s)"/>
+
<!-- first check passed; now we test for the role membership(s) -->
<iterate entry-name="thisPartyId" list-name="partyIdList">
<if-compare field-name="hasPermission" value="false" type="Boolean" operator="equals">
@@ -683,6 +703,17 @@
</simple-method>
+ <!-- method to get the content purposes -->
+ <simple-method method-name="findAllContentPurposes" short-description="Find all content purposes for the specified content">
+ <if-empty field-name="checkId">
+ <add-error><fail-message message="Required field 'checkId' (contentId) is missing in simple method call [findAllContentPurposes]"/></add-error>
+ </if-empty>
+ <check-errors/>
+
+ <set field="purposeLookup.contentId" from-field="checkId"/>
+ <find-by-and entity-name="ContentPurpose" map-name="purposeLookup" list-name="contentPurposes"/>
+ </simple-method>
+
<!-- method to get user's party associations -->
<simple-method method-name="findAllAssociatedPartyIds" short-description="Finds all associated party Ids for a user">
<set field="lookupMap.partyIdFrom" from-field="userLogin.partyId"/>
Modified: ofbiz/trunk/applications/content/servicedef/secas.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/servicedef/secas.xml?view=diff&rev=530518&r1=530517&r2=530518
==============================================================================
--- ofbiz/trunk/applications/content/servicedef/secas.xml (original)
+++ ofbiz/trunk/applications/content/servicedef/secas.xml Thu Apr 19 12:00:44 2007
@@ -143,6 +143,11 @@
<action service="createContentAssoc" mode="sync" run-as-user="system"/>
</eca>
+ <eca service="createContent" event="commit">
+ <condition field-name="contentPurposeTypeId" operator="is-not-empty"/>
+ <action service="createContentPurpose" mode="sync" run-as-user="system"/>
+ </eca>
+
<!-- content role ecas -->
<eca service="createContentRole" event="invoke">
<action service="ensurePartyRole" mode="sync" run-as-user="system"/>
Modified: ofbiz/trunk/applications/content/servicedef/services_content.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/servicedef/services_content.xml?view=diff&rev=530518&r1=530517&r2=530518
==============================================================================
--- ofbiz/trunk/applications/content/servicedef/services_content.xml (original)
+++ ofbiz/trunk/applications/content/servicedef/services_content.xml Thu Apr 19 12:00:44 2007
@@ -38,6 +38,7 @@
<attribute mode="IN" name="displayFailCond" optional="true" type="Boolean"/>
<attribute mode="INOUT" name="roleTypeList" optional="true" type="List"/>
<!-- end of deprecated fields -->
+ <attribute name="contentPurposeTypeId" type="String" mode="IN" optional="true"/>
<attribute name="contentAssocTypeId" type="String" mode="IN" optional="true"/>
<attribute name="contentIdFrom" type="String" mode="IN" optional="true"/>
<attribute name="contentIdTo" type="String" mode="IN" optional="true"/>
Modified: ofbiz/trunk/applications/content/webapp/content/website/WebSiteCMSContent.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/webapp/content/website/WebSiteCMSContent.ftl?view=diff&rev=530518&r1=530517&r2=530518
==============================================================================
--- ofbiz/trunk/applications/content/webapp/content/website/WebSiteCMSContent.ftl (original)
+++ ofbiz/trunk/applications/content/webapp/content/website/WebSiteCMSContent.ftl Thu Apr 19 12:00:44 2007
@@ -151,6 +151,7 @@
</#if>
</#list>
<#else>
+ <input type="hidden" name="contentPurposeTypeId" value="${contentPurposeTypeId?default('SECTION')}"/>
<input type="hidden" name="contentAssocTypeId" value="${contentAssocTypeId?default('SUBSITE')}"/>
<input type="hidden" name="ownerContentId" value="${contentIdFrom?default(contentRoot)}"/>
<input type="hidden" name="contentIdFrom" value="${contentIdFrom?default(contentRoot)}"/>