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 2008/10/12 04:31:58 UTC
svn commit: r703759 - in /ofbiz/trunk:
applications/party/script/org/ofbiz/party/communication/
applications/party/webapp/partymgr/communication/
specialpurpose/mypage/script/org/ofbiz/mypage/
specialpurpose/mypage/webapp/mypage/ specialpurpose/mypage/...
Author: hansbak
Date: Sat Oct 11 19:31:57 2008
New Revision: 703759
URL: http://svn.apache.org/viewvc?rev=703759&view=rev
Log:
add attached files to email creation and allow for saving and not sending an email
Added:
ofbiz/trunk/specialpurpose/mypage/webapp/mypage/addAttachFile.ftl (with props)
ofbiz/trunk/specialpurpose/mypage/webapp/mypage/attachFileList.ftl (with props)
Modified:
ofbiz/trunk/applications/party/script/org/ofbiz/party/communication/CommunicationEventServices.xml
ofbiz/trunk/applications/party/webapp/partymgr/communication/CommForms.xml
ofbiz/trunk/specialpurpose/mypage/script/org/ofbiz/mypage/Events.xml
ofbiz/trunk/specialpurpose/mypage/webapp/mypage/WEB-INF/controller.xml
ofbiz/trunk/specialpurpose/mypage/widget/CommonScreens.xml
ofbiz/trunk/specialpurpose/mypage/widget/MyPageForms.xml
ofbiz/trunk/specialpurpose/mypage/widget/MyPageMenus.xml
ofbiz/trunk/specialpurpose/mypage/widget/MyPageScreens.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=703759&r1=703758&r2=703759&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 Sat Oct 11 19:31:57 2008
@@ -137,7 +137,6 @@
to-field="oldStatusId">
<call-simple-method method-name="setCommunicationEventStatus" />
</if-compare-field>
- <store-value value-name="event" />
<!-- if the from- or to-party changed change also the roles -->
<if-not-empty field="parameters.partyIdFrom">
@@ -161,6 +160,17 @@
in-map-name="newRoleFrom" />
</if-compare>
</if-not-empty>
+ <if-empty field="parameters.partyIdTo">
+ <if-not-empty field="parameters.contactMechIdTo">
+ <entity-and entity-name="PartyAndContactMech" list-name="partyContactMechs" filter-by-date="true">
+ <field-map field-name="contactMechId" env-name="parameters.contactMechIdTo"/>
+ <field-map field-name="contactMechTypeId" value="EMAIL_ADDRESS"/>
+ </entity-and>
+ <first-from-list entry-name="partyContactMech" list-name="partyContactMechs"/>
+ <set field="parameters.partyIdTo" from-field="partyContactMech.partyId"/>
+ <set field="event.partyIdTo" from-field="partyContactMech.partyId"/>
+ </if-not-empty>
+ </if-empty>
<if-not-empty field="parameters.partyIdTo">
<if-compare operator="not-equals" value="parameters.partIdTo"
field="event.partyIdTo">
@@ -183,6 +193,7 @@
in-map-name="newRoleTo" />
</if-compare>
</if-not-empty>
+ <store-value value-name="event" />
</simple-method>
<simple-method method-name="deleteCommunicationEvent" short-description="Delete a CommunicationEvent">
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=703759&r1=703758&r2=703759&view=diff
==============================================================================
--- ofbiz/trunk/applications/party/webapp/partymgr/communication/CommForms.xml (original)
+++ ofbiz/trunk/applications/party/webapp/partymgr/communication/CommForms.xml Sat Oct 11 19:31:57 2008
@@ -182,6 +182,7 @@
<sub-hyperlink description=" [${communicationEvent.partyIdTo}]" target="/partymgr/control/viewprofile?partyId=${communicationEvent.partyIdTo}" target-type="inter-app"/>
</display-entity>
</field>
+ <field name="statusId"><display-entity description="${description}" entity-name="StatusItem" key-field-name="statusId"/></field>
<field name="datetimeStarted" title="${uiLabelMap.CommonSendDate}"><display type="date"/></field>
<field name="subject"><display/></field>
<field name="content" title="${uiLabelMap.CommonContent}"><display/></field>
Modified: ofbiz/trunk/specialpurpose/mypage/script/org/ofbiz/mypage/Events.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/mypage/script/org/ofbiz/mypage/Events.xml?rev=703759&r1=703758&r2=703759&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/mypage/script/org/ofbiz/mypage/Events.xml (original)
+++ ofbiz/trunk/specialpurpose/mypage/script/org/ofbiz/mypage/Events.xml Sat Oct 11 19:31:57 2008
@@ -179,4 +179,139 @@
</if-not-empty>
</simple-method>
+ <simple-method method-name="checkEnteredEmailExists" short-description="Check Enter Email Exists when click New Email">
+ <entity-and entity-name="CommunicationEvent" list-name="comEventList">
+ <field-map field-name="statusId" value="COM_PENDING"/>
+ <field-map field-name="partyIdFrom" env-name="userLogin.partyId"/>
+ </entity-and>
+ <if-not-empty field="comEventList">
+ <iterate entry-name="comevent" list-name="comEventList">
+ <set field="communicationEventId" from-field="comevent.communicationEventId" />
+ <field-to-request field-name="communicationEventId" request-name="communicationEventId"/>
+ </iterate>
+ <else>
+ <set field="chkExists" value="true"/>
+ </else>
+ </if-not-empty>
+ <if-compare field="chkExists" value="true" operator="equals">
+ <set-service-fields service-name="createCommunicationEvent" map-name="parameters" to-map-name="createCommEvent"/>
+ <call-service service-name="createCommunicationEvent" in-map-name="createCommEvent">
+ <result-to-request result-name="communicationEventId" request-name="communicationEventId"/>
+ </call-service>
+ </if-compare>
+ </simple-method>
+
+ <simple-method method-name="createCommunicationContent" short-description="Upload Content and Create Communication Content Association">
+ <!-- Call layout to get field -->
+ <call-class-method class-name="org.ofbiz.content.layout.LayoutWorker"
+ method-name="uploadImageAndParameters"
+ ret-field-name="formInput">
+ <field field-name="request" type="javax.servlet.http.HttpServletRequest"/>
+ <string value="uploadedFile"/>
+ </call-class-method>
+ <set field="parameters.imageFileName" from-field="formInput.imageFileName"/>
+
+ <!-- Call bsh get file type -->
+ <call-bsh><![CDATA[
+ String fileName = parameters.get("imageFileName");
+ String mimeTypeId = fileName.substring(fileName.indexOf(".")+1,fileName.length());
+ parameters.put("mimeType",mimeTypeId);
+ ]]>
+ </call-bsh>
+
+ <!-- Get mime type from FileExtention -->
+ <set field="fileMap.fileExtensionId" value="${parameters.mimeType}"/>
+ <find-by-primary-key map-name="fileMap" value-name="mimeType" entity-name="FileExtension"/>
+
+ <!-- Create Data Resource -->
+ <set-service-fields service-name="createContentFromUploadedFile" map-name="formInput.formInput" to-map-name="data"/>
+ <set field="data.dataResourceTypeId" value="LOCAL_FILE"/>
+ <set field="data.dataTemplateTypeId" value="NONE"/>
+ <set field="data.dataCategoryId" from-field="formInput.formInput.dataCategoryId"/>
+
+ <set field="data.statusId" from-field="formInput.formInput.statusId"/>
+ <set field="data.dataResourceName" from-field="formInput.imageFileName"/>
+ <set field="data.mimeTypeId" from-field="mimeType.mimeTypeId"/>
+ <set field="data.uploadedFile" from-field="formInput.imageData"/>
+ <set field="data._uploadedFile_fileName" from-field="formInput.imageFileName"/>
+ <set field="data._uploadedFile_contentType" from-field="formInput.formInput.mimeTypeId"/>
+ <call-service service-name="createDataResource" in-map-name="data">
+ <result-to-field result-name="dataResourceId" field-name="dataResourceId" map-name="parameters"/>
+ </call-service>
+ <log level="always" message=" DataResource : ${parameters.dataResourceId}"></log>
+
+ <!-- Create attach upload to data resource -->
+ <set-service-fields service-name="attachUploadToDataResource" map-name="formInput.formInput" to-map-name="attachMap"/>
+ <set field="attachMap.uploadedFile" from-field="formInput.imageData"/>
+ <set field="attachMap._uploadedFile_fileName" from-field="formInput.imageFileName"/>
+ <set field="attachMap._uploadedFile_contentType" from-field="formInput.formInput.mimeTypeId"/>
+ <set field="attachMap.dataResourceId" from-field="parameters.dataResourceId"/>
+ <set field="attachMap.mimeTypeId" from-field="mimeType.mimeTypeId"/>
+ <call-service service-name="attachUploadToDataResource" in-map-name="attachMap"/>
+
+ <!-- Create content from dataResource -->
+ <set-service-fields service-name="createContentFromDataResource" map-name="formInput.formInput" to-map-name="contentMap"/>
+ <set field="contentMap.roleTypeId" from-field="formInput.formInput.roleTypeId"/>
+ <set field="contentMap.partyId" from-field="formInput.formInput.partyId"/>
+ <set field="contentMap.contentTypeId" from-field="formInput.formInput.contentTypeId"/>
+ <set field="contentMap.dataResourceId" from-field="parameters.dataResourceId"/>
+ <call-service service-name="createContentFromDataResource" in-map-name="contentMap">
+ <result-to-field result-name="contentId" field-name="contentId" map-name="parameters"/>
+ </call-service>
+ <log level="always" message=" Content : ${parameters.contentId}"></log>
+
+ <!-- Create party content -->
+ <set-service-fields service-name="createPartyContent" map-name="formInput.formInput" to-map-name="partycontent"/>
+ <set field="partycontent.contentId" from-field="parameters.contentId"/>
+ <set field="partycontent.partyContentTypeId" from-field="formInput.formInput.partyContentTypeId"/>
+ <set field="partycontent.partyId" from-field="formInput.formInput.partyId"/>
+ <call-service service-name="createPartyContent" in-map-name="partycontent"/>
+
+ <!-- Create communication event and content association -->
+ <set-service-fields service-name="createCommEventContentAssoc" map-name="formInput.formInput" to-map-name="contentAssoc"/>
+ <set field="contentAssoc.contentId" from-field="parameters.contentId"/>
+ <set field="contentAssoc.communicationEventId" from-field="formInput.formInput.communicationEventId"/>
+ <call-service service-name="createCommEventContentAssoc" in-map-name="contentAssoc">
+ <result-to-field result-name="fromDate" field-name="fromDate"/>
+ </call-service>
+
+ <!-- Return to request -->
+ <set field="communicationEventTypeId" from-field="formInput.formInput.communicationEventTypeId"/>
+ <set field="communicationEventId" from-field="formInput.formInput.communicationEventId"/>
+ <field-to-request field-name="communicationEventId" request-name="communicationEventId"/>
+ <field-to-request field-name="communicationEventTypeId" request-name="communicationEventTypeId"/>
+
+ </simple-method>
+
+ <simple-method method-name="addContentToCommEvent" short-description="Add content to email communication">
+ <!-- Call layout to get field -->
+ <call-class-method class-name="org.ofbiz.content.layout.LayoutWorker"
+ method-name="uploadImageAndParameters"
+ ret-field-name="formInput">
+ <field field-name="request" type="javax.servlet.http.HttpServletRequest"/>
+ <string value="partyId"/>
+ </call-class-method>
+
+ <!-- Create party content -->
+ <set-service-fields service-name="createPartyContent" map-name="formInput.formInput" to-map-name="partycontent"/>
+ <set field="partycontent.contentId" from-field="formInput.formInput.contentId"/>
+ <set field="partycontent.partyContentTypeId" from-field="formInput.formInput.partyContentTypeId"/>
+ <set field="partycontent.partyId" from-field="formInput.formInput.partyId"/>
+ <call-service service-name="createPartyContent" in-map-name="partycontent"/>
+
+ <!-- Create communication event and content association -->
+ <set-service-fields service-name="createCommEventContentAssoc" map-name="formInput.formInput" to-map-name="contentAssoc"/>
+ <set field="contentAssoc.contentId" from-field="formInput.formInput.contentId"/>
+ <set field="contentAssoc.communicationEventId" from-field="formInput.formInput.communicationEventId"/>
+ <call-service service-name="createCommEventContentAssoc" in-map-name="contentAssoc">
+ <result-to-field result-name="fromDate" field-name="fromDate"/>
+ </call-service>
+
+ <!-- Return to request -->
+ <set field="communicationEventTypeId" from-field="formInput.formInput.communicationEventTypeId"/>
+ <set field="communicationEventId" from-field="formInput.formInput.communicationEventId"/>
+ <field-to-request field-name="communicationEventTypeId" request-name="communicationEventTypeId"/>
+ <field-to-request field-name="communicationEventId" request-name="communicationEventId"/>
+ </simple-method>
+
</simple-methods>
Modified: ofbiz/trunk/specialpurpose/mypage/webapp/mypage/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/mypage/webapp/mypage/WEB-INF/controller.xml?rev=703759&r1=703758&r2=703759&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/mypage/webapp/mypage/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/specialpurpose/mypage/webapp/mypage/WEB-INF/controller.xml Sat Oct 11 19:31:57 2008
@@ -220,6 +220,49 @@
<request-map uri="listInvoices">
<security https="true" auth="true"/>
<response name="success" type="view" value="ListInvoices"/>
+ </request-map>
+
+ <!-- EMAIL COMMUNICATIONS -->
+ <request-map uri="NewCommunicationEvents">
+ <security https="true" auth="true"/>
+ <response name="success" type="view" value="EditCommunicationEvent"/>
+ </request-map>
+
+ <request-map uri="NewCommunicationEvent">
+ <security https="true" auth="true"/>
+ <event type="simple" path="org/ofbiz/mypage/Events.xml" invoke="checkEnteredEmailExists"/>
+ <response name="success" type="view" value="EditCommunicationEvent"/>
+ </request-map>
+
+ <request-map uri="addAttachmentEmail">
+ <security https="true" auth="true"/>
+ <response name="success" type="view" value="addAttachmentEmail"/>
+ </request-map>
+
+ <request-map uri="addContentToCommEvent">
+ <security https="true" auth="true"/>
+ <event type="simple" path="org/ofbiz/mypage/Events.xml" invoke="addContentToCommEvent"/>
+ <response name="success" type="request" value="NewCommunicationEvents"/>
+ <response name="error" type="view" value="EditCommunicationEvent"/>
+ </request-map>
+
+ <request-map uri="uploadAttachFiletoEmail">
+ <security https="true" auth="true"/>
+ <event type="simple" path="org/ofbiz/mypage/Events.xml" invoke="createCommunicationContent"/>
+ <response name="success" type="request" value="NewCommunicationEvents"/>
+ <response name="error" type="view" value="EditCommunicationEvent"/>
+ </request-map>
+
+ <request-map uri="removeAttachFile">
+ <security https="true" auth="true"/>
+ <event type="service" invoke="removeCommEventContentAssoc"/>
+ <response name="success" type="request" value="NewCommunicationEvents"/>
+ <response name="error" type="view" value="EditCommunicationEvent"/>
+ </request-map>
+
+ <request-map uri="EditCommunicationEvent">
+ <security https="true" auth="true"/>
+ <response name="success" type="view" value="EditCommunicationEvent"/>
</request-map>
<view-map name="main" type="screen" page="component://mypage/widget/CommonScreens.xml#main"/>
@@ -236,4 +279,6 @@
<view-map name="EditRequest" type="screen" page="component://mypage/widget/MyPageScreens.xml#EditRequest"/>
<view-map name="ListInvoices" type="screen" page="component://mypage/widget/MyPageScreens.xml#ListInvoices"/>
<view-map name="custPreferences" type="screen" page="component://mypage/widget/CommonScreens.xml#custPreferences"/>
+ <view-map name="EditCommunicationEvent" type="screen" page="component://mypage/widget/MyPageScreens.xml#EditCommunicationEvent"/>
+ <view-map name="addAttachmentEmail" type="screen" page="component://mypage/widget/MyPageScreens.xml#addAttachmentEmail"/>
</site-conf>
Added: ofbiz/trunk/specialpurpose/mypage/webapp/mypage/addAttachFile.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/mypage/webapp/mypage/addAttachFile.ftl?rev=703759&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/mypage/webapp/mypage/addAttachFile.ftl (added)
+++ ofbiz/trunk/specialpurpose/mypage/webapp/mypage/addAttachFile.ftl Sat Oct 11 19:31:57 2008
@@ -0,0 +1,38 @@
+ <div id="partyContent" class="screenlet">
+ <div class="screenlet-title-bar">
+ <h3>Attach File</h3>
+ </div>
+ <div class="screenlet-body">
+ ${screens.render("component://mypage/widget/MyPageScreens.xml#AttachFiletList")}
+ <hr/>
+ <div class="label">${uiLabelMap.Content}</div>
+ <form id="content2comevent" method="post" enctype="multipart/form-data" action="<@o...@ofbizUrl>" name="content2comevent">
+ <input type="hidden" name="partyId" value="${partyId}" id="contentPartyId"/>
+ <input type="hidden" name="communicationEventId" value="${communicationEventId}"/>
+ <input type="hidden" name="partyContentTypeId" value="USERDEF"/>
+ <input type="hidden" name="communicationEventTypeId" value="${communicationEventTypeId}"/>
+ <input type="text" size="25" name="contentId"/>
+ <a href="javascript:call_fieldlookup2(document.content2comevent.contentId,'LookupContent');">
+ <img width="15" height="14" border="0" alt="Lookup" src="/images/fieldlookup.gif"/>
+ </a>
+ <input type="submit" value="${uiLabelMap.CommonAdd}"/><br><br>
+ </form>
+
+ <div class="label">${uiLabelMap.Attach}</div>
+ <form id="uploadPartyContent" method="post" enctype="multipart/form-data" action="<@o...@ofbizUrl>">
+ <input type="hidden" name="dataCategoryId" value="PERSONAL"/>
+ <input type="hidden" name="contentTypeId" value="DOCUMENT"/>
+ <input type="hidden" name="statusId" value="CTNT_PUBLISHED"/>
+ <input type="hidden" name="partyId" value="${partyId}" id="contentPartyId"/>
+ <input type="hidden" name="partyContentTypeId" value="USERDEF"/>
+ <input type="hidden" name="roleTypeId" value="CONTENT"/>
+ <input type="hidden" name="communicationEventId" value="${communicationEventId}"/>
+ <input type="hidden" name="communicationEventTypeId" value="${communicationEventTypeId}"/>
+
+ <input type="file" name="uploadedFile" size="25" id="uploadedFile"/>
+ <input type="submit" value="${uiLabelMap.CommonUpload}"/><br><br>
+ <input type="button" value="Back" onClick="javascript:history.go(-1);">
+ </form>
+ <div id='progress_bar'><div></div></div>
+ </div>
+ </div>
Propchange: ofbiz/trunk/specialpurpose/mypage/webapp/mypage/addAttachFile.ftl
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/specialpurpose/mypage/webapp/mypage/addAttachFile.ftl
------------------------------------------------------------------------------
svn:keywords = "Date Rev Author URL Id"
Propchange: ofbiz/trunk/specialpurpose/mypage/webapp/mypage/addAttachFile.ftl
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: ofbiz/trunk/specialpurpose/mypage/webapp/mypage/attachFileList.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/mypage/webapp/mypage/attachFileList.ftl?rev=703759&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/mypage/webapp/mypage/attachFileList.ftl (added)
+++ ofbiz/trunk/specialpurpose/mypage/webapp/mypage/attachFileList.ftl Sat Oct 11 19:31:57 2008
@@ -0,0 +1,29 @@
+ <div id="partyContentList">
+
+ <#if commEventContent?has_content>
+ <table class="basic-table" cellspacing="0">
+ <#list commEventContent as commContent>
+ <#list partyContent as pContent>
+ <#assign partyId = pContent.partyId/>
+ <#if commContent.contentId == pContent.contentId>
+ <#assign content = pContent.getRelatedOne("Content")>
+ <#assign fromDate = commContent.fromDate>
+ <#assign ptype = pContent.partyContentTypeId>
+ </#if>
+ </#list>
+ <tr>
+ <td width="30%"><#if (content.contentName?has_content)>
+ <a href="<@o...@ofbizUrl>" target="blank"> ${content.contentName?if_exists}</a>
+ </#if></td>
+ <td class="button-col" width="20%">
+ <a href="<@o...@ofbizUrl>">${uiLabelMap.CommonRemove}</a>
+ </td>
+ <td width="20%">${commContent.fromDate?if_exists}</td>
+ <td width="30%"> </td>
+ </tr>
+ </#list>
+ </table>
+ <#else>
+ ${uiLabelMap.PartyNoContent}
+ </#if>
+ </div>
\ No newline at end of file
Propchange: ofbiz/trunk/specialpurpose/mypage/webapp/mypage/attachFileList.ftl
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/specialpurpose/mypage/webapp/mypage/attachFileList.ftl
------------------------------------------------------------------------------
svn:keywords = "Date Rev Author URL Id"
Propchange: ofbiz/trunk/specialpurpose/mypage/webapp/mypage/attachFileList.ftl
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: ofbiz/trunk/specialpurpose/mypage/widget/CommonScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/mypage/widget/CommonScreens.xml?rev=703759&r1=703758&r2=703759&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/mypage/widget/CommonScreens.xml (original)
+++ ofbiz/trunk/specialpurpose/mypage/widget/CommonScreens.xml Sat Oct 11 19:31:57 2008
@@ -114,6 +114,9 @@
<section>
<actions>
<set field="headerItem" value="${parameters.donePage}"/>
+ <entity-one entity-name="CommunicationEvent" value-name="commEvent">
+ <field-map field-name="communicationEventId" env-name="parameters.communicationEventId"/>
+ </entity-one>
<script location="component://mypage/webapp/mypage/WEB-INF/actions/GetMyCommunicationEventRole.groovy"/>
</actions>
<widgets>
Modified: ofbiz/trunk/specialpurpose/mypage/widget/MyPageForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/mypage/widget/MyPageForms.xml?rev=703759&r1=703758&r2=703759&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/mypage/widget/MyPageForms.xml (original)
+++ ofbiz/trunk/specialpurpose/mypage/widget/MyPageForms.xml Sat Oct 11 19:31:57 2008
@@ -212,4 +212,76 @@
<field name="amountToApply" widget-area-style="align-text"><display type="currency" currency="${currencyUomId}"/></field>
</form>
+ <form name="ListDraftEmails" type="list" extends="ListCommEvents" extends-resource="component://party/webapp/partymgr/communication/CommForms.xml"
+ use-row-submit="true">
+ <actions>
+ <entity-condition entity-name="CommunicationEvent" list-name="commEvents">
+ <condition-list combine="and">
+ <condition-expr env-name="" field-name="statusId" operator="equals" value="COM_READ"/>
+ <condition-list combine="or">
+ <condition-expr field-name="partyIdFrom" operator="equals" value="${partyId}"/>
+ </condition-list>
+ </condition-list>
+ <order-by field-name="-lastUpdatedStamp"/>
+ </entity-condition>
+ </actions>
+ <field name="subject">
+ <hyperlink description="${subject}" target="EditCommunicationEvent?communicationEventId=${communicationEventId}&communicationEventTypeId=EMAIL_COMMUNICATION"/>
+ </field>
+ <field name="removeLink" title="${uiLabelMap.CommonDelete}" widget-style="smallSubmit">
+ <hyperlink also-hidden="false" description="${uiLabelMap.CommonDelete}" target="deletePartyCommunicationEvent?partyId=${partyId}&communicationEventId=${communicationEventId}"/>
+ </field>
+ </form>
+
+ <form name="MyPageNewEmail" type="single" target="createCommunicationEvent" default-map-name="communicationEvent">
+ <actions>
+ <set field="nowDate" value="${bsh:org.ofbiz.base.util.UtilDateTime.nowDateString("yyyy-MM-dd HH:mm:ss.S")}" type="String"/>
+ <entity-condition entity-name="PartyContactWithPurpose" list-name="emailAddresses">
+ <condition-list combine="and">
+ <condition-expr field-name="partyId" value="${userLogin.partyId}"/>
+ <condition-expr field-name="contactFromDate" operator="less-equals" env-name="nowDate"/>
+ <condition-list combine="or">
+ <condition-expr field-name="contactThruDate" env-name="null"/>
+ <condition-expr field-name="contactThruDate" operator="greater-equals" env-name="nowDate"/>
+ </condition-list>
+ <condition-expr field-name="purposeFromDate" operator="less-equals" env-name="nowDate"/>
+ <condition-list combine="or">
+ <condition-expr field-name="purposeThruDate" operator="greater-equals" env-name="nowDate"/>
+ <condition-expr field-name="purposeThruDate" env-name="null"/>
+ </condition-list>
+ <condition-expr field-name="contactMechPurposeTypeId" operator="equals" value="PRIMARY_EMAIL"/>
+ <condition-expr field-name="contactMechTypeId" operator="equals" value="EMAIL_ADDRESS"/>
+ </condition-list>
+ <order-by field-name="infoString"/>
+ </entity-condition>
+ </actions>
+ <alt-target use-when="communicationEventId!=null" target="updateCommunicationEvent"/>
+ <field name="donePage"><hidden/></field>
+ <field name="communicationEventId" use-when="communicationEventId!=null"><hidden/></field>
+ <field name="communicationEventTypeId"><hidden value="AUTO_EMAIL_COMM"/></field>
+ <field name="statusId"><hidden value="COM_IN_PROGRESS"/></field>
+ <field name="parentCommEventId"><hidden value="${parameters.parentCommEventId}"/></field>
+ <field name="partyIdFrom"><hidden value="${userLogin.partyId}"/></field>
+ <field name="emailAddress" parameter-name="contactMechIdFrom">
+ <drop-down>
+ <list-options list-name="emailAddresses" description="${infoString}" key-name="contactMechId"/>
+ </drop-down>
+ </field>
+ <field name="contactMechIdTo" title="${uiLabelMap.PartyEmailTo}">
+ <lookup target-form-name="LookupPartyEmail"/>
+ </field>
+ <field name="datetimeStarted" title="${uiLabelMap.CommonSendDate}"><date-time/></field>
+ <field name="subject"><text size="60"/></field>
+ <field name="fileAttach"><display/></field><field name="fileAttach">
+ <hyperlink target="addAttachmentEmail?communicationEventTypeId=${parameters.communicationEventTypeId}&partyId=${userLogin.partyId}&communicationEventId=${parameters.communicationEventId}" description="Attach File"/>
+ </field>
+ <field name="contentMimeTypeId"><hidden value="text/plain"/></field>
+ <field name="content" title="${uiLabelMap.CommonContent}"><textarea cols="80" rows="20"/></field>
+ <field name="save" title="&nbsp;">
+ <hyperlink also-hidden="true" target-type="plain" description="Save" target="javascript:(document.MyPageNewEmail.statusId.value='COM_READ'),(document.MyPageNewEmail.submit())"/>
+ </field>
+ <field name="send" title="&nbsp;">
+ <hyperlink also-hidden="true" target-type="plain" description="Send" target="javascript:(document.MyPageNewEmail.submit())"/>
+ </field>
+ </form>
</forms>
\ No newline at end of file
Modified: ofbiz/trunk/specialpurpose/mypage/widget/MyPageMenus.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/mypage/widget/MyPageMenus.xml?rev=703759&r1=703758&r2=703759&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/mypage/widget/MyPageMenus.xml (original)
+++ ofbiz/trunk/specialpurpose/mypage/widget/MyPageMenus.xml Sat Oct 11 19:31:57 2008
@@ -124,7 +124,7 @@
<if-has-permission permission="PARTYMGR_CME-EMAIL_CREATE"/>
</condition>
<link
- target="EditCommunicationEvent?communicationEventTypeId=EMAIL_COMMUNICATION&donePage=${parameters.donePage}" />
+ target="NewCommunicationEvent?communicationEventTypeId=EMAIL_COMMUNICATION&donePage=${parameters.donePage}&partyIdFrom=${userLogin.partyId}&statusId=COM_PENDING"/>
</menu-item>
<menu-item name="newNote" title="${uiLabelMap.PartyNewInternalNote}">
<condition>
@@ -186,6 +186,12 @@
</condition>
<link target="setCommunicationEventRoleStatus?communicationEventId=${parameters.communicationEventId}&partyId=${userLogin.partyId}&roleTypeId=${communicationEventRole.roleTypeId}&statusId=COM_ROLE_COMPLETED"/>
</menu-item>
+ <menu-item name="send" title="${uiLabelMap.CommonSend}">
+ <condition>
+ <if-compare field-name="commEvent.statusId" operator="equals" value="COM_READ"/>
+ </condition>
+ <link target="updateCommunicationEvent/main?communicationEventId=${parameters.communicationEventId}&statusId=COM_IN_PROGRESS"/>
+ </menu-item>
<menu-item name="delete" title="${uiLabelMap.CommonDelete}">
<condition>
<not><if-empty field-name="communicationEventRole"/></not>
Modified: ofbiz/trunk/specialpurpose/mypage/widget/MyPageScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/mypage/widget/MyPageScreens.xml?rev=703759&r1=703758&r2=703759&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/mypage/widget/MyPageScreens.xml (original)
+++ ofbiz/trunk/specialpurpose/mypage/widget/MyPageScreens.xml Sat Oct 11 19:31:57 2008
@@ -194,8 +194,10 @@
<entity-condition entity-name="CommunicationEventAndRole"
list-name="commEvents">
<condition-list combine="and">
- <condition-expr field-name="statusId" operator="not-equals"
- value="COM_UNKNOWN_PARTY" />
+ <condition-expr field-name="statusId" operator="not-equals"
+ value="COM_UNKNOWN_PARTY" />
+ <condition-expr field-name="roleStatusId" operator="not-equals"
+ value="COM_ROLE_CREATED" />
<condition-expr field-name="partyId" operator="equals"
value="${partyId}" />
<condition-expr field-name="roleStatusId"
@@ -210,13 +212,19 @@
value="COM_UNKNOWN_PARTY" />
<condition-expr field-name="roleStatusId" operator="not-equals"
value="COM_ROLE_COMPLETED" />
- <condition-expr field-name="roleStatusId" operator="not-equals"
- value="COM_ROLE_COMPLETED" />
<condition-expr field-name="partyId" operator="equals"
value="${partyId}" />
</condition-list>
<order-by field-name="-datetimeStarted" />
- </entity-condition>
+ </entity-condition>
+ <entity-condition entity-name="CommunicationEventAndRole" list-name="commEventDraft">
+ <condition-list combine="and">
+ <condition-expr field-name="statusId" operator="equals"
+ value="COM_READ"/>
+ <condition-expr field-name="partyId" operator="equals"
+ value="${partyId}"/>
+ </condition-list>
+ </entity-condition>
<entity-one entity-name="PartyNameView" value-name="partyName">
<field-map field-name="partyId" env-name="partyId"/>
</entity-one>
@@ -243,6 +251,19 @@
<label style="h2" text="${uiLabelMap.EmailsFromKnownOrigin}"></label>
<include-form name="ListPartyCommEvents"
location="component://mypage/widget/MyPageForms.xml" />
+ <section>
+ <condition>
+ <not>
+ <if-empty field-name="commEventDraft" />
+ </not>
+ </condition>
+ <widgets>
+ <label style="h2" text="${uiLabelMap.DraftEmails}"></label>
+ <include-form
+ location="component://mypage/widget/MyPageForms.xml"
+ name="ListDraftEmails" />
+ </widgets>
+ </section>
</screenlet>
</widgets>
</section>
@@ -511,4 +532,119 @@
</widgets>
</section>
</screen>
+ <screen name="EditCommunicationEvent">
+ <section>
+ <actions>
+ <set field="titleProperty" value="PageTitleEditCommunication" />
+ <set field="tabButtonItem" value="CommunicationEvent" />
+ <entity-one entity-name="CommunicationEvent" value-name="communicationEvent" />
+ <script location="component://party/webapp/partymgr/WEB-INF/actions/communication/PrepCommEventReply.groovy"/>
+ </actions>
+ <widgets>
+ <decorator-screen name="CommonCommunicationEventDecorator"
+ location="${parameters.mainDecoratorLocation}">
+ <decorator-section name="body">
+ <section><!-- Email -->
+ <condition>
+ <or><!-- have for e-mails a special form -->
+ <if-compare field-name="parameters.communicationEventTypeId"
+ operator="equals" value="EMAIL_COMMUNICATION" />
+ <if-compare field-name="parameters.communicationEventTypeId"
+ operator="equals" value="AUTO_EMAIL_COMM" />
+ </or>
+ </condition>
+ <widgets>
+ <screenlet id="EditCommunicationEventPanel" title="${uiLabelMap.PartyEditCommunicationEvent}" collapsible="true">
+ <include-form location="component://mypage/widget/MyPageForms.xml" name="MyPageNewEmail"/>
+ </screenlet>
+ </widgets>
+ </section>
+ <section>
+ <condition><!-- internal note -->
+ <if-compare field-name="parameters.communicationEventTypeId"
+ operator="equals" value="COMMENT_NOTE" />
+ </condition>
+ <widgets>
+ <screenlet id="EditCommunicationEventPanel" title="${uiLabelMap.PartyEditCommunicationEvent}" collapsible="true">
+ <include-form location="component://party/webapp/partymgr/communication/CommForms.xml" name="NewInternalNote"/>
+ </screenlet>
+ </widgets>
+ </section>
+ <section>
+ <condition><!-- others -->
+ <and>
+ <if-compare field-name="parameters.communicationEventTypeId"
+ operator="not-equals" value="COMMENT_NOTE" />
+ <if-compare field-name="parameters.communicationEventTypeId"
+ operator="not-equals" value="EMAIL_COMMUNICATION" />
+ <if-compare field-name="parameters.communicationEventTypeId"
+ operator="not-equals" value="AUTO_EMAIL_COMM" />
+ </and>
+ </condition>
+ <widgets>
+ <screenlet id="EditCommunicationEventPanel"
+ title="${uiLabelMap.PartyEditCommunicationEvent}" collapsible="true">
+ <include-form
+ location="component://party/webapp/partymgr/communication/CommForms.xml"
+ name="EditCommEvent" />
+ </screenlet>
+ <screenlet title="${uiLabelMap.PartyChildCommunicationEvents}"
+ navigation-form-name="ListChildCommEvents">
+ <include-form
+ location="component://party/webapp/partymgr/communication/CommForms.xml"
+ name="ListChildCommEvents" />
+ </screenlet>
+ </widgets>
+ </section>
+ </decorator-section>
+ </decorator-screen>
+ </widgets>
+ </section>
+ </screen>
+ <screen name="addAttachmentEmail">
+ <section>
+ <actions>
+ <entity-condition entity-name="MimeType" list-name="mimeTypes">
+ <order-by field-name="description"/>
+ <order-by field-name="mimeTypeId"/>
+ </entity-condition>
+ <set field="communicationEventId" from-field="parameters.communicationEventId"/>
+ <set field="communicationEventTypeId" from-field="parameters.communicationEventTypeId"/>
+ <set field="partyId" from-field="parameters.partyId"/>
+ </actions>
+ <widgets>
+ <decorator-screen name="CommonCommunicationEventDecorator"
+ location="${parameters.mainDecoratorLocation}">
+ <decorator-section name="body">
+ <platform-specific>
+ <html>
+ <html-template location="component://mypage/webapp/mypage/addAttachFile.ftl"/>
+ </html>
+ </platform-specific>
+ </decorator-section>
+ </decorator-screen>
+ </widgets>
+ </section>
+ </screen>
+ <screen name="AttachFiletList">
+ <section>
+ <actions>
+ <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
+ <property-map resource="ContentUiLabels" map-name="uiLabelMap" global="true"/>
+ <entity-and entity-name="CommEventContentAssoc" list-name="commEventContent">
+ <field-map field-name="communicationEventId" env-name="parameters.communicationEventId"/>
+ </entity-and>
+ <entity-and entity-name="PartyContent" list-name="partyContent">
+ <field-map field-name="partyId" env-name="parameters.partyId"/>
+ </entity-and>
+ </actions>
+ <widgets>
+ <platform-specific>
+ <html>
+ <html-template location="component://mypage/webapp/mypage/attachFileList.ftl"/>
+ </html>
+ </platform-specific>
+ </widgets>
+ </section>
+ </screen>
</screens>