Author: hansbak
Date: Tue Aug 16 06:21:04 2011 New Revision: 1158120 URL: http://svn.apache.org/viewvc?rev=1158120&view=rev Log: extended the commevent delete service to delete also seo friendly url's connected to the attached content of a comm event Modified: ofbiz/trunk/applications/content/script/org/ofbiz/content/content/ContentServices.xml ofbiz/trunk/applications/content/servicedef/services_content.xml ofbiz/trunk/applications/party/script/org/ofbiz/party/communication/CommunicationEventServices.xml Modified: ofbiz/trunk/applications/content/script/org/ofbiz/content/content/ContentServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/script/org/ofbiz/content/content/ContentServices.xml?rev=1158120&r1=1158119&r2=1158120&view=diff ============================================================================== --- ofbiz/trunk/applications/content/script/org/ofbiz/content/content/ContentServices.xml (original) +++ ofbiz/trunk/applications/content/script/org/ofbiz/content/content/ContentServices.xml Tue Aug 16 06:21:04 2011 @@ -69,6 +69,29 @@ <remove-value value-field="content"/> </simple-method> + <simple-method method-name="removeContentAndRelated" short-description="Remove a Content Record, related resource(s) and assocs."> + <make-value entity-name="Content" value-field="lookupKeyValue"/> + <set-pk-fields map="parameters" value-field="lookupKeyValue"/> + <entity-one entity-name="Content" map="lookupKeyValue" value-field="content"/> + <remove-related value-field="content" relation-name="ContentRole"/> + <remove-related value-field="content" relation-name="ContentKeyword"/> + <remove-related value-field="content" relation-name="FromContentAssoc"/> + <remove-related value-field="content" relation-name="ToContentAssoc"/> + <remove-value value-field="content"/> + <get-related-one value-field="content" relation-name="DataResource" to-value-field="dataResource"/> + <if-not-empty field="dataResource"> + <get-related-one value-field="dataResource" relation-name="ImageDataResource" to-value-field="imageDataResource"/> + <if-not-empty field="imageDataResource"> + <remove-value value-field="imageDataResource"/> + </if-not-empty> + <get-related-one value-field="dataResource" relation-name="ElectronicText" to-value-field="electronicText"/> + <if-not-empty field="electronicText"> + <remove-value value-field="electronicText"/> + </if-not-empty> + <remove-related value-field="dataResource" relation-name="DataResourceRole"/> + <remove-value value-field="dataResource"/> + </if-not-empty> + </simple-method> <!-- content assoc services --> <simple-method method-name="createContentAssoc" short-description="Create a ContntAssoc Record"> Modified: ofbiz/trunk/applications/content/servicedef/services_content.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/servicedef/services_content.xml?rev=1158120&r1=1158119&r2=1158120&view=diff ============================================================================== --- ofbiz/trunk/applications/content/servicedef/services_content.xml (original) +++ ofbiz/trunk/applications/content/servicedef/services_content.xml Tue Aug 16 06:21:04 2011 @@ -151,6 +151,17 @@ <attribute mode="INOUT" name="roleTypeList" optional="true" type="List"/> </service> + <service name="removeContentAndRelated" default-entity-name="Content" engine="simple" + location="component://content/script/org/ofbiz/content/content/ContentServices.xml" invoke="removeContentAndRelated" auth="true"> + <description>Remove Content</description> + <permission-service service-name="genericContentPermission" main-action="DELETE"/> + <auto-attributes include="pk" mode="IN" optional="false"/> + <attribute mode="IN" name="targetOperationList" optional="true" type="List"/> + <attribute mode="IN" name="contentPurposeTypeId" optional="true" type="String"/> + <attribute mode="IN" name="userLogin" optional="true" type="org.ofbiz.entity.GenericValue"/> + <attribute mode="INOUT" name="roleTypeList" optional="true" type="List"/> + </service> + <!-- TODO: old permission service; being replaced with genericContentPermission --> <service name="checkContentPermission" transaction-timeout="7200" Modified: ofbiz/trunk/applications/party/script/org/ofbiz/party/communication/CommunicationEventServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/script/org/ofbiz/party/communication/CommunicationEventServices.xml?rev=1158120&r1=1158119&r2=1158120&view=diff ============================================================================== --- ofbiz/trunk/applications/party/script/org/ofbiz/party/communication/CommunicationEventServices.xml (original) +++ ofbiz/trunk/applications/party/script/org/ofbiz/party/communication/CommunicationEventServices.xml Tue Aug 16 06:21:04 2011 @@ -358,6 +358,18 @@ under the License. <iterate entry="content" list="contents"> <remove-related value-field="content" relation-name="ContentRole"/> <remove-related value-field="content" relation-name="ContentKeyword"/> + <get-related value-field="content" relation-name="FromContentAssoc" list="relatedFromContentassocs"/> + <iterate entry="relatedFromContentassoc" list="relatedFromContentassocs"> + <set field="removeContentAndRelatedInmap.contentId" from-field="relatedFromContentassoc.contentIdTo"/> + <call-service service-name="removeContentAndRelated" in-map-name="removeContentAndRelatedInmap"/> + </iterate> + <remove-related value-field="content" relation-name="FromContentAssoc"/> + <get-related value-field="content" relation-name="ToContentAssoc" list="relatedToContentassocs"/> + <iterate entry="relatedToContentassoc" list="relatedToContentassocs"> + <set field="removeContentAndRelatedInmap.contentId" from-field="relatedFromContentassoc.contentIdFrom"/> + <call-service service-name="removeContentAndRelated" in-map-name="removeContentAndRelatedInmap"/> + </iterate> + <remove-related value-field="content" relation-name="ToContentAssoc"/> <remove-value value-field="content"/> <!-- check first if the content is used on any other communication event if yes, only delete link--> <entity-and entity-name="CommEventContentAssoc" list="commEvents"> @@ -365,19 +377,8 @@ under the License. </entity-and> <set field="commEventsSize" value="${groovy: return(commEvents.size())}" type="Integer"/> <if-compare field="commEventsSize" operator="equals" value="1"> - <get-related-one value-field="content" relation-name="DataResource" to-value-field="dataResource"/> - <if-not-empty field="dataResource"> - <get-related-one value-field="dataResource" relation-name="ImageDataResource" to-value-field="imageDataResource"/> - <if-not-empty field="imageDataResource"> - <remove-value value-field="imageDataResource"/> - </if-not-empty> - <get-related-one value-field="dataResource" relation-name="ElectronicText" to-value-field="electronicText"/> - <if-not-empty field="electronicText"> - <remove-value value-field="electronicText"/> - </if-not-empty> - <remove-related value-field="dataResource" relation-name="DataResourceRole"/> - <remove-value value-field="dataResource"/> - </if-not-empty> + <set field="removeContentAndRelatedInmap.contentId" from-field="content.contentId"/> + <call-service service-name="removeContentAndRelated" in-map-name="removeContentAndRelatedInmap"/> </if-compare> </iterate> </if-not-empty> |
Free forum by Nabble | Edit this page |