Hans,

Could you explain what you're shooting for here?

It seems a little funny to remove a WorkEffort when a CommunicationEvent is associated with it and it is the only CommunicationEvent associated with that WorkEffort. That assumes that the CommunicationEvent is the dominant entity and controls what happens with a WorkEffort when they are used together. I'm having a hard time coming up with a situation where that would be the case, but I can think of various situations where the WorkEffort is the dominant entity and you wouldn't want it removed when a CommunicationEvent associated with it is removed if it's the only comm-event...

-David


On Nov 22, 2006, at 2:17 AM, [EMAIL PROTECTED] wrote:

Author: hansbak
Date: Wed Nov 22 01:17:30 2006
New Revision: 478095

URL: http://svn.apache.org/viewvc?view=rev&rev=478095
Log:
the delete communicationEvent service now also deletes the related workeffort if this commubication event is the only one attached to the woreffort.

Modified:
incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/ communication/CommunicationEventServices.xml
    incubator/ofbiz/trunk/applications/party/servicedef/services.xml

Modified: incubator/ofbiz/trunk/applications/party/script/org/ofbiz/ party/communication/CommunicationEventServices.xml URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/ applications/party/script/org/ofbiz/party/communication/ CommunicationEventServices.xml? view=diff&rev=478095&r1=478094&r2=478095 ====================================================================== ======== --- incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/ communication/CommunicationEventServices.xml (original) +++ incubator/ofbiz/trunk/applications/party/script/org/ofbiz/party/ communication/CommunicationEventServices.xml Wed Nov 22 01:17:30 2006
@@ -16,8 +16,9 @@
 under the License.
 -->

-<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
- xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/ simple-methods.xsd">
+<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+ xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/ simple-methods.xsd"> + <!-- xsi:noNamespaceSchemaLocation="../../../../../../../ framework/minilang/dtd/simple-methods.xsd"--> <simple-method method-name="createCommunicationEvent" short- description="Create a CommunicationEvent">
         <if>
             <condition>
@@ -110,8 +111,25 @@
                 </if-compare>
             </iterate>
         </if-not-empty>
+ <!-- remove related workeffort when this is the only communicationevent connected to it --> + <get-related value-name="event" relation- name="CommunicationEventWorkEff" list-name="workEffortComs"/>
+        <if-not-empty field-name="workEffortComs">
+ <iterate entry-name="workEffortCom" list- name="workEffortComs">
+                <remove-value value-name="workEffortCom"/>
+ <get-related-one value-name="workEffortCom" relation-name="WorkEffort" to-value-name="workEffort"/> + <get-related value-name="workEffort" relation- name="CommunicationEventWorkEff" list-name="otherComs"/>
+                <if-empty field-name="otherComs">
+ <log level="info" message="remove workeffort $ {workEffort.workEffortId} and related parties and status"/> + <remove-related value-name="workEffort" relation-name="WorkEffortPartyAssignment"/> + <remove-related value-name="workEffort" relation-name="WorkEffortStatus"/>
+                    <remove-value value-name="workEffort"/>
+ <set field="workEffortMessage" value="and worEffort [${workEffort.workEffortId}]"/>
+                </if-empty>
+            </iterate>
+        </if-not-empty>
         <!-- delete the event itself -->
         <remove-value value-name="event"/>
+ <set field="successMessage" value="Communication [$ {event.communicationEventId}] ${workEffortMessage} deleted "/>
     </simple-method>
<!-- since these ancillary operations on communication event cause them to be updated,
         they will all use the CME_UPDATE permission -->

Modified: incubator/ofbiz/trunk/applications/party/servicedef/ services.xml URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/ applications/party/servicedef/services.xml? view=diff&rev=478095&r1=478094&r2=478095 ====================================================================== ======== --- incubator/ofbiz/trunk/applications/party/servicedef/ services.xml (original) +++ incubator/ofbiz/trunk/applications/party/servicedef/ services.xml Wed Nov 22 01:17:30 2006
@@ -591,7 +591,8 @@
     </service>
     <service name="deleteCommunicationEvent" engine="simple"
location="org/ofbiz/party/communication/ CommunicationEventServices.xml" invoke="deleteCommunicationEvent" auth="true">
-        <description>Delete a Communication Event</description>
+ <description>Delete a Communication Event, optionally delete the attached content and dataresource + and when this is the only communication event connected to a workeffort delete the workeffort too.</description> <auto-attributes entity-name="CommunicationEvent" include="pk" mode="IN" optional="false"/> <attribute name="delContentDataResource" type="String" mode="IN" optional="true"/>
     </service>



Reply via email to