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/08/30 22:42:09 UTC
svn commit: r571303 - in /ofbiz/trunk/applications/party:
webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh
webapp/partymgr/communication/CommForms.xml
widget/partymgr/CommunicationScreens.xml
Author: jaz
Date: Thu Aug 30 13:42:08 2007
New Revision: 571303
URL: http://svn.apache.org/viewvc?rev=571303&view=rev
Log:
first pass of communication event UI cleanup
Added:
ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh (with props)
Modified:
ofbiz/trunk/applications/party/webapp/partymgr/communication/CommForms.xml
ofbiz/trunk/applications/party/widget/partymgr/CommunicationScreens.xml
Added: ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh?rev=571303&view=auto
==============================================================================
--- ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh (added)
+++ ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh Thu Aug 30 13:42:08 2007
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.ofbiz.base.util.*;
+
+delegator = request.getAttribute("delegator");
+userLogin = request.getAttribute("userLogin");
+parentCommEventId = parameters.get("parentCommEventId");
+
+if (parentCommEventId != null) {
+ parentEvent = delegator.findByPrimaryKey("CommunicationEvent", UtilMisc.toMap("communicationEventId", parentCommEventId));
+ if (parentEvent != null) {
+ orgEventId = parentEvent.get("origCommEventId");
+ if (orgEventId == null) orgEventId = parentCommEventId;
+
+ parameters.put("communicationEventTypeId", parentEvent.get("communicationEventTypeId"));
+ parameters.put("parentCommEventId", parentCommEventId);
+ parameters.put("origCommEventId", orgEventId);
+
+ parameters.put("contactMechIdTo", parentEvent.get("contactMechIdFrom"));
+ parameters.put("contactMechIdFrom", parentEvent.get("contactMechIdTo"));
+
+ parameters.put("partyIdFrom", userLogin.get("partyId"));
+ parameters.put("partyIdTo", parentEvent.get("partyIdFrom"));
+ parameters.put("toString", parentEvent.get("fromString"));
+ parameters.put("statusId", "COM_IN_PROGRESS");
+
+ parameters.put("subject", "RE: " + parentEvent.get("subject"));
+ parameters.put("content", "\n\n\n--------------- In reply to:\n\n" + parentEvent.get("content"));
+ }
+}
\ No newline at end of file
Propchange: ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh
------------------------------------------------------------------------------
svn:keywords = "Date Rev Author URL Id"
Propchange: ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh
------------------------------------------------------------------------------
svn:mime-type = text/plain
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=571303&r1=571302&r2=571303&view=diff
==============================================================================
--- ofbiz/trunk/applications/party/webapp/partymgr/communication/CommForms.xml (original)
+++ ofbiz/trunk/applications/party/webapp/partymgr/communication/CommForms.xml Thu Aug 30 13:42:08 2007
@@ -46,19 +46,33 @@
<entity-one entity-name="StatusItem" value-name="currentStatus" auto-field-map="false">
<field-map field-name="statusId" env-name="communicationEvent.statusId"/>
</entity-one>
+ <script location="component://party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh"/>
</actions>
+
<alt-target target="createCommunicationEvent" use-when="communicationEvent==null"/>
<field name="partyId" map-name="parameters"><hidden/></field>
+
<field name="communicationEventId" use-when="communicationEvent!=null"><display/></field>
- <field name="communicationEventTypeId">
+ <field name="communicationEventTypeId" use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")">
<drop-down>
<entity-options entity-name="CommunicationEventType" description="${description}">
<entity-order-by field-name="description"/>
</entity-options>
</drop-down>
</field>
- <field name="partyIdFrom" title="${uiLabelMap.PartyPartyFrom}"><lookup target-form-name="LookupPartyName" default-value="${userLogin.partyId}"/></field>
- <field name="partyIdTo" title="${uiLabelMap.PartyPartyTo}"><lookup target-form-name="LookupPartyName" default-value="${userLogin.partyId}"/></field>
+ <field name="communicationEventTypeId" use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")">
+ <display-entity entity-name="CommunicationEventType" description="${description}" key-field-name="communicationEventTypeId"/>
+ </field>
+
+ <!-- parent communications -->
+ <field name="parentCommEventId" use-when="communicationEvent!=null&&communicationEvent.getString("parentCommEventId")!=null">
+ <hyperlink description="${communicationEvent.parentCommEventId}" target="EditCommunicationEvent?communicationEventId=${communicationEvent.parentCommEventId}&partyId=${partyId}" target-type="intra-app"/>
+ </field>
+ <field name="parentCommEventId" map-name="parameters" use-when="communicationEvent==null" >
+ <hidden/>
+ </field>
+
+ <!-- status -->
<field name="statusId" use-when="communicationEvent==null" title="${uiLabelMap.CommonStatus}" >
<drop-down>
<entity-options description="${description}" entity-name="StatusItem" key-field-name="statusId">
@@ -75,23 +89,54 @@
</entity-options>
</drop-down>
</field>
- <field name="contactMechTypeId"> <!-- does not have use-when restrictions so we can enter what the contactMechTypeId is -->
+
+ <!-- auto email fields -->
+ <field name="fromString" use-when="communicationEvent!=null&&communicationEvent.getString("fromString")!=null">
+ <display/>
+ </field>
+ <field name="toString" use-when="communicationEvent!=null&&communicationEvent.getString("toString")!=null">
+ <display/>
+ </field>
+ <field name="toString" map-name="parameters" use-when="communicationEvent==null&&toString!=null">
+ <text size="60"/>
+ </field>
+
+ <!-- party ID fields -->
+ <field name="partyIdFrom" title="${uiLabelMap.PartyPartyFrom}" use-when="communicationEvent==null">
+ <lookup target-form-name="LookupPartyName" default-value="${userLogin.partyId}"/>
+ </field>
+ <field name="partyIdFrom" title="${uiLabelMap.PartyPartyFrom}" use-when="communicationEvent!=null">
+ <lookup target-form-name="LookupPartyName"/>
+ </field>
+ <field name="partyIdTo" title="${uiLabelMap.PartyPartyTo}">
+ <lookup target-form-name="LookupPartyName"/>
+ </field>
+
+ <!-- contact mech type -->
+ <field name="contactMechTypeId" use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")">
<drop-down>
<entity-options description="${description}" entity-name="ContactMechType" key-field-name="contactMechTypeId">
<entity-order-by field-name="description"/>
</entity-options>
</drop-down>
</field>
+ <field name="contactMechTypeId" use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")">
+ <display-entity entity-name="ContactMechType" description="${description}" key-field-name="contactMechTypeId"/>
+ </field>
+
<!-- this is an example of how to display different types of contact mech to the user -->
<field name="contactMechIdFrom" title="${uiLabelMap.PartyFromEmailAddress}"
- use-when="(parameters.get("communicationEventTypeId")!=null)&&(parameters.get("communicationEventTypeId").equals("EMAIL_COMMUNICATION"))">
+ use-when="(parameters.get("communicationEventTypeId")!=null)&&(parameters.get("communicationEventTypeId").equals("EMAIL_COMMUNICATION")||parameters.get("communicationEventTypeId").equals("AUTO_EMAIL_COMM"))">
<drop-down allow-empty="false" current="selected">
- <list-options key-name="contactMechId" list-name="userEmailAddresses" description="${infoString}"/>
+ <entity-options entity-name="PartyAndContactMech" description="${infoString}" key-field-name="contactMechId">
+ <entity-constraint name="partyId" operator="equals" value="${partyIdFrom}"/>
+ </entity-options>
</drop-down>
</field>
<field name="contactMechIdFrom" title="${uiLabelMap.PartyFromContactMech}"
- use-when="(parameters.get("communicationEventTypeId")==null)||!(parameters.get("communicationEventTypeId").equals("EMAIL_COMMUNICATION"))">
+ use-when="(parameters.get("communicationEventTypeId")==null)||!(parameters.get("communicationEventTypeId").equals("EMAIL_COMMUNICATION")||parameters.get("communicationEventTypeId").equals("AUTO_EMAIL_COMM"))">
<lookup target-form-name="LookupPreferredContactMech" target-parameter="partyIdFrom"/></field>
+
<!-- TODO: somehow show the address or email here, rather than just a contactMechId -->
<field name="contactMechIdTo" title="${uiLabelMap.PartyToEmailAddress}"
use-when="(parameters.get("communicationEventTypeId")!=null)&&(parameters.get("communicationEventTypeId").equals("EMAIL_COMMUNICATION"))">
@@ -102,28 +147,44 @@
<field name="contactMechIdTo" title="${uiLabelMap.PartyToContactMech}"
use-when="(parameters.get("communicationEventTypeId")==null)||!(parameters.get("communicationEventTypeId").equals("EMAIL_COMMUNICATION"))">
<lookup target-form-name="LookupPreferredContactMech" target-parameter="partyIdTo"/></field>
- <field name="roleTypeIdFrom" use-when="commEventRoleTypeIdFrom!=null">
+
+ <!-- role type info -->
+ <field name="roleTypeIdFrom" use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")">
<drop-down no-current-selected-key="_NA_">
<entity-options description="${description}" entity-name="RoleType" key-field-name="roleTypeId">
<entity-order-by field-name="description"/>
</entity-options>
</drop-down>
</field>
- <field name="roleTypeIdTo" use-when="commEventRoleTypeIdTo!=null">
+ <field name="roleTypeIdFrom" use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")">
+ <display-entity entity-name="RoleType" description="${description}" key-field-name="roleTypeId"/>
+ </field>
+
+ <field name="roleTypeIdTo" use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")">
<drop-down no-current-selected-key="_NA_">
<entity-options description="${description}" entity-name="RoleType" key-field-name="roleTypeId">
<entity-order-by field-name="description"/>
</entity-options>
</drop-down>
</field>
- <field name="contactListId">
+ <field name="roleTypeIdTo" use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")">
+ <display-entity entity-name="RoleType" description="${description}" key-field-name="roleTypeId"/>
+ </field>
+
+ <!-- contact list -->
+ <field name="contactListId" use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")">
<lookup size="20" target-form-name="LookupContactList">
<sub-hyperlink target="/marketing/control/EditContactList?contactListId=${communicationEvent.contactListId}" target-type="inter-app" link-style="smallSubmit"/>
</lookup>
</field>
+ <field name="contactListId" use-when="communicationEvent!=null&&communicationEvent.getString("contactListId")!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")"><display/></field>
+
<field name="datetimeStarted" title="${uiLabelMap.CommonStartDate}"><date-time/></field>
<field name="datetimeEnded" title="${uiLabelMap.CommonFinishDate}"><date-time/></field>
- <field name="subject"><text size="60"/></field>
+
+ <field name="subject" use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")"><text size="60"/></field>
+ <field name="subject" use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")"><display/></field>
+
<field name="reasonEnumId">
<drop-down no-current-selected-key="" allow-empty="true">
<entity-options entity-name="Enumeration" description="${description}" key-field-name="enumId">
@@ -132,15 +193,20 @@
</entity-options>
</drop-down>
</field>
- <field name="contentMimeTypeId">
- <drop-down no-current-selected-key="_NA_" allow-empty="false">
+ <field name="contentMimeTypeId" use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")">
+ <drop-down no-current-selected-key="text/plain" allow-empty="false">
<entity-options description="${mimeTypeId}" entity-name="MimeType" key-field-name="mimeTypeId">
<entity-order-by field-name="mimeTypeId"/>
</entity-options>
</drop-down>
</field>
- <field name="content" title="${uiLabelMap.CommonContent}"><textarea cols="60" rows="10"/></field>
+ <field name="contentMimeTypeId" use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")"><display/></field>
+
+ <field name="content" title="${uiLabelMap.CommonContent}" use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")"><textarea cols="60" rows="10"/></field>
+ <field name="content" title="${uiLabelMap.CommonContent}" use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")"><textarea cols="60" rows="10" read-only="true"/></field>
+
<field name="note" title="${uiLabelMap.CommonNote}"><textarea cols="60" rows="3"/></field>
+ <field name="messageId" use-when="communicationEvent!=null&&communicationEvent.getString("messageId")!=null"><display/></field>
<field name="submitButton" title="${uiLabelMap.CommonSave}"><submit button-type="button"/></field>
</form>
@@ -171,7 +237,7 @@
<field name="subject"><display/></field>
<field map-name="subjectMap" name="eventNote" title="${uiLabelMap.CommonNote}"><display/></field>
<field name="contentMimeTypeId"><display/></field>
- <field name="content" title="${uiLabelMap.CommonContent}"><textarea cols="60" rows="10"/></field>
+ <field name="content" title="${uiLabelMap.CommonContent}"><textarea cols="60" rows="10" read-only="true"/></field>
<field name="content" title="${uiLabelMap.CommonContent}" use-when="(communicationEvent.getString("contentMimeTypeId")!=null)&&(communicationEvent.getString("contentMimeTypeId").indexOf("text/html")) != -1">
<display also-hidden="false"/> <!-- if not set, it is also hidden, which could cause it to re-dislay -->
</field>
@@ -180,6 +246,8 @@
<form name="findCommEvents" type="single" target="ListLookupCommEvents"
paginate="true">
<field name="communicationEventId" use-when="communicationEvent != null"><text-find/></field>
+ <field name="parentCommEventId"><text-find/></field>
+ <field name="origCommEventId"><text-find/></field>
<field name="partyIdFrom" title="${uiLabelMap.CommonPartyID} ${uiLabelMap.CommonFrom}"><lookup target-form-name="LookupPartyName"/></field>
<field name="partyIdTo" title="${uiLabelMap.CommonPartyID} ${uiLabelMap.CommonTo}"><lookup target-form-name="LookupPartyName"/></field>
<field name="communicationEventTypeId">
@@ -268,6 +336,17 @@
<condition-expr field-name="partyIdTo" operator="equals" value="${partyId}"/>
</condition-list>
<condition-expr env-name="" field-name="statusId" operator="equals" value="COM_PENDING"/>
+ </condition-list>
+ </entity-condition>
+ </actions>
+ </form>
+
+ <form name="ListChildCommEvents" type="list" extends="ListCommEvents">
+ <actions>
+ <entity-condition entity-name="CommunicationEvent">
+ <condition-list combine="or">
+ <condition-expr field-name="parentCommEventId" operator="equals" value="${communicationEventId}"/>
+ <condition-expr field-name="origCommEventId" operator="equals" value="${communicationEventId}"/>
</condition-list>
</entity-condition>
</actions>
Modified: ofbiz/trunk/applications/party/widget/partymgr/CommunicationScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/widget/partymgr/CommunicationScreens.xml?rev=571303&r1=571302&r2=571303&view=diff
==============================================================================
--- ofbiz/trunk/applications/party/widget/partymgr/CommunicationScreens.xml (original)
+++ ofbiz/trunk/applications/party/widget/partymgr/CommunicationScreens.xml Thu Aug 30 13:42:08 2007
@@ -250,13 +250,14 @@
<set field="titleProperty" value="PageTitleEditCommunication"/>
<set field="tabButtonItem" value="PartyCommEvents"/>
<set field="subTabButtonItem" value="CommunicationEvent"/>
+ <set field="entityName" value="CommunicationEvent"/>
<set field="communicationEventId" from-field="parameters.communicationEventId"/>
<set field="parentCommEventId" from-field="parameters.parentCommEventId"/>
<set field="partyId" from-field="parameters.partyId"/>
<set field="partyIdFrom" from-field="parameters.partyIdFrom" default-value="${userLogin.partyId}"/>
- <set field="partyIdTo" from-field="parameters.partyIdTo" default-value="${userLogin.partyId}"/>
+ <set field="partyIdTo" from-field="parameters.partyIdTo"/>
<set field="contactMechIdFrom" from-field="parameters.contactMechIdFrom"/>
<set field="contactMechIdTo" from-field="parameters.contactMechIdTo"/>
<set field="contactMechTypeId" from-field="parameters.contactMechTypeId"/>
@@ -282,25 +283,34 @@
<label style="head1" text="${uiLabelMap.PartyNewCommunication}"/>
</fail-widgets>
</section>
- <!--
<section>
<widgets>
<container>
<link style="smallSubmit" target="EditCommunicationEvent?partyId=${partyId}&partyIdFrom=${partyId}" text="${uiLabelMap.PartyNewCommunication}"/>
- <link style="smallSubmit" target="EditCommunicationEvent?partyId=${partyId}&partyIdTo=${partyId}" text="${uiLabelMap.PartyReply}"/>
+ <link style="smallSubmit" target="EditCommunicationEvent?partyId=${partyId}&parentCommEventId=${communicationEventId}" text="${uiLabelMap.PartyReply}"/>
+ <!--<link style="smallSubmit" target="EditCommunicationEvent?communicationEventTypeId=${communicationEvent.communicationEventTypeId}&contactMechIdTo=${communicationEvent.contactMechIdFrom}&contactMechIdFrom=${communicationEvent.contactMechIdTo}&partyId=${partyId}&partyIdTo=${partyId}&partyIdFrom=${userLogin.partyId}&parentCommEventId=${communicationEventId}&toString=${communicationEvent.fromString}" text="${uiLabelMap.PartyReply}"/>-->
</container>
</widgets>
</section>
- -->
<section>
<condition>
<if-compare field-name="okayToUpdate" operator="equals" value="true" type="Boolean"/>
</condition>
<widgets>
- <include-form location="component://party/webapp/partymgr/communication/CommForms.xml" name="EditCommEvent"/>
+ <container style="widget-container">
+ <include-form location="component://party/webapp/partymgr/communication/CommForms.xml" name="EditCommEvent"/>
+ </container>
+ <container style="widget-container">
+ <include-form location="component://party/webapp/partymgr/communication/CommForms.xml" name="ListChildCommEvents"/>
+ </container>
</widgets>
<fail-widgets>
- <include-form location="component://party/webapp/partymgr/communication/CommForms.xml" name="ViewCommEvent"/>
+ <container style="widget-container">
+ <include-form location="component://party/webapp/partymgr/communication/CommForms.xml" name="ViewCommEvent"/>
+ </container>
+ <container style="widget-container">
+ <include-form location="component://party/webapp/partymgr/communication/CommForms.xml" name="ListChildCommEvents"/>
+ </container>
</fail-widgets>
</section>
</widgets>
Re: svn commit: r571303 - in /ofbiz/trunk/applications/party: webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh
webapp/partymgr/communication/CommForms.xml widget/partymgr/CommunicationScreens.xml
Posted by Jacopo Cappellato <ti...@sastau.it>.
Jacques, Andrew,
I've managed to resolve the issue by adding ${bsh: to the use-when
attributes... just as a temp fix.
Jacopo
Jacques Le Roux wrote:
> Hi Andy,
>
> Please could you have a look at the related Jira issue https://issues.apache.org/jira/browse/OFBIZ-1224 ?
>
> Thanks
>
> Jacques
>
>> Author: jaz
>> Date: Thu Aug 30 13:42:08 2007
>> New Revision: 571303
>>
>> URL: http://svn.apache.org/viewvc?rev=571303&view=rev
>> Log:
>> first pass of communication event UI cleanup
>>
>> Added:
>> ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh (with props)
>> Modified:
>> ofbiz/trunk/applications/party/webapp/partymgr/communication/CommForms.xml
>> ofbiz/trunk/applications/party/widget/partymgr/CommunicationScreens.xml
>>
>> Added: ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh
>> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh?rev=571303&view=auto
>> ==============================================================================
>> --- ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh (added)
>> +++ ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh Thu Aug 30 13:42:08 2007
>> @@ -0,0 +1,47 @@
>> +/*
>> + * Licensed to the Apache Software Foundation (ASF) under one
>> + * or more contributor license agreements. See the NOTICE file
>> + * distributed with this work for additional information
>> + * regarding copyright ownership. The ASF licenses this file
>> + * to you under the Apache License, Version 2.0 (the
>> + * "License"); you may not use this file except in compliance
>> + * with the License. You may obtain a copy of the License at
>> + *
>> + * http://www.apache.org/licenses/LICENSE-2.0
>> + *
>> + * Unless required by applicable law or agreed to in writing,
>> + * software distributed under the License is distributed on an
>> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> + * KIND, either express or implied. See the License for the
>> + * specific language governing permissions and limitations
>> + * under the License.
>> + */
>> +
>> +import org.ofbiz.base.util.*;
>> +
>> +delegator = request.getAttribute("delegator");
>> +userLogin = request.getAttribute("userLogin");
>> +parentCommEventId = parameters.get("parentCommEventId");
>> +
>> +if (parentCommEventId != null) {
>> + parentEvent = delegator.findByPrimaryKey("CommunicationEvent", UtilMisc.toMap("communicationEventId", parentCommEventId));
>> + if (parentEvent != null) {
>> + orgEventId = parentEvent.get("origCommEventId");
>> + if (orgEventId == null) orgEventId = parentCommEventId;
>> +
>> + parameters.put("communicationEventTypeId", parentEvent.get("communicationEventTypeId"));
>> + parameters.put("parentCommEventId", parentCommEventId);
>> + parameters.put("origCommEventId", orgEventId);
>> +
>> + parameters.put("contactMechIdTo", parentEvent.get("contactMechIdFrom"));
>> + parameters.put("contactMechIdFrom", parentEvent.get("contactMechIdTo"));
>> +
>> + parameters.put("partyIdFrom", userLogin.get("partyId"));
>> + parameters.put("partyIdTo", parentEvent.get("partyIdFrom"));
>> + parameters.put("toString", parentEvent.get("fromString"));
>> + parameters.put("statusId", "COM_IN_PROGRESS");
>> +
>> + parameters.put("subject", "RE: " + parentEvent.get("subject"));
>> + parameters.put("content", "\n\n\n--------------- In reply to:\n\n" + parentEvent.get("content"));
>> + }
>> +}
>> \ No newline at end of file
>>
>> Propchange: ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh
>> ------------------------------------------------------------------------------
>> svn:eol-style = native
>>
>> Propchange: ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh
>> ------------------------------------------------------------------------------
>> svn:keywords = "Date Rev Author URL Id"
>>
>> Propchange: ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh
>> ------------------------------------------------------------------------------
>> svn:mime-type = text/plain
>>
>> 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=571303&r1=571302&r2=571303&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/party/webapp/partymgr/communication/CommForms.xml (original)
>> +++ ofbiz/trunk/applications/party/webapp/partymgr/communication/CommForms.xml Thu Aug 30 13:42:08 2007
>> @@ -46,19 +46,33 @@
>> <entity-one entity-name="StatusItem" value-name="currentStatus" auto-field-map="false">
>> <field-map field-name="statusId" env-name="communicationEvent.statusId"/>
>> </entity-one>
>> + <script location="component://party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh"/>
>> </actions>
>> +
>> <alt-target target="createCommunicationEvent" use-when="communicationEvent==null"/>
>> <field name="partyId" map-name="parameters"><hidden/></field>
>> +
>> <field name="communicationEventId" use-when="communicationEvent!=null"><display/></field>
>> - <field name="communicationEventTypeId">
>> + <field name="communicationEventTypeId"
> use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")">
>> <drop-down>
>> <entity-options entity-name="CommunicationEventType" description="${description}">
>> <entity-order-by field-name="description"/>
>> </entity-options>
>> </drop-down>
>> </field>
>> - <field name="partyIdFrom" title="${uiLabelMap.PartyPartyFrom}"><lookup target-form-name="LookupPartyName"
> default-value="${userLogin.partyId}"/></field>
>> - <field name="partyIdTo" title="${uiLabelMap.PartyPartyTo}"><lookup target-form-name="LookupPartyName"
> default-value="${userLogin.partyId}"/></field>
>> + <field name="communicationEventTypeId"
> use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")">
>> + <display-entity entity-name="CommunicationEventType" description="${description}"
> key-field-name="communicationEventTypeId"/>
>> + </field>
>> +
>> + <!-- parent communications -->
>> + <field name="parentCommEventId"
> use-when="communicationEvent!=null&&communicationEvent.getString("parentCommEventId")!=null">
>> + <hyperlink description="${communicationEvent.parentCommEventId}"
> target="EditCommunicationEvent?communicationEventId=${communicationEvent.parentCommEventId}&partyId=${partyId}"
> target-type="intra-app"/>
>> + </field>
>> + <field name="parentCommEventId" map-name="parameters" use-when="communicationEvent==null" >
>> + <hidden/>
>> + </field>
>> +
>> + <!-- status -->
>> <field name="statusId" use-when="communicationEvent==null" title="${uiLabelMap.CommonStatus}" >
>> <drop-down>
>> <entity-options description="${description}" entity-name="StatusItem" key-field-name="statusId">
>> @@ -75,23 +89,54 @@
>> </entity-options>
>> </drop-down>
>> </field>
>> - <field name="contactMechTypeId"> <!-- does not have use-when restrictions so we can enter what the contactMechTypeId
> is -->
>> +
>> + <!-- auto email fields -->
>> + <field name="fromString"
> use-when="communicationEvent!=null&&communicationEvent.getString("fromString")!=null">
>> + <display/>
>> + </field>
>> + <field name="toString"
> use-when="communicationEvent!=null&&communicationEvent.getString("toString")!=null">
>> + <display/>
>> + </field>
>> + <field name="toString" map-name="parameters" use-when="communicationEvent==null&&toString!=null">
>> + <text size="60"/>
>> + </field>
>> +
>> + <!-- party ID fields -->
>> + <field name="partyIdFrom" title="${uiLabelMap.PartyPartyFrom}" use-when="communicationEvent==null">
>> + <lookup target-form-name="LookupPartyName" default-value="${userLogin.partyId}"/>
>> + </field>
>> + <field name="partyIdFrom" title="${uiLabelMap.PartyPartyFrom}" use-when="communicationEvent!=null">
>> + <lookup target-form-name="LookupPartyName"/>
>> + </field>
>> + <field name="partyIdTo" title="${uiLabelMap.PartyPartyTo}">
>> + <lookup target-form-name="LookupPartyName"/>
>> + </field>
>> +
>> + <!-- contact mech type -->
>> + <field name="contactMechTypeId"
> use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")">
>> <drop-down>
>> <entity-options description="${description}" entity-name="ContactMechType" key-field-name="contactMechTypeId">
>> <entity-order-by field-name="description"/>
>> </entity-options>
>> </drop-down>
>> </field>
>> + <field name="contactMechTypeId"
> use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")">
>> + <display-entity entity-name="ContactMechType" description="${description}" key-field-name="contactMechTypeId"/>
>> + </field>
>> +
>> <!-- this is an example of how to display different types of contact mech to the user -->
>> <field name="contactMechIdFrom" title="${uiLabelMap.PartyFromEmailAddress}"
>> -
> use-when="(parameters.get("communicationEventTypeId")!=null)&&(parameters.get("communicationEventTypeId"
> ).equals("EMAIL_COMMUNICATION"))">
>> +
> use-when="(parameters.get("communicationEventTypeId")!=null)&&(parameters.get("communicationEventTypeId"
> ).equals("EMAIL_COMMUNICATION")||parameters.get("communicationEventTypeId").equals("AUTO_EMAIL_COMM"))
> ">
>> <drop-down allow-empty="false" current="selected">
>> - <list-options key-name="contactMechId" list-name="userEmailAddresses" description="${infoString}"/>
>> + <entity-options entity-name="PartyAndContactMech" description="${infoString}" key-field-name="contactMechId">
>> + <entity-constraint name="partyId" operator="equals" value="${partyIdFrom}"/>
>> + </entity-options>
>> </drop-down>
>> </field>
>> <field name="contactMechIdFrom" title="${uiLabelMap.PartyFromContactMech}"
>> -
> use-when="(parameters.get("communicationEventTypeId")==null)||!(parameters.get("communicationEventTypeId").equal
> s("EMAIL_COMMUNICATION"))">
>> +
> use-when="(parameters.get("communicationEventTypeId")==null)||!(parameters.get("communicationEventTypeId").equal
> s("EMAIL_COMMUNICATION")||parameters.get("communicationEventTypeId").equals("AUTO_EMAIL_COMM"))">
>> <lookup target-form-name="LookupPreferredContactMech" target-parameter="partyIdFrom"/></field>
>> +
>> <!-- TODO: somehow show the address or email here, rather than just a contactMechId -->
>> <field name="contactMechIdTo" title="${uiLabelMap.PartyToEmailAddress}"
>>
> use-when="(parameters.get("communicationEventTypeId")!=null)&&(parameters.get("communicationEventTypeId"
> ).equals("EMAIL_COMMUNICATION"))">
>> @@ -102,28 +147,44 @@
>> <field name="contactMechIdTo" title="${uiLabelMap.PartyToContactMech}"
>>
> use-when="(parameters.get("communicationEventTypeId")==null)||!(parameters.get("communicationEventTypeId").equal
> s("EMAIL_COMMUNICATION"))">
>> <lookup target-form-name="LookupPreferredContactMech" target-parameter="partyIdTo"/></field>
>> - <field name="roleTypeIdFrom" use-when="commEventRoleTypeIdFrom!=null">
>> +
>> + <!-- role type info -->
>> + <field name="roleTypeIdFrom"
> use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")">
>> <drop-down no-current-selected-key="_NA_">
>> <entity-options description="${description}" entity-name="RoleType" key-field-name="roleTypeId">
>> <entity-order-by field-name="description"/>
>> </entity-options>
>> </drop-down>
>> </field>
>> - <field name="roleTypeIdTo" use-when="commEventRoleTypeIdTo!=null">
>> + <field name="roleTypeIdFrom"
> use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")">
>> + <display-entity entity-name="RoleType" description="${description}" key-field-name="roleTypeId"/>
>> + </field>
>> +
>> + <field name="roleTypeIdTo"
> use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")">
>> <drop-down no-current-selected-key="_NA_">
>> <entity-options description="${description}" entity-name="RoleType" key-field-name="roleTypeId">
>> <entity-order-by field-name="description"/>
>> </entity-options>
>> </drop-down>
>> </field>
>> - <field name="contactListId">
>> + <field name="roleTypeIdTo"
> use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")">
>> + <display-entity entity-name="RoleType" description="${description}" key-field-name="roleTypeId"/>
>> + </field>
>> +
>> + <!-- contact list -->
>> + <field name="contactListId"
> use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")">
>> <lookup size="20" target-form-name="LookupContactList">
>> <sub-hyperlink target="/marketing/control/EditContactList?contactListId=${communicationEvent.contactListId}"
> target-type="inter-app" link-style="smallSubmit"/>
>> </lookup>
>> </field>
>> + <field name="contactListId"
> use-when="communicationEvent!=null&&communicationEvent.getString("contactListId")!=null&&!communicationEve
> nt.getString("statusId").equals("COM_ENTERED")"><display/></field>
>> +
>> <field name="datetimeStarted" title="${uiLabelMap.CommonStartDate}"><date-time/></field>
>> <field name="datetimeEnded" title="${uiLabelMap.CommonFinishDate}"><date-time/></field>
>> - <field name="subject"><text size="60"/></field>
>> +
>> + <field name="subject"
> use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")"><text
> size="60"/></field>
>> + <field name="subject"
> use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")"><di
> splay/></field>
>> +
>> <field name="reasonEnumId">
>> <drop-down no-current-selected-key="" allow-empty="true">
>> <entity-options entity-name="Enumeration" description="${description}" key-field-name="enumId">
>> @@ -132,15 +193,20 @@
>> </entity-options>
>> </drop-down>
>> </field>
>> - <field name="contentMimeTypeId">
>> - <drop-down no-current-selected-key="_NA_" allow-empty="false">
>> + <field name="contentMimeTypeId"
> use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")">
>> + <drop-down no-current-selected-key="text/plain" allow-empty="false">
>> <entity-options description="${mimeTypeId}" entity-name="MimeType" key-field-name="mimeTypeId">
>> <entity-order-by field-name="mimeTypeId"/>
>> </entity-options>
>> </drop-down>
>> </field>
>> - <field name="content" title="${uiLabelMap.CommonContent}"><textarea cols="60" rows="10"/></field>
>> + <field name="contentMimeTypeId"
> use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")"><di
> splay/></field>
>> +
>> + <field name="content" title="${uiLabelMap.CommonContent}"
> use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")"><textarea
> cols="60" rows="10"/></field>
>> + <field name="content" title="${uiLabelMap.CommonContent}"
> use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")"><te
> xtarea cols="60" rows="10" read-only="true"/></field>
>> +
>> <field name="note" title="${uiLabelMap.CommonNote}"><textarea cols="60" rows="3"/></field>
>> + <field name="messageId"
> use-when="communicationEvent!=null&&communicationEvent.getString("messageId")!=null"><display/></field>
>> <field name="submitButton" title="${uiLabelMap.CommonSave}"><submit button-type="button"/></field>
>> </form>
>>
>> @@ -171,7 +237,7 @@
>> <field name="subject"><display/></field>
>> <field map-name="subjectMap" name="eventNote" title="${uiLabelMap.CommonNote}"><display/></field>
>> <field name="contentMimeTypeId"><display/></field>
>> - <field name="content" title="${uiLabelMap.CommonContent}"><textarea cols="60" rows="10"/></field>
>> + <field name="content" title="${uiLabelMap.CommonContent}"><textarea cols="60" rows="10" read-only="true"/></field>
>> <field name="content" title="${uiLabelMap.CommonContent}"
> use-when="(communicationEvent.getString("contentMimeTypeId")!=null)&&(communicationEvent.getString("contentMi
> meTypeId").indexOf("text/html")) != -1">
>> <display also-hidden="false"/> <!-- if not set, it is also hidden, which could cause it to re-dislay -->
>> </field>
>> @@ -180,6 +246,8 @@
>> <form name="findCommEvents" type="single" target="ListLookupCommEvents"
>> paginate="true">
>> <field name="communicationEventId" use-when="communicationEvent != null"><text-find/></field>
>> + <field name="parentCommEventId"><text-find/></field>
>> + <field name="origCommEventId"><text-find/></field>
>> <field name="partyIdFrom" title="${uiLabelMap.CommonPartyID} ${uiLabelMap.CommonFrom}"><lookup
> target-form-name="LookupPartyName"/></field>
>> <field name="partyIdTo" title="${uiLabelMap.CommonPartyID} ${uiLabelMap.CommonTo}"><lookup
> target-form-name="LookupPartyName"/></field>
>> <field name="communicationEventTypeId">
>> @@ -268,6 +336,17 @@
>> <condition-expr field-name="partyIdTo" operator="equals" value="${partyId}"/>
>> </condition-list>
>> <condition-expr env-name="" field-name="statusId" operator="equals" value="COM_PENDING"/>
>> + </condition-list>
>> + </entity-condition>
>> + </actions>
>> + </form>
>> +
>> + <form name="ListChildCommEvents" type="list" extends="ListCommEvents">
>> + <actions>
>> + <entity-condition entity-name="CommunicationEvent">
>> + <condition-list combine="or">
>> + <condition-expr field-name="parentCommEventId" operator="equals" value="${communicationEventId}"/>
>> + <condition-expr field-name="origCommEventId" operator="equals" value="${communicationEventId}"/>
>> </condition-list>
>> </entity-condition>
>> </actions>
>>
>> Modified: ofbiz/trunk/applications/party/widget/partymgr/CommunicationScreens.xml
>> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/widget/partymgr/CommunicationScreens.xml?rev=571303&r1=571302&r2=571303&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/applications/party/widget/partymgr/CommunicationScreens.xml (original)
>> +++ ofbiz/trunk/applications/party/widget/partymgr/CommunicationScreens.xml Thu Aug 30 13:42:08 2007
>> @@ -250,13 +250,14 @@
>> <set field="titleProperty" value="PageTitleEditCommunication"/>
>> <set field="tabButtonItem" value="PartyCommEvents"/>
>> <set field="subTabButtonItem" value="CommunicationEvent"/>
>> + <set field="entityName" value="CommunicationEvent"/>
>>
>> <set field="communicationEventId" from-field="parameters.communicationEventId"/>
>> <set field="parentCommEventId" from-field="parameters.parentCommEventId"/>
>>
>> <set field="partyId" from-field="parameters.partyId"/>
>> <set field="partyIdFrom" from-field="parameters.partyIdFrom" default-value="${userLogin.partyId}"/>
>> - <set field="partyIdTo" from-field="parameters.partyIdTo" default-value="${userLogin.partyId}"/>
>> + <set field="partyIdTo" from-field="parameters.partyIdTo"/>
>> <set field="contactMechIdFrom" from-field="parameters.contactMechIdFrom"/>
>> <set field="contactMechIdTo" from-field="parameters.contactMechIdTo"/>
>> <set field="contactMechTypeId" from-field="parameters.contactMechTypeId"/>
>> @@ -282,25 +283,34 @@
>> <label style="head1" text="${uiLabelMap.PartyNewCommunication}"/>
>> </fail-widgets>
>> </section>
>> - <!--
>> <section>
>> <widgets>
>> <container>
>> <link style="smallSubmit"
> target="EditCommunicationEvent?partyId=${partyId}&partyIdFrom=${partyId}" text="${uiLabelMap.PartyNewCommunication}"/>
>> - <link style="smallSubmit"
> target="EditCommunicationEvent?partyId=${partyId}&partyIdTo=${partyId}" text="${uiLabelMap.PartyReply}"/>
>> + <link style="smallSubmit"
> target="EditCommunicationEvent?partyId=${partyId}&parentCommEventId=${communicationEventId}" text="${uiLabelMap.PartyReply}"/>
>> + <!--<link style="smallSubmit"
> target="EditCommunicationEvent?communicationEventTypeId=${communicationEvent.communicationEventTypeId}&contactMechIdTo=${communi
> cationEvent.contactMechIdFrom}&contactMechIdFrom=${communicationEvent.contactMechIdTo}&partyId=${partyId}&partyIdTo=${pa
> rtyId}&partyIdFrom=${userLogin.partyId}&parentCommEventId=${communicationEventId}&toString=${communicationEvent.fromStri
> ng}" text="${uiLabelMap.PartyReply}"/>-->
>> </container>
>> </widgets>
>> </section>
>> - -->
>> <section>
>> <condition>
>> <if-compare field-name="okayToUpdate" operator="equals" value="true" type="Boolean"/>
>> </condition>
>> <widgets>
>> - <include-form location="component://party/webapp/partymgr/communication/CommForms.xml"
> name="EditCommEvent"/>
>> + <container style="widget-container">
>> + <include-form
> location="component://party/webapp/partymgr/communication/CommForms.xml" name="EditCommEvent"/>
>> + </container>
>> + <container style="widget-container">
>> + <include-form
> location="component://party/webapp/partymgr/communication/CommForms.xml" name="ListChildCommEvents"/>
>> + </container>
>> </widgets>
>> <fail-widgets>
>> - <include-form location="component://party/webapp/partymgr/communication/CommForms.xml"
> name="ViewCommEvent"/>
>> + <container style="widget-container">
>> + <include-form
> location="component://party/webapp/partymgr/communication/CommForms.xml" name="ViewCommEvent"/>
>> + </container>
>> + <container style="widget-container">
>> + <include-form
> location="component://party/webapp/partymgr/communication/CommForms.xml" name="ListChildCommEvents"/>
>> + </container>
>> </fail-widgets>
>> </section>
>> </widgets>
>>
Re: svn commit: r571303 - in /ofbiz/trunk/applications/party:
webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh
webapp/partymgr/communication/CommForms.xml
widget/partymgr/CommunicationScreens.xml
Posted by Jacques Le Roux <ja...@les7arts.com>.
Hi Andy,
Please could you have a look at the related Jira issue https://issues.apache.org/jira/browse/OFBIZ-1224 ?
Thanks
Jacques
> Author: jaz
> Date: Thu Aug 30 13:42:08 2007
> New Revision: 571303
>
> URL: http://svn.apache.org/viewvc?rev=571303&view=rev
> Log:
> first pass of communication event UI cleanup
>
> Added:
> ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh (with props)
> Modified:
> ofbiz/trunk/applications/party/webapp/partymgr/communication/CommForms.xml
> ofbiz/trunk/applications/party/widget/partymgr/CommunicationScreens.xml
>
> Added: ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh
> URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh?rev=571303&view=auto
> ==============================================================================
> --- ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh (added)
> +++ ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh Thu Aug 30 13:42:08 2007
> @@ -0,0 +1,47 @@
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +import org.ofbiz.base.util.*;
> +
> +delegator = request.getAttribute("delegator");
> +userLogin = request.getAttribute("userLogin");
> +parentCommEventId = parameters.get("parentCommEventId");
> +
> +if (parentCommEventId != null) {
> + parentEvent = delegator.findByPrimaryKey("CommunicationEvent", UtilMisc.toMap("communicationEventId", parentCommEventId));
> + if (parentEvent != null) {
> + orgEventId = parentEvent.get("origCommEventId");
> + if (orgEventId == null) orgEventId = parentCommEventId;
> +
> + parameters.put("communicationEventTypeId", parentEvent.get("communicationEventTypeId"));
> + parameters.put("parentCommEventId", parentCommEventId);
> + parameters.put("origCommEventId", orgEventId);
> +
> + parameters.put("contactMechIdTo", parentEvent.get("contactMechIdFrom"));
> + parameters.put("contactMechIdFrom", parentEvent.get("contactMechIdTo"));
> +
> + parameters.put("partyIdFrom", userLogin.get("partyId"));
> + parameters.put("partyIdTo", parentEvent.get("partyIdFrom"));
> + parameters.put("toString", parentEvent.get("fromString"));
> + parameters.put("statusId", "COM_IN_PROGRESS");
> +
> + parameters.put("subject", "RE: " + parentEvent.get("subject"));
> + parameters.put("content", "\n\n\n--------------- In reply to:\n\n" + parentEvent.get("content"));
> + }
> +}
> \ No newline at end of file
>
> Propchange: ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh
> ------------------------------------------------------------------------------
> svn:keywords = "Date Rev Author URL Id"
>
> Propchange: ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh
> ------------------------------------------------------------------------------
> svn:mime-type = text/plain
>
> 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=571303&r1=571302&r2=571303&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/party/webapp/partymgr/communication/CommForms.xml (original)
> +++ ofbiz/trunk/applications/party/webapp/partymgr/communication/CommForms.xml Thu Aug 30 13:42:08 2007
> @@ -46,19 +46,33 @@
> <entity-one entity-name="StatusItem" value-name="currentStatus" auto-field-map="false">
> <field-map field-name="statusId" env-name="communicationEvent.statusId"/>
> </entity-one>
> + <script location="component://party/webapp/partymgr/WEB-INF/actions/communication/prepCommEventReply.bsh"/>
> </actions>
> +
> <alt-target target="createCommunicationEvent" use-when="communicationEvent==null"/>
> <field name="partyId" map-name="parameters"><hidden/></field>
> +
> <field name="communicationEventId" use-when="communicationEvent!=null"><display/></field>
> - <field name="communicationEventTypeId">
> + <field name="communicationEventTypeId"
use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")">
> <drop-down>
> <entity-options entity-name="CommunicationEventType" description="${description}">
> <entity-order-by field-name="description"/>
> </entity-options>
> </drop-down>
> </field>
> - <field name="partyIdFrom" title="${uiLabelMap.PartyPartyFrom}"><lookup target-form-name="LookupPartyName"
default-value="${userLogin.partyId}"/></field>
> - <field name="partyIdTo" title="${uiLabelMap.PartyPartyTo}"><lookup target-form-name="LookupPartyName"
default-value="${userLogin.partyId}"/></field>
> + <field name="communicationEventTypeId"
use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")">
> + <display-entity entity-name="CommunicationEventType" description="${description}"
key-field-name="communicationEventTypeId"/>
> + </field>
> +
> + <!-- parent communications -->
> + <field name="parentCommEventId"
use-when="communicationEvent!=null&&communicationEvent.getString("parentCommEventId")!=null">
> + <hyperlink description="${communicationEvent.parentCommEventId}"
target="EditCommunicationEvent?communicationEventId=${communicationEvent.parentCommEventId}&partyId=${partyId}"
target-type="intra-app"/>
> + </field>
> + <field name="parentCommEventId" map-name="parameters" use-when="communicationEvent==null" >
> + <hidden/>
> + </field>
> +
> + <!-- status -->
> <field name="statusId" use-when="communicationEvent==null" title="${uiLabelMap.CommonStatus}" >
> <drop-down>
> <entity-options description="${description}" entity-name="StatusItem" key-field-name="statusId">
> @@ -75,23 +89,54 @@
> </entity-options>
> </drop-down>
> </field>
> - <field name="contactMechTypeId"> <!-- does not have use-when restrictions so we can enter what the contactMechTypeId
is -->
> +
> + <!-- auto email fields -->
> + <field name="fromString"
use-when="communicationEvent!=null&&communicationEvent.getString("fromString")!=null">
> + <display/>
> + </field>
> + <field name="toString"
use-when="communicationEvent!=null&&communicationEvent.getString("toString")!=null">
> + <display/>
> + </field>
> + <field name="toString" map-name="parameters" use-when="communicationEvent==null&&toString!=null">
> + <text size="60"/>
> + </field>
> +
> + <!-- party ID fields -->
> + <field name="partyIdFrom" title="${uiLabelMap.PartyPartyFrom}" use-when="communicationEvent==null">
> + <lookup target-form-name="LookupPartyName" default-value="${userLogin.partyId}"/>
> + </field>
> + <field name="partyIdFrom" title="${uiLabelMap.PartyPartyFrom}" use-when="communicationEvent!=null">
> + <lookup target-form-name="LookupPartyName"/>
> + </field>
> + <field name="partyIdTo" title="${uiLabelMap.PartyPartyTo}">
> + <lookup target-form-name="LookupPartyName"/>
> + </field>
> +
> + <!-- contact mech type -->
> + <field name="contactMechTypeId"
use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")">
> <drop-down>
> <entity-options description="${description}" entity-name="ContactMechType" key-field-name="contactMechTypeId">
> <entity-order-by field-name="description"/>
> </entity-options>
> </drop-down>
> </field>
> + <field name="contactMechTypeId"
use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")">
> + <display-entity entity-name="ContactMechType" description="${description}" key-field-name="contactMechTypeId"/>
> + </field>
> +
> <!-- this is an example of how to display different types of contact mech to the user -->
> <field name="contactMechIdFrom" title="${uiLabelMap.PartyFromEmailAddress}"
> -
use-when="(parameters.get("communicationEventTypeId")!=null)&&(parameters.get("communicationEventTypeId"
).equals("EMAIL_COMMUNICATION"))">
> +
use-when="(parameters.get("communicationEventTypeId")!=null)&&(parameters.get("communicationEventTypeId"
).equals("EMAIL_COMMUNICATION")||parameters.get("communicationEventTypeId").equals("AUTO_EMAIL_COMM"))
">
> <drop-down allow-empty="false" current="selected">
> - <list-options key-name="contactMechId" list-name="userEmailAddresses" description="${infoString}"/>
> + <entity-options entity-name="PartyAndContactMech" description="${infoString}" key-field-name="contactMechId">
> + <entity-constraint name="partyId" operator="equals" value="${partyIdFrom}"/>
> + </entity-options>
> </drop-down>
> </field>
> <field name="contactMechIdFrom" title="${uiLabelMap.PartyFromContactMech}"
> -
use-when="(parameters.get("communicationEventTypeId")==null)||!(parameters.get("communicationEventTypeId").equal
s("EMAIL_COMMUNICATION"))">
> +
use-when="(parameters.get("communicationEventTypeId")==null)||!(parameters.get("communicationEventTypeId").equal
s("EMAIL_COMMUNICATION")||parameters.get("communicationEventTypeId").equals("AUTO_EMAIL_COMM"))">
> <lookup target-form-name="LookupPreferredContactMech" target-parameter="partyIdFrom"/></field>
> +
> <!-- TODO: somehow show the address or email here, rather than just a contactMechId -->
> <field name="contactMechIdTo" title="${uiLabelMap.PartyToEmailAddress}"
>
use-when="(parameters.get("communicationEventTypeId")!=null)&&(parameters.get("communicationEventTypeId"
).equals("EMAIL_COMMUNICATION"))">
> @@ -102,28 +147,44 @@
> <field name="contactMechIdTo" title="${uiLabelMap.PartyToContactMech}"
>
use-when="(parameters.get("communicationEventTypeId")==null)||!(parameters.get("communicationEventTypeId").equal
s("EMAIL_COMMUNICATION"))">
> <lookup target-form-name="LookupPreferredContactMech" target-parameter="partyIdTo"/></field>
> - <field name="roleTypeIdFrom" use-when="commEventRoleTypeIdFrom!=null">
> +
> + <!-- role type info -->
> + <field name="roleTypeIdFrom"
use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")">
> <drop-down no-current-selected-key="_NA_">
> <entity-options description="${description}" entity-name="RoleType" key-field-name="roleTypeId">
> <entity-order-by field-name="description"/>
> </entity-options>
> </drop-down>
> </field>
> - <field name="roleTypeIdTo" use-when="commEventRoleTypeIdTo!=null">
> + <field name="roleTypeIdFrom"
use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")">
> + <display-entity entity-name="RoleType" description="${description}" key-field-name="roleTypeId"/>
> + </field>
> +
> + <field name="roleTypeIdTo"
use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")">
> <drop-down no-current-selected-key="_NA_">
> <entity-options description="${description}" entity-name="RoleType" key-field-name="roleTypeId">
> <entity-order-by field-name="description"/>
> </entity-options>
> </drop-down>
> </field>
> - <field name="contactListId">
> + <field name="roleTypeIdTo"
use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")">
> + <display-entity entity-name="RoleType" description="${description}" key-field-name="roleTypeId"/>
> + </field>
> +
> + <!-- contact list -->
> + <field name="contactListId"
use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")">
> <lookup size="20" target-form-name="LookupContactList">
> <sub-hyperlink target="/marketing/control/EditContactList?contactListId=${communicationEvent.contactListId}"
target-type="inter-app" link-style="smallSubmit"/>
> </lookup>
> </field>
> + <field name="contactListId"
use-when="communicationEvent!=null&&communicationEvent.getString("contactListId")!=null&&!communicationEve
nt.getString("statusId").equals("COM_ENTERED")"><display/></field>
> +
> <field name="datetimeStarted" title="${uiLabelMap.CommonStartDate}"><date-time/></field>
> <field name="datetimeEnded" title="${uiLabelMap.CommonFinishDate}"><date-time/></field>
> - <field name="subject"><text size="60"/></field>
> +
> + <field name="subject"
use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")"><text
size="60"/></field>
> + <field name="subject"
use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")"><di
splay/></field>
> +
> <field name="reasonEnumId">
> <drop-down no-current-selected-key="" allow-empty="true">
> <entity-options entity-name="Enumeration" description="${description}" key-field-name="enumId">
> @@ -132,15 +193,20 @@
> </entity-options>
> </drop-down>
> </field>
> - <field name="contentMimeTypeId">
> - <drop-down no-current-selected-key="_NA_" allow-empty="false">
> + <field name="contentMimeTypeId"
use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")">
> + <drop-down no-current-selected-key="text/plain" allow-empty="false">
> <entity-options description="${mimeTypeId}" entity-name="MimeType" key-field-name="mimeTypeId">
> <entity-order-by field-name="mimeTypeId"/>
> </entity-options>
> </drop-down>
> </field>
> - <field name="content" title="${uiLabelMap.CommonContent}"><textarea cols="60" rows="10"/></field>
> + <field name="contentMimeTypeId"
use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")"><di
splay/></field>
> +
> + <field name="content" title="${uiLabelMap.CommonContent}"
use-when="communicationEvent==null||communicationEvent.getString("statusId").equals("COM_ENTERED")"><textarea
cols="60" rows="10"/></field>
> + <field name="content" title="${uiLabelMap.CommonContent}"
use-when="communicationEvent!=null&&!communicationEvent.getString("statusId").equals("COM_ENTERED")"><te
xtarea cols="60" rows="10" read-only="true"/></field>
> +
> <field name="note" title="${uiLabelMap.CommonNote}"><textarea cols="60" rows="3"/></field>
> + <field name="messageId"
use-when="communicationEvent!=null&&communicationEvent.getString("messageId")!=null"><display/></field>
> <field name="submitButton" title="${uiLabelMap.CommonSave}"><submit button-type="button"/></field>
> </form>
>
> @@ -171,7 +237,7 @@
> <field name="subject"><display/></field>
> <field map-name="subjectMap" name="eventNote" title="${uiLabelMap.CommonNote}"><display/></field>
> <field name="contentMimeTypeId"><display/></field>
> - <field name="content" title="${uiLabelMap.CommonContent}"><textarea cols="60" rows="10"/></field>
> + <field name="content" title="${uiLabelMap.CommonContent}"><textarea cols="60" rows="10" read-only="true"/></field>
> <field name="content" title="${uiLabelMap.CommonContent}"
use-when="(communicationEvent.getString("contentMimeTypeId")!=null)&&(communicationEvent.getString("contentMi
meTypeId").indexOf("text/html")) != -1">
> <display also-hidden="false"/> <!-- if not set, it is also hidden, which could cause it to re-dislay -->
> </field>
> @@ -180,6 +246,8 @@
> <form name="findCommEvents" type="single" target="ListLookupCommEvents"
> paginate="true">
> <field name="communicationEventId" use-when="communicationEvent != null"><text-find/></field>
> + <field name="parentCommEventId"><text-find/></field>
> + <field name="origCommEventId"><text-find/></field>
> <field name="partyIdFrom" title="${uiLabelMap.CommonPartyID} ${uiLabelMap.CommonFrom}"><lookup
target-form-name="LookupPartyName"/></field>
> <field name="partyIdTo" title="${uiLabelMap.CommonPartyID} ${uiLabelMap.CommonTo}"><lookup
target-form-name="LookupPartyName"/></field>
> <field name="communicationEventTypeId">
> @@ -268,6 +336,17 @@
> <condition-expr field-name="partyIdTo" operator="equals" value="${partyId}"/>
> </condition-list>
> <condition-expr env-name="" field-name="statusId" operator="equals" value="COM_PENDING"/>
> + </condition-list>
> + </entity-condition>
> + </actions>
> + </form>
> +
> + <form name="ListChildCommEvents" type="list" extends="ListCommEvents">
> + <actions>
> + <entity-condition entity-name="CommunicationEvent">
> + <condition-list combine="or">
> + <condition-expr field-name="parentCommEventId" operator="equals" value="${communicationEventId}"/>
> + <condition-expr field-name="origCommEventId" operator="equals" value="${communicationEventId}"/>
> </condition-list>
> </entity-condition>
> </actions>
>
> Modified: ofbiz/trunk/applications/party/widget/partymgr/CommunicationScreens.xml
> URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/widget/partymgr/CommunicationScreens.xml?rev=571303&r1=571302&r2=571303&view=diff
> ==============================================================================
> --- ofbiz/trunk/applications/party/widget/partymgr/CommunicationScreens.xml (original)
> +++ ofbiz/trunk/applications/party/widget/partymgr/CommunicationScreens.xml Thu Aug 30 13:42:08 2007
> @@ -250,13 +250,14 @@
> <set field="titleProperty" value="PageTitleEditCommunication"/>
> <set field="tabButtonItem" value="PartyCommEvents"/>
> <set field="subTabButtonItem" value="CommunicationEvent"/>
> + <set field="entityName" value="CommunicationEvent"/>
>
> <set field="communicationEventId" from-field="parameters.communicationEventId"/>
> <set field="parentCommEventId" from-field="parameters.parentCommEventId"/>
>
> <set field="partyId" from-field="parameters.partyId"/>
> <set field="partyIdFrom" from-field="parameters.partyIdFrom" default-value="${userLogin.partyId}"/>
> - <set field="partyIdTo" from-field="parameters.partyIdTo" default-value="${userLogin.partyId}"/>
> + <set field="partyIdTo" from-field="parameters.partyIdTo"/>
> <set field="contactMechIdFrom" from-field="parameters.contactMechIdFrom"/>
> <set field="contactMechIdTo" from-field="parameters.contactMechIdTo"/>
> <set field="contactMechTypeId" from-field="parameters.contactMechTypeId"/>
> @@ -282,25 +283,34 @@
> <label style="head1" text="${uiLabelMap.PartyNewCommunication}"/>
> </fail-widgets>
> </section>
> - <!--
> <section>
> <widgets>
> <container>
> <link style="smallSubmit"
target="EditCommunicationEvent?partyId=${partyId}&partyIdFrom=${partyId}" text="${uiLabelMap.PartyNewCommunication}"/>
> - <link style="smallSubmit"
target="EditCommunicationEvent?partyId=${partyId}&partyIdTo=${partyId}" text="${uiLabelMap.PartyReply}"/>
> + <link style="smallSubmit"
target="EditCommunicationEvent?partyId=${partyId}&parentCommEventId=${communicationEventId}" text="${uiLabelMap.PartyReply}"/>
> + <!--<link style="smallSubmit"
target="EditCommunicationEvent?communicationEventTypeId=${communicationEvent.communicationEventTypeId}&contactMechIdTo=${communi
cationEvent.contactMechIdFrom}&contactMechIdFrom=${communicationEvent.contactMechIdTo}&partyId=${partyId}&partyIdTo=${pa
rtyId}&partyIdFrom=${userLogin.partyId}&parentCommEventId=${communicationEventId}&toString=${communicationEvent.fromStri
ng}" text="${uiLabelMap.PartyReply}"/>-->
> </container>
> </widgets>
> </section>
> - -->
> <section>
> <condition>
> <if-compare field-name="okayToUpdate" operator="equals" value="true" type="Boolean"/>
> </condition>
> <widgets>
> - <include-form location="component://party/webapp/partymgr/communication/CommForms.xml"
name="EditCommEvent"/>
> + <container style="widget-container">
> + <include-form
location="component://party/webapp/partymgr/communication/CommForms.xml" name="EditCommEvent"/>
> + </container>
> + <container style="widget-container">
> + <include-form
location="component://party/webapp/partymgr/communication/CommForms.xml" name="ListChildCommEvents"/>
> + </container>
> </widgets>
> <fail-widgets>
> - <include-form location="component://party/webapp/partymgr/communication/CommForms.xml"
name="ViewCommEvent"/>
> + <container style="widget-container">
> + <include-form
location="component://party/webapp/partymgr/communication/CommForms.xml" name="ViewCommEvent"/>
> + </container>
> + <container style="widget-container">
> + <include-form
location="component://party/webapp/partymgr/communication/CommForms.xml" name="ListChildCommEvents"/>
> + </container>
> </fail-widgets>
> </section>
> </widgets>
>