You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ha...@apache.org on 2009/05/28 10:33:05 UTC
svn commit: r779477 - in /ofbiz/trunk/applications/party:
script/org/ofbiz/party/communication/CommunicationEventServices.xml
script/org/ofbiz/party/party/PartyServices.xml
webapp/partymgr/communication/CommForms.xml
Author: hansbak
Date: Thu May 28 08:33:05 2009
New Revision: 779477
URL: http://svn.apache.org/viewvc?rev=779477&view=rev
Log:
some corrections on email sending via the reply button
Modified:
ofbiz/trunk/applications/party/script/org/ofbiz/party/communication/CommunicationEventServices.xml
ofbiz/trunk/applications/party/script/org/ofbiz/party/party/PartyServices.xml
ofbiz/trunk/applications/party/webapp/partymgr/communication/CommForms.xml
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=779477&r1=779476&r2=779477&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 Thu May 28 08:33:05 2009
@@ -60,7 +60,7 @@
<field-to-result field="newEntity.communicationEventId" result-name="communicationEventId"/>
<!-- check for reply -->
- <if-compare field="parameters.userLogin.userLoginId" value="system" operator="not-equals">
+ <if-compare field="parameters.communicationEventId" value="AUTO_EMAIL_COMM" operator="not-equals"><!--not an incoming email from a mailserver -->
<if-not-empty field="parameters.parentCommEventId">
<entity-one entity-name="CommunicationEvent" value-field="parentCommEvent">
<field-map field-name="communicationEventId" from-field="parameters.parentCommEventId"/>
@@ -68,7 +68,10 @@
<entity-one entity-name="PartyNameView" value-field="partyNameView">
<field-map field-name="partyId" from-field="parentCommEvent.partyIdFrom"/>
</entity-one>
-
+ <set field="newEntity.communicationEventTypeId" from-field="parentComEvent.communicationEventTypeId"/>
+ <if-compare field="newEntity.communicationEventTypeId" value="AUTO_EMAIL_COMM" operator="equals">
+ <set field="newEntity.communicationEventTypeId" value="EMAIL_COMMUNICATION"/>
+ </if-compare>
<set field="newEntity.partyIdFrom" from-field="parameters.partyIdFrom" default-value="parameters.userLogin.partyId"/>
<set field="newEntity.partyIdTo" from-field="parentCommEvent.partyIdFrom"/>
@@ -108,32 +111,56 @@
</if-not-empty>
</if-compare>
- <if-empty field="parameters.statusId">
- <set value="COM_ENTERED" field="parameters.statusId"/>
+ <if-empty field="newEntity.statusId">
+ <set value="COM_ENTERED" field="newEntity.statusId"/>
</if-empty>
- <!-- if only contactMechId and no partyIdTo is provided for creation email address find the related party -->
- <if-empty field="parameters.partyIdTo">
- <if-not-empty field="parameters.contactMechIdTo">
- <entity-and entity-name="PartyAndContactMech" list="partyContactMechs" filter-by-date="true">
- <field-map field-name="contactMechId" from-field="parameters.contactMechIdTo"/>
- <field-map field-name="contactMechTypeId" value="EMAIL_ADDRESS"/>
- </entity-and>
- <first-from-list entry="partyContactMech" list="partyContactMechs"/>
- <set field="newEntity.partyIdTo" from-field="partyContactMech.partyId"/>
+ <if-compare field="newEntity.communicationEventTypeId" value="EMAIL_COMMUNICATION" operator="equals">
+ <!-- if only contactMechIdFrom and no partyIdFrom is provided for creation email address find the related party -->
+ <if-empty field="newEntity.partyIdFrom">
+ <if-not-empty field="newEntity.contactMechIdFrom">
+ <entity-and entity-name="PartyAndContactMech" list="partyContactMechs" filter-by-date="true">
+ <field-map field-name="contactMechId" from-field="newEntity.contactMechIdFrom"/>
+ <field-map field-name="contactMechTypeId" value="EMAIL_ADDRESS"/>
+ </entity-and>
+ <first-from-list entry="partyContactMech" list="partyContactMechs"/>
+ <set field="newEntity.partyIdFrom" from-field="partyContactMech.partyId"/>
+ </if-not-empty>
+ </if-empty>
+
+ <!-- if partyIdFrom provided but no contactMechIdFrom get emailAddress -->
+ <if-not-empty field="newEntity.partyIdFrom">
+ <if-empty field="newEntity.contactMechIdFrom">
+ <set field="getEmail.partyId" from-field="newEntity.partyIdFrom"/>
+ <call-service service-name="getPartyEmail" in-map-name="getEmail">
+ <result-to-field result-name="contactMechId" field="newEntity.contactMechIdFrom"/>
+ </call-service>
+ </if-empty>
</if-not-empty>
- </if-empty>
-
- <!-- if partyId provided but no contactMechIdTo get emailAddress -->
- <if-not-empty field="parameters.partyIdTo">
- <if-empty field="parameters.contactMechIdTo">
- <set field="getEmail.partyId" from-field="parameters.partyIdTo"/>
- <call-service service-name="getPartyEmail" in-map-name="getEmail">
- <result-to-field result-name="contacMechId" field="newEntity.contactMechIdTo"/>
- </call-service>
+
+ <!-- if only contactMechIdTo and no partyIdTo is provided for creation email address find the related party -->
+ <if-empty field="newEntity.partyIdTo">
+ <if-not-empty field="newEntity.contactMechIdTo">
+ <entity-and entity-name="PartyAndContactMech" list="partyContactMechs" filter-by-date="true">
+ <field-map field-name="contactMechId" from-field="newEntity.contactMechIdTo"/>
+ <field-map field-name="contactMechTypeId" value="EMAIL_ADDRESS"/>
+ </entity-and>
+ <first-from-list entry="partyContactMech" list="partyContactMechs"/>
+ <set field="newEntity.partyIdTo" from-field="partyContactMech.partyId"/>
+ </if-not-empty>
</if-empty>
- </if-not-empty>
-
+
+ <!-- if partyId provided but no contactMechIdTo get emailAddress -->
+ <if-not-empty field="newEntity.partyIdTo">
+ <if-empty field="newEntity.contactMechIdTo">
+ <set field="getEmail.partyId" from-field="newEntity.partyIdTo"/>
+ <call-service service-name="getPartyEmail" in-map-name="getEmail">
+ <result-to-field result-name="contactMechId" field="newEntity.contactMechIdTo"/>
+ </call-service>
+ </if-empty>
+ </if-not-empty>
+ </if-compare>
+
<now-timestamp field="newEntity.entryDate"/>
<create-value value-field="newEntity"/>
@@ -162,13 +189,7 @@
<set field="commRole.partyId" from-field="newEntity.partyIdTo"/>
<set field="commRole.roleTypeId" value="ADDRESSEE"/>
<set field="commRole.contactMechId" from-field="newEntity.contactMechIdTo"/>
- <set field="commRole.statusId" value="COM_ROLE_CREATED"/>
- <if-compare field="parameters.permission" value="true" operator="equals">
- <call-service service-name="createCommunicationEventRole" in-map-name="commRole"/>
- <else>
- <call-service service-name="createCommunicationEventRoleWithoutPermission" in-map-name="commRole"/>
- </else>
- </if-compare>
+ <call-service service-name="createCommunicationEventRoleWithoutPermission" in-map-name="commRole"/>
</if-not-empty>
<!-- partyIdFrom role-->
@@ -178,12 +199,7 @@
<set field="commRole.roleTypeId" value="ORIGINATOR"/>
<set field="commRole.contactMechId" from-field="newEntity.contactMechIdFrom"/>
<set field="commRole.statusId" value="COM_ROLE_COMPLETED"/>
- <if-compare field="parameters.permission" value="true" operator="equals">
- <call-service service-name="createCommunicationEventRole" in-map-name="commRole"/>
- <else>
- <call-service service-name="createCommunicationEventRoleWithoutPermission" in-map-name="commRole"/>
- </else>
- </if-compare>
+ <call-service service-name="createCommunicationEventRoleWithoutPermission" in-map-name="commRole"/>
</if-not-empty>
</simple-method>
@@ -445,7 +461,7 @@
</entity-condition>
<iterate entry="communicationEvent" list="communicationEvents">
<set-service-fields service-name="sendCommEventAsEmail" map="communicationEvent" to-map="inMap"/>
- <call-service service-name="sendCommEventAsEmail" in-map-name="inMap" require-new-transaction="true"/>
+ <call-service service-name="sendCommEventAsEmail" in-map-name="inMap" require-new-transaction="true" break-on-error="false"/>
</iterate>
</simple-method>
Modified: ofbiz/trunk/applications/party/script/org/ofbiz/party/party/PartyServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/script/org/ofbiz/party/party/PartyServices.xml?rev=779477&r1=779476&r2=779477&view=diff
==============================================================================
--- ofbiz/trunk/applications/party/script/org/ofbiz/party/party/PartyServices.xml (original)
+++ ofbiz/trunk/applications/party/script/org/ofbiz/party/party/PartyServices.xml Thu May 28 08:33:05 2009
@@ -661,7 +661,7 @@
<!-- first try to find primary email Address when not found get other email -->
<entity-and entity-name="PartyContactWithPurpose" list="emailAddressesPurposes">
<field-map field-name="partyId" from-field="parameters.partyId"/>
- <field-map field-name="contactMechPurposeTypeId" from-field="PRIMARY_EMAIL"/>
+ <field-map field-name="contactMechPurposeTypeId" value="PRIMARY_EMAIL"/>
</entity-and>
<filter-list-by-date list="emailAddressesPurposes" to-list="emailAddressesPurposes1" from-field-name="purposeFromDate" thru-field-name="purposeThruDate"/>
<filter-list-by-date list="emailAddressesPurposes1" to-list="emailAddresses" from-field-name="contactFromDate" thru-field-name="contactThruDate"/>
Modified: ofbiz/trunk/applications/party/webapp/partymgr/communication/CommForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/communication/CommForms.xml?rev=779477&r1=779476&r2=779477&view=diff
==============================================================================
--- ofbiz/trunk/applications/party/webapp/partymgr/communication/CommForms.xml (original)
+++ ofbiz/trunk/applications/party/webapp/partymgr/communication/CommForms.xml Thu May 28 08:33:05 2009
@@ -144,7 +144,7 @@
</actions>
<alt-target use-when="communicationEvent!=null" target="updateCommunicationEvent"/>
<field name="communicationEventId"><hidden/></field>
- <field name="communicationEventTypeId"><hidden value="AUTO_EMAIL_COMM"/></field>
+ <field name="communicationEventTypeId"><hidden value="EMAIL_COMMUNICATION"/></field>
<field name="statusId"><hidden value="COM_IN_PROGRESS"/></field>
<field name="parentCommEventId" use-when="parentCommEventId != null"><hidden value="${parameters.parentCommEventId}"/></field>
<field name="parentCommEventId" use-when="originalCommEventId != null"><hidden value="${parameters.originalCommEventId}"/></field>
@@ -154,8 +154,8 @@
<list-options list-name="emailAddresses" description="${infoString}" key-name="contactMechId"/>
</drop-down>
</field>
- <field name="contactMechIdTo" title="${uiLabelMap.PartyEmailTo}">
- <lookup target-form-name="LookupPartyEmail" default-value="${parameters.contactMechIdTo}"/>
+ <field name="partyIdTo">
+ <lookup target-form-name="LookupPartyName" default-value="${partyIdTo}"/>
</field>
<field name="datetimeStarted" title="${uiLabelMap.CommonSendDate}"><date-time/></field>
<field name="subject"><text size="60" default-value="${parameters.subject}"/></field>
@@ -217,9 +217,8 @@
</hyperlink>
</field>
<field name="communicationEventTypeId"><display-entity entity-name="CommunicationEventType" description="${description}"/></field>
- <field name="contactListId"><display/></field>
- <field name="messageId"><display/></field>
- <field name="partyIdFrom" use-when="partyIdFrom!=void">
+ <field name="contactListId" use-when="communicationEvent.get("contactListId")!=null"><display/></field>
+ <field name="partyIdFrom" use-when="communicationEvent.get("partyIdFrom")!=null">
<display-entity entity-name="PartyNameView" key-field-name="partyId" description="${firstName} ${middleName} ${lastName} ${groupName} (${contactMechFrom.infoString})">
<sub-hyperlink description=" [${communicationEvent.partyIdFrom}]" target="/partymgr/control/viewprofile" target-type="inter-app">
<parameter param-name="partyIdFrom"/>
@@ -376,7 +375,7 @@
</row-actions>
<field name="communicationEventId"><hidden/></field>
<field name="subject">
- <hyperlink description="${subject}" target="ViewCommunicationEvent">
+ <hyperlink description="${subject}[${communicationEventId}]" target="ViewCommunicationEvent">
<parameter param-name="communicationEventId"/>
<parameter param-name="partyId"/>
<parameter param-name="roleTypeId"/>