ilscipio/scipio-erp

View on GitHub
applications/party/widget/partymgr/CommunicationEventForms.xml

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is subject to the terms and conditions defined in the
files 'LICENSE' and 'NOTICE', which are part of this source
code package.
-->

<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd">

    <form name="EditCommEvent" type="single" target="updateCommunicationEvent" default-map-name="communicationEvent" default-position-span="1" group-columns="true">
        <alt-target target="createCommunicationEvent" use-when="communicationEvent==null"/>
        <field name="action"><hidden value="${parameters.action}"/></field>
        <field name="communicationEventId" use-when="communicationEvent!=null"><display/></field>
        <field name="my"><hidden value="${my}"/></field>

        <!-- party ID fields -->
        <field name="partyIdFrom" title="${uiLabelMap.PartyPartyFrom}" position="1">
            <lookup target-form-name="LookupPartyName"/>
        </field>
        <field name="partyIdTo" title="${uiLabelMap.PartyPartyTo}" position="2">
            <lookup target-form-name="LookupPartyName"/>
        </field>
        <field name="contactListId"  position="2">
            <lookup size="20" target-form-name="LookupContactList">
                <sub-hyperlink target="/marketing/control/EditContactList" target-type="inter-app" link-style="${styles.link_nav} ${styles.action_update}"
                               description="${uiLabelMap.CommonEdit}" use-when="${not empty context.communicationEvent.contactListId}">
                    <parameter param-name="contactListId" from-field="communicationEvent.contactListId"/>
                </sub-hyperlink>
            </lookup>
        </field>

        <!-- Event Info -->
        <field name="communicationEventTypeId" position="1">
            <drop-down>
                <entity-options entity-name="CommunicationEventType" description="${description}">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}" position="2">
            <drop-down>
                <entity-options description="${description}" entity-name="StatusItem" key-field-name="statusId">
                    <entity-constraint name="statusTypeId" operator="equals" value="COM_EVENT_STATUS"/>
                    <entity-order-by field-name="sequenceId"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="parentCommEventId" position="1">
            <lookup target-form-name="LookupCommEvent">
                <sub-hyperlink link-style="${styles.link_nav} ${styles.action_update}" target="EditCommunicationEvent" description="${uiLabelMap.PartyGoToParent}" use-when="communicationEvent!=null&amp;&amp;communicationEvent.get(&quot;parentCommEventId&quot;)!=null">
                    <parameter param-name="communicationEventId" from-field="communicationEvent.parentCommEventId"/>
                </sub-hyperlink>
            </lookup>
        </field>
        <field name="reasonEnumId" position="2">
            <drop-down no-current-selected-key="" allow-empty="true">
                <entity-options entity-name="Enumeration" description="${description}" key-field-name="enumId">
                    <entity-constraint name="enumTypeId" operator="equals" value="CE_COMM_REASON"/>
                    <entity-order-by field-name="sequenceId"/>
                </entity-options>
            </drop-down>
        </field>



        <field name="contactMechTypeId" position="1">
            <drop-down>
                <entity-options description="${description}" entity-name="ContactMechType"/>
            </drop-down>
        </field>
        <field name="contactMechIdFrom" title="${uiLabelMap.PartyFromContactMech}" position="1">
            <lookup target-form-name="LookupPreferredContactMech" description-field-name="partyIdFrom" target-parameter="partyIdFrom"/>
        </field>
        <field name="contactMechIdTo" title="${uiLabelMap.PartyToContactMech}" position="2">
            <lookup target-form-name="LookupPreferredContactMech" description-field-name="partyIdTo" target-parameter="partyIdTo"/>
        </field>

        <field name="roleTypeIdFrom" position="1">
            <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" position="2">
            <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="contentMimeTypeId" encode-output="false">
            <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>


        <!-- Message -->
        <field name="datetimeStarted" title="${uiLabelMap.CommonStartDate}"><date-time/></field>
        <field name="datetimeEnded" title="${uiLabelMap.CommonFinishDate}" position="2"><date-time/></field>

        <field name="subject"><text size="60"/></field>
        <field name="content" title="${uiLabelMap.CommonContent}" position-span="0"><textarea cols="60" rows="10"/></field>

        <field name="note" title="${uiLabelMap.CommonNote}" position-span="0"><textarea cols="60" rows="3"/></field>
        <field name="messageId" use-when="communicationEvent!=null"><display/></field>

        <field name="submitAction" title="${uiLabelMap.CommonSave}" widget-style="${styles.link_run_sys} ${styles.action_update}"><submit button-type="button"/></field>

        <sort-order>
            <field-group>
                <sort-field name="communicationEventId" />
                <sort-field name="partyIdFrom" />
                <sort-field name="partyIdTo" />
                <sort-field name="contactListId" />
                <sort-field name="communicationEventTypeId" />
                <sort-field name="statusId"/>
                <sort-field name="subject"/>
                <sort-field name="content"/>
                <sort-field name="messageId"/>
                <sort-field name="submitAction"/>
            </field-group>
            <field-group title="${uiLabelMap.CommonAdvancedFeatures}" collapsible="true" initially-collapsed="true">
                <sort-field name="parentCommEventId"/>
                <sort-field name="contactMechTypeId"/>
                <sort-field name="contactMechIdFrom"/>
                <sort-field name="contactMechIdTo"/>
                <sort-field name="roleTypeIdFrom"/>
                <sort-field name="roleTypeIdTo"/>
                <sort-field name="contentMimeTypeId"/>
                <sort-field name="datetimeStarted"/>
                <sort-field name="datetimeEnded"/>
                <sort-field name="reasonEnumId"/>
                <sort-field name="note"/>
            </field-group>
        </sort-order>

    </form>
    <form name="EditEmail" type="single" target="createCommunicationEvent" default-map-name="communicationEvent" id="EditEmail">
        <actions>
            <set field="nowDate" value="${groovy:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;yyyy-MM-dd HH:mm:ss.S&quot;)}" type="String"/>
            <entity-condition entity-name="PartyContactWithPurpose" list="emailAddresses">
                <condition-list combine="and">
                    <condition-expr field-name="partyId" from-field="partyIdFrom"/>
                    <condition-expr field-name="contactFromDate" operator="less-equals" from-field="nowDate"/>
                    <condition-list combine="or">
                        <condition-expr field-name="contactThruDate" from-field="null"/>
                        <condition-expr field-name="contactThruDate" operator="greater-equals" from-field="nowDate"/>
                    </condition-list>
                    <condition-expr field-name="purposeFromDate" operator="less-equals" from-field="nowDate"/>
                    <condition-list combine="or">
                        <condition-expr field-name="purposeThruDate" operator="greater-equals" from-field="nowDate"/>
                        <condition-expr field-name="purposeThruDate" from-field="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>
            <entity-one entity-name="ContactMech" value-field="contactMechTo">
                <field-map field-name="contactMechId" from-field="contactMechIdTo"/>
            </entity-one>
        </actions>
        <alt-target use-when="communicationEvent!=null" target="sendCommunicationEvent"/>
        <field name="form"><hidden/></field>
        <field name="portalPageId"><hidden value="${parameters.portalPageId}"/></field>
        <field name="communicationEventId"><hidden/></field>
        <field name="communicationEventTypeId"><hidden value="EMAIL_COMMUNICATION"/></field>
        <field name="contactMechIdTo"><hidden value="${contactMechIdTo}"/></field>
        <field name="statusId"><hidden value="COM_IN_PROGRESS"/></field>
        <field name="parentCommEventId" use-when="parentCommEventId != null"><hidden value="${parameters.parentCommEventId}"/></field>
        <field name="parentCommEventId" use-when="origCommEventId != null"><hidden value="${parameters.origCommEventId}"/></field>
        <field name="partyIdFrom"><hidden/></field>
        <field name="my"><hidden value="${my}"/></field>
        <field name="fromEmailAddr" parameter-name="contactMechIdFrom">
            <drop-down>
                <list-options list-name="emailAddresses" description="${infoString}" key-name="contactMechId"/>
            </drop-down>
        </field>
        <field name="partyIdTo" position="1" tooltip="Email: ${contactMechTo.infoString}" use-when="contactMechTo!=null">
            <lookup target-form-name="LookupPartyName" default-value="${partyIdTo}"/>
        </field>
        <field name="partyIdTo" position="1" use-when="contactMechTo==null">
            <lookup target-form-name="LookupPartyName" default-value="${partyIdTo}"/>
        </field>
        <field name="datetimeStarted" title="${uiLabelMap.CommonSendDate}" position="2"><date-time type="date"/></field>
        <field name="subject"><text size="74" default-value="${parameters.subject}"/></field>
        <field name="contentMimeTypeId"><hidden value="text/plain"/></field>
        <field name="content" title="${uiLabelMap.CommonContent}" encode-output="false"><textarea cols="72" rows="15" default-value="${parameters.content}"/></field>
        <field name="sendAction" title=" " position="1" use-when="communicationEvent!=null" widget-style="${styles.link_run_sys} ${styles.action_send}">
            <hyperlink also-hidden="false" target-type="plain" description="${uiLabelMap.CommonSend}" target="javascript:(document.EditEmail.form.value='list'),(document.EditEmail.submit())"/>
        </field>
        <field name="saveAction" title=" " position="2" use-when="communicationEvent!=null" widget-style="${styles.link_run_sys} ${styles.action_update}">
            <hyperlink also-hidden="false" target-type="plain" description="${uiLabelMap.CommonSave}" target="javascript:(document.EditEmail.form.value='list'),(document.EditEmail.statusId.value='COM_PENDING'),(document.EditEmail.submit())"/>
        </field>
        <field name="createAction" use-when="communicationEvent==null" widget-style="${styles.link_run_sys} ${styles.action_add}"><submit/></field>
    </form>
    <form name="EditInternalNote" type="single" target="createCommunicationEvent" default-map-name="communicationEvent">
        <actions>
            <set field="nowDate" value="${groovy:org.ofbiz.base.util.UtilDateTime.nowDateString(&quot;yyyy-MM-dd HH:mm:ss.S&quot;)}" type="String"/>
            <script location="component://party/webapp/partymgr/WEB-INF/actions/communication/recentVisitor.groovy"/>
        </actions>
        <alt-target use-when="communicationEvent!=null" target="updateCommunicationEvent"/>
        <field name="form"><hidden/></field>
        <field name="portalPageId"><hidden value="${parameters.portalPageId}"/></field>
        <field name="communicationEventId"><hidden/></field>
        <field name="communicationEventTypeId"><hidden value="COMMENT_NOTE"/></field>
        <field name="parentCommEventId"><hidden value="${parameters.parentCommEventId}"/></field>
        <field name="statusId"><hidden value="COM_PENDING"/></field>
        <field name="datetimeStarted"><hidden/></field>
        <field name="partyIdFrom"><hidden/></field>
        <field name="my"><hidden value="${parameters.my}"/></field>
        <field name="partyIdTo" title="${uiLabelMap.PartyPartyTo}">
            <drop-down>
                <list-options list-name="recentParties" key-name="partyId" description="${firstName} ${middleName} ${lastName} ${groupName}"/>
            </drop-down>
        </field>
        <field name="subject"><text size="60"/></field>
        <field name="contentMimeTypeId"><hidden value="text/plain"/></field>
        <field name="content" title="${uiLabelMap.CommonContent}" encode-output="false"><textarea cols="72" rows="15" default-value="${parameters.content}"/></field>
        <field name="sendAction" title=" " position="1" use-when="communicationEvent!=null" widget-style="${styles.link_run_sys} ${styles.action_send}">
            <hyperlink also-hidden="true"
                target-type="plain" description="${uiLabelMap.CommonSend}"
                target="javascript:(document.EditInternalNote.form.value='list'),(document.EditInternalNote.statusId.value='COM_ENTERED'),(document.EditInternalNote.datetimeStarted.value='${nowDate}'),(document.EditInternalNote.submit())"/>
        </field>
        <field name="saveAction" title=" " position="2" use-when="communicationEvent!=null" widget-style="${styles.link_run_sys} ${styles.action_update}">
            <hyperlink also-hidden="true" target-type="plain" description="${uiLabelMap.CommonSave}" target="javascript:(document.EditInternalNote.form.value='list'),(document.EditInternalNote.submit())"/>
        </field>
        <field name="createAction" use-when="communicationEvent==null" widget-style="${styles.link_run_sys} ${styles.action_add}"><submit/></field>
    </form>

    <form name="ViewEmail" type="single" default-map-name="communicationEvent">
        <actions>
            <entity-one entity-name="ContactMech" value-field="contactMechFrom">
                <field-map field-name="contactMechId" from-field="communicationEvent.contactMechIdFrom"/>
            </entity-one>
            <entity-one entity-name="ContactMech" value-field="contactMechTo">
                <field-map field-name="contactMechId" from-field="communicationEvent.contactMechIdTo"/>
            </entity-one>
        </actions>
        <field name="communicationEventId" widget-style="${styles.link_nav_info_id}">
            <hyperlink description="${communicationEvent.communicationEventId}" target="ViewCommunicationEvent">
                <parameter param-name="communicationEventId" from-field="communicationEvent.communicationEventId"/>
            </hyperlink>
        </field>
        <field name="communicationEventTypeId"><display-entity entity-name="CommunicationEventType" description="${description}"/></field>
        <field name="contactListId" use-when="communicationEvent.get(&quot;contactListId&quot;)!=null"><display/></field>
        <field name="partyIdFrom" use-when="communicationEvent.get(&quot;partyIdFrom&quot;)!=null">
            <display-entity entity-name="PartyNameView" key-field-name="partyId" description="${firstName} ${middleName} ${lastName} ${groupName} (${contactMechFrom.infoString})">
                <sub-hyperlink description="[${communicationEvent.partyIdFrom}]" target="/partymgr/control/viewprofile" target-type="inter-app" link-style="${styles.link_nav_info_id}">
                    <parameter param-name="partyId" from-field="communicationEvent.partyIdFrom"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="partyIdTo">
            <display-entity entity-name="PartyNameView" key-field-name="partyId" description="${firstName} ${middleName} ${lastName} ${groupName} (${contactMechTo.infoString})">
                <sub-hyperlink description="[${communicationEvent.partyIdTo}]" target="/partymgr/control/viewprofile" target-type="inter-app" link-style="${styles.link_nav_info_id}">
                    <parameter param-name="partyId" from-field="communicationEvent.partyIdTo"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}"><display-entity description="${description}" entity-name="StatusItem" key-field-name="statusId"/></field>
        <field name="lastUpdatedStamp" title="${uiLabelMap.FormFieldTitle_lastModifiedDate}"><display/></field>
        <field name="datetimeStarted" title="${uiLabelMap.CommonSendDate}"><display type="date"/></field>
        <field name="datetimeEnded" title="${uiLabelMap.CommonEndDate}"><display type="date"/></field>
        <field name="subject"><display also-hidden="false"/></field>
        <field name="content" title="${uiLabelMap.CommonContent}"><display also-hidden="false"/></field>
        <field name="parentCommEventId" widget-style="${styles.link_nav_info_id}">
            <hyperlink description="${communicationEvent.parentCommEventId}" target="ViewCommunicationEvent">
                <parameter param-name="communicationEventId" from-field="communicationEvent.parentCommEventId"/>
            </hyperlink>
        </field>
        <field name="note" title="${uiLabelMap.CommonNote}"><display/></field>
        
        <sort-order>
            <field-group collapsible="false" initially-collapsed="false">
                <sort-field name="communicationEventId"/>
                <sort-field name="communicationEventTypeId"/>
                <sort-field name="parentCommEventId"/>
                <sort-field name="contactListId"/>
                <sort-field name="messageId"/>
                <sort-field name="partyIdFrom"/>
                <sort-field name="partyIdTo"/>
                <sort-field name="statusId"/>
                <sort-field name="lastUpdatedStamp"/>                
                <sort-field name="datetimeStarted"/>
                <sort-field name="datetimeEnded"/>
                <sort-field name="subject"/>
            </field-group>
            <field-group title="${uiLabelMap.CommonContent}" collapsible="true" initially-collapsed="false">                               
                <sort-field name="content"/>
                <sort-field name="note"/>                
            </field-group>
        </sort-order>
    </form>

    <form name="ViewCommEvent" type="single" default-map-name="communicationEvent"
        header-row-style="header-row"> <!-- orig: default-table-style=-style="basic-table" -->
        <field name="communicationEventId"><display/></field>
        <field name="contactListId" use-when="contactListId!=null">
            <display-entity entity-name="ContactList" description="${contactListName}">
                <sub-hyperlink target="/marketing/control/EditContactList?contactListId=${communicationEvent.contactListId}" description="[${communicationEvent.contactListId}]" target-type="inter-app"/>
            </display-entity>
        </field>
        <field name="partyIdFrom" use-when="&quot;my&quot;==void" title="${uiLabelMap.PartyPartyFrom}">
            <display-entity entity-name="PartyNameView" key-field-name="partyId" description="${firstName} ${middleName} ${lastName} ${groupName}">
                <sub-hyperlink target="viewprofile" description="[${partyIdFrom}]" link-style="${styles.link_nav_info_id}">
                    <parameter param-name="partyId" from-field="partyIdFrom"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="partyIdTo" use-when="&quot;my&quot;==void" title="${uiLabelMap.PartyPartyTo}">
            <display-entity entity-name="PartyNameView" key-field-name="partyId" description="${firstName} ${middleName} ${lastName} ${groupName}">
                <sub-hyperlink target="viewprofile" description="[${communicationEvent.partyIdTo}]" link-style="${styles.link_nav_info_id}">
                    <parameter param-name="partyId" from-field="communicationEvent.partyIdTo"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}"><display-entity description="${description}" entity-name="StatusItem" key-field-name="statusId"/></field>
        <field name="contactMechTypeId" use-when="&quot;my&quot;==void"><display-entity description="${description}" entity-name="ContactMechType" key-field-name="contactMechTypeId"/></field>
        <field name="contactMechIdFrom" use-when="&quot;my&quot;==void" title="${uiLabelMap.PartyFromContactMech}"><display/></field>
        <field name="contactMechIdTo" use-when="&quot;my&quot;==void" title="${uiLabelMap.PartyToEmailAddress}">
            <display-entity entity-name="ContactMech" key-field-name="contactMechId" description="${infoString}"/>
        </field>
        <field name="roleTypeIdFrom" use-when="&quot;my&quot;==void"><display-entity description="${description}" entity-name="RoleType" key-field-name="roleTypeId"/></field>
        <field name="roleTypeIdTo" use-when="&quot;my&quot;==void"><display-entity description="${description}" entity-name="RoleType" key-field-name="roleTypeId"/></field>
        <field name="datetimeStarted" title="${uiLabelMap.CommonStartDate}"><display/></field>
        <field name="datetimeEnded" title="${uiLabelMap.CommonFinishDate}"><display/></field>
        <field name="subject"><display/></field>
        <field map-name="subjectMap" name="eventNote" title="${uiLabelMap.CommonNote}"><display/></field>
        <field name="contentMimeTypeId" use-when="&quot;my&quot;==void"><display/></field>
        <field name="content" title="${uiLabelMap.CommonContent}" encode-output="false"><textarea cols="60" rows="10" read-only="true"/></field>
        
        <sort-order>
            <field-group collapsible="false" initially-collapsed="false">
                <sort-field name="communicationEventId"/>
                <sort-field name="contactListId"/>
                <sort-field name="partyIdFrom"/>
                <sort-field name="partyIdTo"/>
                <sort-field name="statusId"/>
                <sort-field name="contactMechTypeId"/>
                <sort-field name="contactMechIdFrom"/>
                <sort-field name="contactMechIdTo"/>
                <sort-field name="roleTypeIdFrom"/>
                <sort-field name="roleTypeIdTo"/>
                <sort-field name="datetimeStarted"/>
                <sort-field name="datetimeEnded"/>
                <sort-field name="subject"/>
            </field-group>
            <field-group title="${uiLabelMap.CommonContent}" collapsible="true" initially-collapsed="false">               
                <sort-field name="contentMimeTypeId"/>
                <sort-field name="content"/>
                <sort-field name="note"/>                
            </field-group>
        </sort-order>
    </form>

    <form name="FindCommEvents" type="single" target="FindCommunicationEvents" paginate="true" focus-field-name="submitAction"
        header-row-style="header-row" default-position-span="1"> <!-- orig: default-table-style=-style="basic-table" -->
        <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field>
        <field name="communicationEventId" position="1"><text-find/></field>
        <field name="parentCommEventId" position="2"><text-find/></field>
        <!-- <field name="origCommEventId"><text-find/></field-->
        <field name="partyIdFrom" position="1" title="${uiLabelMap.CommonPartyId} ${uiLabelMap.CommonFrom}"><lookup target-form-name="LookupPartyName"/></field>
        <field name="partyIdTo" position="2" title="${uiLabelMap.CommonPartyId} ${uiLabelMap.CommonTo}"><lookup target-form-name="LookupPartyName"/></field>
        <field name="partyId" position="1" title="${uiLabelMap.CommonPartyId} ${uiLabelMap.PartyAnyRole}"><lookup target-form-name="LookupPartyName"/></field>
        <field name="roleTypeId" position="2">
            <drop-down allow-empty="true">
                <entity-options description="${description}" entity-name="RoleType">
                    <entity-constraint name="parentTypeId" value="COMMEVENT_ROLE"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="communicationEventTypeId" position="1">
            <drop-down allow-empty="true">
                <entity-options description="${description}" entity-name="CommunicationEventType" key-field-name="communicationEventTypeId"/>
            </drop-down>
        </field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}" position="2">
            <drop-down allow-empty="true">
                <entity-options description="${description}" entity-name="StatusItem">
                    <entity-constraint name="statusTypeId" operator="equals" value="COM_EVENT_STATUS"/>
                </entity-options>
            </drop-down>
        </field>
        <!-- <field name="contactMechTypeId">
            <drop-down allow-empty="true">
                <entity-options description="${description}" entity-name="ContactMechType" key-field-name="contactMechTypeId"/>
            </drop-down>
        </field-->
        <!--field name="roleTypeIdFrom">
            <drop-down allow-empty="true">
                <entity-options description="${description}" entity-name="RoleType" key-field-name="roleTypeId"/>
            </drop-down>
        </field>
        <field name="roleTypeIdTo">
            <drop-down allow-empty="true">
                <entity-options description="${description}" entity-name="RoleType" key-field-name="roleTypeId"/>
            </drop-down>
        </field-->
        <!-- <field name="custRequestId"><lookup size="20" target-form-name="LookupCustRequest"/></field-->
        <!--field name="datetimeStarted" title="${uiLabelMap.CommonStartDate}"><date-find/></field>
        <field name="datetimeEnded" title="${uiLabelMap.CommonFinishDate}"><date-find/></field>
        <field name="reasonEnumId">
            <drop-down no-current-selected-key="" allow-empty="true">
                <entity-options entity-name="Enumeration" description="${description}" key-field-name="enumId">
                    <entity-constraint name="enumTypeId" operator="equals" value="CE_COMM_REASON"/>
                    <entity-order-by field-name="sequenceId"/>
                </entity-options>
            </drop-down>
        </field-->
        <field map-name="subjectMap" name="subject"><text-find/></field>
        <field name="submitAction" title="${uiLabelMap.CommonFind}" widget-style="${styles.link_run_sys} ${styles.action_find}"><submit button-type="button"/></field>
    </form>

    <form name="ListCommEvents" type="list" paginate="true" list-name="commEvents"
        odd-row-style="alternate-row" header-row-style="header-row"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <row-actions>
            <set field="subject" from-field="subject" default-value="${uiLabelMap.PartyNoSubject}"/>
        </row-actions>
        <field name="communicationEventId"><hidden/></field>
        <field name="subject" sort-field="true" widget-style="${styles.link_nav_info_desc} ${styles.action_view}">
            <hyperlink description="${subject} [${communicationEventId}]" target="ViewCommunicationEvent">
                <parameter param-name="communicationEventId"/>
                <parameter param-name="partyId"/>
                <parameter param-name="roleTypeId"/>
                <parameter param-name="activeSubMenuItem" from-field="parameters.activeSubMenuItem"/><!-- SCIPIO: TODO: REVIEW -->
            </hyperlink>
        </field>
        <field name="communicationEventTypeId" title="${uiLabelMap.CommonType}" sort-field="true"><display-entity description="${description}" entity-name="CommunicationEventType" key-field-name="communicationEventTypeId"/></field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}" sort-field="true">
            <display-entity description="${description}" entity-name="StatusItem" key-field-name="statusId"/>
        </field>
        <field name="partyId" title="${uiLabelMap.CommonPartyId}" sort-field="true">
            <display-entity description="${firstName} ${middleName} ${lastName} ${groupName}" entity-name="PartyNameView" key-field-name="partyId">
                <sub-hyperlink target="/partymgr/control/viewprofile" description="[${partyIdFrom}]" target-type="inter-app" link-style="${styles.link_nav_info_id}">
                    <parameter param-name="partyId" from-field="partyIdFrom"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="roleTypeId" sort-field="true">
            <display-entity description="${description}" entity-name="RoleType"/>
        </field>
        <field name="roleStatusId" sort-field="true">
            <display-entity description="${description}" entity-name="StatusItem" key-field-name="statusId"/>
        </field>
        <field name="entryDate" title="${uiLabelMap.CommonCreated}" sort-field="true"><display type="date"/></field>
        <field name="datetimeStarted" title="${uiLabelMap.CommonSent}" sort-field="true"><display type="date"/></field>
    </form>

    <form name="FindCommunicationByOrder" type="single" target="FindCommunicationByOrder" paginate="true" focus-field-name="submitAction"
        header-row-style="header-row"> <!-- orig: default-table-style=-style="basic-table" -->
        <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field>
        <field name="orderId" position="1"><text-find/></field>
        <field name="communicationEventId" position="1"><text-find/></field>
        <field name="partyIdFrom" position="1" title="${uiLabelMap.CommonPartyId} ${uiLabelMap.CommonFrom}"><lookup target-form-name="LookupPartyName"/></field>
        <field name="partyIdTo" position="2" title="${uiLabelMap.CommonPartyId} ${uiLabelMap.CommonTo}"><lookup target-form-name="LookupPartyName"/></field>
        <field name="partyId" position="1" title="${uiLabelMap.CommonPartyId} ${uiLabelMap.PartyAnyRole}"><lookup target-form-name="LookupPartyName"/></field>
        <field name="communicationEventTypeId" position="2">
            <drop-down allow-empty="true">
                <entity-options description="${description}" entity-name="CommunicationEventType" key-field-name="communicationEventTypeId"/>
            </drop-down>
        </field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}" position="2">
            <drop-down allow-empty="true">
                <entity-options description="${description}" entity-name="StatusItem">
                    <entity-constraint name="statusTypeId" operator="equals" value="COM_EVENT_STATUS"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="submitAction" title="${uiLabelMap.CommonFind}" widget-style="${styles.link_run_sys} ${styles.action_find}"><submit button-type="button"/></field>
    </form>

    <form name="ListCommunicationByOrder" type="list" list-name="listIt" extends="ListCommEvents" header-row-style="header-row-2">
        <actions>
            <service service-name="performFind" result-map="result" result-map-list="listIt">
                <field-map field-name="inputFields" from-field="parameters"/>
                <field-map field-name="entityName" from-field="entityName"/>
                <field-map field-name="orderBy" value="-entryDate"/>
                <field-map field-name="viewIndex" from-field="viewIndex"/>
                <field-map field-name="viewSize" from-field="viewSize"/>
            </service>
        </actions>
        <field name="orderId" title="${uiLabelMap.FormFieldTitle_orderId}" widget-style="${styles.link_nav_info_id}">
            <hyperlink target="/ordermgr/control/orderview?orderId=${orderId}" description="${orderId}" target-type="inter-app"/>
        </field>
        <field name="communicationEventId" widget-style="${styles.link_nav_info_id}">
            <hyperlink description="${communicationEventId}" target="ViewCommunicationEvent">
                <parameter param-name="communicationEventId"/>
            </hyperlink>
        </field>
        <field name="subject" widget-style="${styles.link_nav_info_desc} ${styles.action_view}">
            <hyperlink description="${subject}" target="ViewCommunicationEvent">
                <parameter param-name="communicationEventId"/>
                <parameter param-name="partyId"/>
                <parameter param-name="roleTypeId"/>
            </hyperlink>
        </field>
    </form>
    
    <form name="ListPartyCommEvents" type="list" target="RemoveCommunicationEventRole" list-name="listIt"
        odd-row-style="alternate-row" header-row-style="header-row-2" sort-field-parameter-name="partyCommEventSortField"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <actions>
            <set field="parameters.partyCommEventSortField" from-field="parameters.partyCommEventSortField" default-value="${groovy: 'true'.equals(parameters.all) ? '-entryDate' : 'entryDate'}"/>
            <set field="searchParameters.partyId" from-field="partyId"/>
            <set field="searchParameters.statusId" value="COM_UNKNOWN_PARTY"/>
            <set field="searchParameters.statusId_op" value="notEqual"/>
            <set field="searchParameters.roleStatusId" value="${groovy: 'true'.equals(parameters.all) ? 'dummy' : 'COM_ROLE_COMPLETED'}"/>
            <set field="searchParameters.roleStatusId_op" value="notEqual"/>
            <set field="searchParameters.communicationEventTypeId" value="${groovy: context.internalNotesOnly &amp;&amp; 'true'.equals(context.internalNotesOnly) ? 'COMMENT_NOTE' : ''}"/><!-- SCIPIO: Fixed missing context. for internalNotesOnly -->
            <service service-name="performFind" result-map="result" result-map-list="listIt">
                <field-map field-name="inputFields" from-field="searchParameters"/>
                <field-map field-name="entityName" value="CommunicationEventAndRole"/>
                <field-map field-name="orderBy" from-field="parameters.partyCommEventSortField"/>
                <field-map field-name="viewIndex" from-field="viewIndex"/>
                <field-map field-name="viewSize" from-field="viewSize"/>
            </service>
        </actions>
        <row-actions>
            <set field="toComplete" value="${groovy: 'COM_ROLE_READ'.equals(roleStatusId) ? 'PartyToComplete' : ' '}"/>
        </row-actions>
        <field name="deleteCommEventIfLast"><hidden value="Y"/></field>
        <field name="delContentDataResource"><hidden value="Y"/></field>
        <field name="partyId"><hidden/></field>
        <field name="communicationEventId"><hidden/></field>
        <field name="subject" widget-style="${styles.link_nav_info_text}" widget-area-style="fieldWidth300" sort-field="true">
            <hyperlink description="${subject}[${communicationEventId}] " target="ViewCommunicationEvent">
                <parameter param-name="communicationEventId"/>
                <parameter param-name="partyId"/>
                <parameter param-name="roleTypeId"/>
                <parameter param-name="my"/>
                <parameter param-name="form" value="view"/>
                <parameter param-name="portalPageId" from-field="parameters.portalPageId"/>
            </hyperlink>
        </field>
        <field name="partyIdFrom" title="${uiLabelMap.CommonPartyId} ${uiLabelMap.CommonFrom}" sort-field="true">
            <display-entity description="${firstName} ${middleName} ${lastName} ${groupName}" entity-name="PartyNameView" key-field-name="partyId">
                <sub-hyperlink target="/partymgr/control/viewprofile" description="[${partyIdFrom}]" target-type="inter-app" link-style="${styles.link_nav_info_id}">
                    <parameter param-name="partyId" from-field="partyIdFrom"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="partyIdTo" title="${uiLabelMap.CommonPartyId} ${uiLabelMap.CommonTo}" sort-field="true" widget-style="${styles.link_nav_info_id}">
            <hyperlink description="${partyIdTo}" target="/partymgr/control/viewprofile" target-type="inter-app">
                <parameter param-name="partyId"/>
            </hyperlink>
        </field>
        <field name="entryDate" sort-field="true"><display type="date-time"/></field>
        <field name="communicationEventTypeId">
            <display-entity entity-name="CommunicationEventType" description="${description}"/>
        </field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}" entry-name="roleStatusId" widget-style="${styles.link_nav_info_desc}" widget-area-style="fieldWidth300">
            <display-entity entity-name="StatusItem" description="${description}">
                <sub-hyperlink target="setCommunicationEventRoleStatus"
                    description="${uiLabelMap[toComplete]}">
                    <parameter param-name="communicationEventId"/>
                    <parameter param-name="partyId"/>
                    <parameter param-name="roleTypeId"/>
                    <parameter param-name="statusId" value="COM_ROLE_COMPLETED"/>
                    <parameter param-name="portalPageId" from-field="parameters.portalPageId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <!--<field name="roleTypeId"><display-entity entity-name="RoleType" description="${description}"/></field>-->
        <field name="removeAction" widget-style="${styles.link_run_sys} ${styles.action_remove}"><submit/></field>
    </form>
    <form name="ListPendingCommEvents" type="list" extends="ListCommEvents" odd-row-style="alternate-row"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <actions>
            <entity-condition entity-name="CommunicationEvent" list="commEvents">
                <condition-list combine="and">
                    <condition-list combine="or">
                        <condition-expr field-name="partyIdFrom" operator="equals" value="${partyId}"/>
                        <condition-expr field-name="partyIdTo" operator="equals" value="${partyId}"/>
                    </condition-list>
                    <condition-expr from-field="" field-name="statusId" operator="equals" value="COM_PENDING"/>
                </condition-list>
            </entity-condition>
        </actions>
    </form>

    <form name="ListUnknownPartyEmails" extends="ListCommEvents" type="multi" use-row-submit="true" separate-columns="true"
           target="deleteCommunicationEvents" header-row-style="header-row-2">
        <actions>
            <set field="parameters.sortField" from-field="parameters.sortField" default-value="-entryDate"/>
            <entity-and  entity-name="CommunicationEventAndRole" list="commEvents">
                <field-map field-name="statusId" value="COM_UNKNOWN_PARTY"/>
                <order-by field-name="${parameters.sortField}"/>
            </entity-and>
        </actions>
        <field name="delContentDataResource"><hidden value="Y"/></field>
        <field name="_rowSubmit" title="${uiLabelMap.CommonYes}">
            <check/>
        </field>
        <field name="deleteSelectedAction" widget-style="${styles.link_run_sys} ${styles.action_remove}">
            <submit />
        </field>
    </form>

    <form name="ListChildCommEvents" type="list" extends="ListCommEvents" paginate-target="EditCommunicationEvent">
        <actions>
            <entity-condition entity-name="CommunicationEvent" list="commEvents">
                <condition-list combine="and">
                    <condition-expr field-name="statusId" operator="not-equals" value="COM_COMPLETE"/>
                    <condition-list combine="or">
                        <condition-expr field-name="parentCommEventId" operator="equals" value="${communicationEventId}"/>
                        <condition-expr field-name="origCommEventId" operator="equals" value="${communicationEventId}"/>
                    </condition-list>
                </condition-list>
            </entity-condition>
        </actions>
    </form>

    <form name="ListLookupCommEvents" type="list" list-name="listIt" extends="ListCommEvents" header-row-style="header-row-2" target="deleteCommunicationEvent">
        <actions>
            <set field="parameters.sortField" from-field="parameters.sortField" default-value="-entryDate"/>
            <service service-name="performFind" result-map="result" result-map-list="listIt">
                <field-map field-name="inputFields" from-field="parameters"/>
                <field-map field-name="entityName" from-field="entityName"/>
                <field-map field-name="orderBy" from-field="parameters.sortField"/>
                <field-map field-name="viewIndex" from-field="viewIndex"/>
                <field-map field-name="viewSize" from-field="viewSize"/>
            </service>
        </actions>
        <field name="removeAction" title="${uiLabelMap.CommonDelete}" widget-style="${styles.link_run_sys} ${styles.action_remove}"><submit/></field>
    </form>

    <form name="ListCommWorkEfforts" type="list" paginate-target="ListCommWorkEfforts"
        odd-row-style="alternate-row"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <actions>
            <entity-and entity-name="CommunicationEventWorkEff" use-cache="false">
                <field-map field-name="communicationEventId"/>
                <order-by field-name="workEffortId"/>
            </entity-and>
        </actions>
        <field name="workEffortId" title="${uiLabelMap.WorkEffort}">
            <display-entity entity-name="WorkEffort" description="${workEffortName}">
                <sub-hyperlink description="${workEffortId}" target="/workeffort/control/WorkEffortSummary" target-type="inter-app" link-style="${styles.link_nav_info_id}">
                    <parameter param-name="workEffortId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
    </form>

    <form name="AddCommEventWorkEffort" type="single" extends="EditWorkEffort"
        extends-resource="component://workeffort/widget/WorkEffortForms.xml"
        target="/partymgr/control/createCommEventWorkEffort" target-type="inter-app"
        header-row-style="header-row"> <!-- orig: default-table-style=-style="basic-table" -->
        <field name="communicationEventId"><display/></field>
        <field name="workEffortId"  use-when="workEffort==null&amp;&amp;workEffortId==null" ><lookup target-form-name="LookupWorkEffort"/></field>
        <field name="submitButton" title="${uiLabelMap.CommonSave}" widget-style="${styles.link_run_sys} ${styles.action_add}"><submit button-type="text-link"/></field>
        <sort-order>
            <sort-field name="communicationEventId"/>
            <banner left-text="${uiLabelMap.WorkEffortBannerAddWorkEffortAndAssoc1}"/>
            <sort-field name="workEffortId"/>
            <banner left-text="${uiLabelMap.WorkEffortBannerAddWorkEffortAndAssoc2}"/>
        </sort-order>
    </form>

    <form name="ListCommPurposes" type="list" paginate-target="UpdateCommPurposes"
        odd-row-style="alternate-row"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <actions>
            <entity-and entity-name="CommunicationEventPurpose" use-cache="true">
                <field-map field-name="communicationEventId"/>
            </entity-and>
        </actions>
        <field name="communicationEventPrpTypId">
            <display-entity description="${description}" entity-name="CommunicationEventPrpTyp"/>
        </field>
        <field name="removeAction" title=" " widget-style="${styles.link_run_sys} ${styles.action_remove}">
            <hyperlink also-hidden="false" description="${uiLabelMap.CommonDelete}" target="removeCommunicationEventPurpose">
                <parameter param-name="communicationEventPrpTypId"/>
                <parameter param-name="communicationEventId"/>
            </hyperlink>
        </field>
    </form>

    <form name="AddEventPurpose" type="single" target="createCommunicationEventPurpose"
        header-row-style="header-row"> <!-- orig: default-table-style=-style="basic-table" -->
        <field name="communicationEventId"><hidden/></field>
        <field name="partyId"><hidden/></field>
        <field name="communicationEventPrpTypId" >
            <drop-down>
                <entity-options description="${description}" entity-name="CommunicationEventPrpTyp" key-field-name="communicationEventPrpTypId">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="submitAction" title="${uiLabelMap.PartyAddPurpose}" widget-style="${styles.link_run_sys} ${styles.action_add}"><submit button-type="button"/></field>
    </form>

    <form name="ListCommRoles" type="list" paginate-target="UpdateCommRoles" target="RemoveCommunicationEventRole"
        odd-row-style="alternate-row"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <actions>
            <entity-and entity-name="CommunicationEventRole" use-cache="true">
                <field-map field-name="communicationEventId" from-field="parameters.communicationEventId"/>
            </entity-and>
        </actions>
        <field name="communicationEventId"><hidden/></field>
        <field name="partyId" title="${uiLabelMap.PartyPartyId}">
            <display-entity description="${firstName} ${middleName} ${lastName} ${groupName}" entity-name="PartyNameView">
                <sub-hyperlink description="[${partyId}]" target="/partymgr/control/viewprofile" target-type="inter-app" link-style="${styles.link_nav_info_id}">
                    <parameter param-name="partyId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="contactMechId"><display-entity description="${infoString}" entity-name="ContactMech"/></field>
        <field name="roleTypeId"><display-entity description="${description}" entity-name="RoleType"/></field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}"><display-entity entity-name="StatusItem" description="${description}"/></field>
        <field name="removeAction" widget-style="${styles.link_run_sys} ${styles.action_remove}"><submit/></field>
    </form>
    
    <form name="ListCommRolesInline" extends="ListCommRoles" hide-table-when="${!formHasListResult}" use-alternate-text-when="${false}" paginate="false">
    </form>

    <form name="ViewCommRoles" extends="ListCommRoles" paginate="false">
        <field name="removeAction"><ignored/></field>
    </form>

    <form name="AddEventRole" type="single" target="createCommunicationEventRole"
        header-row-style="header-row"> <!-- orig: default-table-style=-style="basic-table" -->
        <actions>
            <!-- 
            <set field="AddEventRole_submitAction" from-field="AddEventRole_submitAction" default-value="javascript:(document.AddEventRole.communicationEventId.value=document.EditEmail.communicationEventId.value),(document.AddEventRole.datetimeStarted.value=document.EditEmail.datetimeStarted.value),(document.AddEventRole.partyIdTo.value=document.EditEmail.partyIdTo.value),(document.AddEventRole.subject.value=document.EditEmail.subject.value),(document.AddEventRole.content.value=document.EditEmail.content.value),(document.AddEventRole.submit())" />
            -->
            <set field="AddEventRole_submitAction" from-field="AddEventRole_submitAction" default-value="javascript:document.AddEventRole.submit()" />
        </actions>
        <field name="subject"><hidden/></field>
        <field name="content"><hidden/></field>
        <field name="partyIdTo"><hidden/></field>
        <field name="datetimeStarted"><hidden/></field>
        <field name="my"><hidden value="${my}"/></field>
        <field name="datetimeStarted"><hidden/></field>
        <field name="communicationEventId"><hidden/></field>
        <field name="partyId" title="${uiLabelMap.PartyPartyId}" position="1"><lookup target-form-name="LookupPartyName"/></field>
        <field name="roleTypeId" position="1">
            <drop-down>
                <entity-options description="${description}" entity-name="RoleType" key-field-name="roleTypeId">
                    <entity-constraint name="parentTypeId" value="COMMEVENT_ROLE"/>
                    <entity-constraint name="roleTypeId" operator="not-equals" value="ORIGINATOR"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="submitAction" title=" " widget-style="${styles.link_run_sys} ${styles.action_add}">
            <hyperlink also-hidden="true"
                target-type="plain" description="${uiLabelMap.PartyAddRole}"
                target="${AddEventRole_submitAction}"/>
        </field>
    </form>

    <form name="listCommContent" type="list" list-name="contentDataResourceList" target="removeAttachFile"
        odd-row-style="alternate-row" hide-table-when="${!formHasListResult}" use-alternate-text-when="${false}" paginate="false"> <!-- orig: default-table-style=-style="basic-table hover-bar" --> <!-- doesn't work: paginate-target="/ListCommContent" -->
        <actions>
            <entity-and entity-name="CommEventContentDataResource" list="contentDataResourceList">
                <field-map field-name="communicationEventId" from-field="parameters.communicationEventId"/>
            </entity-and>
        </actions>
        <field name="communicationEventId"><hidden/></field>
        <field name="contentId"><hidden/></field>
        <field name="fromDate"><hidden/></field>
        <field name="my"><hidden/></field>
        <field name="contentName" widget-style="${styles.link_nav_info_idname} ${styles.action_view}">
            <hyperlink also-hidden="false" description="${contentName} [${contentId}]" target="ViewSimpleContent">
                <parameter param-name="contentId"/>
                <parameter param-name="dataResourceId"/>
                <parameter param-name="communicationEventId"/>
                <parameter param-name="fromDate"/>
            </hyperlink>
        </field>
        <field name="deleteAction" widget-style="${styles.link_run_sys} ${styles.action_remove}"><submit button-type="text-link"/></field>
    </form>

    <form name="addCommContent" type="single" target="createCommContentDataResource"
        header-row-style="header-row"> <!-- orig: default-table-style=-style="basic-table" -->
        <field name="communicationEventId"><hidden/></field>
        <field name="contentId"><ignored/></field>
        <field name="contentName"><text/></field>
        <field name="contentTypeId"><hidden value="DOCUMENT"/></field>
        <field name="dataResourceTypeId"><hidden value=""/></field>
        <field name="fromDate" title="${uiLabelMap.CommonFrom}"><date-time default-value="${nowTimestamp}"/></field>
        <field name="thruDate" title="${uiLabelMap.CommonThru}"><date-time/></field>
        <field name="sequenceNum"><text/></field>
        <field name="drMimeTypeId" widget-style="+smallSelect">
            <drop-down allow-empty="false">
                <option key="application/msword" description="${uiLabelMap.ContentMSWord}"/>
                <option key="application/pdf" description="${uiLabelMap.ContentPDFFile}"/>
                <option key="application/vnd.ofbiz.survey" description="${uiLabelMap.ContentSurvey}"/>
                <option key="text/html" description="${uiLabelMap.ContentHtmlText}"/>
                <option key="text/plain" description="${uiLabelMap.ContentPlainText}"/>
                <option key="image/jpeg" description="${uiLabelMap.ContentJPEG}"/>
                <option key="image/gif" description="${uiLabelMap.ContentGIF}"/>
                <option key="image/tiff" description="${uiLabelMap.ContentTIFF}"/>
                <option key="image/png" description="${uiLabelMap.ContentPNG}"/>
                <option key="application/octet-stream" description="${uiLabelMap.ContentResourceOther}"/>
            </drop-down>
        </field>
        <field name="drIsPublic" title="${uiLabelMap.PartyIsPublic}">
            <drop-down allow-empty="true">
                <option key="Y" description="${uiLabelMap.CommonY}"/>
                <option key="N" description="${uiLabelMap.CommonN}"/>
            </drop-down>
        </field>
        <field name="submitAction" title="${uiLabelMap.CommonSubmit}" widget-style="${styles.link_run_sys} ${styles.action_add}"><submit button-type="button"/></field>
    </form>

    <form name="editCommContent" type="single" target="updateCommContentDataResource" default-map-name="commEventContentDataResource"
        header-row-style="header-row"> <!-- orig: default-table-style=-style="basic-table" -->
        <field name="communicationEventId"><display/></field>
        <field name="contentId"><display/></field>
        <field name="contentTypeId"><hidden/></field>
        <field name="dataResourceId" title="${uiLabelMap.ContentDataResourceId}"><display/></field>
        <field name="contentName"><text/></field>
        <field name="fromDate" title="${uiLabelMap.CommonFrom}"><display/></field>
        <field name="thruDate" title="${uiLabelMap.CommonThru}"><date-time/></field>
        <field name="sequenceNum"><text/></field>
        <field name="drMimeTypeId">
            <drop-down allow-empty="false">
                <option key="application/msword" description="${uiLabelMap.ContentMSWord}"/>
                <option key="application/pdf" description="${uiLabelMap.ContentPDFFile}"/>
                <option key="application/vnd.ofbiz.survey" description="${uiLabelMap.ContentSurvey}"/>
                <option key="text/html" description="${uiLabelMap.ContentHtmlText}"/>
                <option key="text/plain" description="${uiLabelMap.ContentPlainText}"/>
                <option key="image/jpeg" description="${uiLabelMap.ContentJPEG}"/>
                <option key="image/gif" description="${uiLabelMap.ContentGIF}"/>
                <option key="image/tiff" description="${uiLabelMap.ContentTIFF}"/>
                <option key="image/png" description="${uiLabelMap.ContentPNG}"/>
                <option key="application/octet-stream" description="${uiLabelMap.ContentResourceOther}"/>
            </drop-down>
        </field>
        <field name="drIsPublic" title="${uiLabelMap.PartyIsPublic}">
            <drop-down allow-empty="true">
                <option key="Y" description="${uiLabelMap.CommonY}"/>
                <option key="N" description="${uiLabelMap.CommonN}"/>
            </drop-down>
        </field>
        <field name="dataResourceTypeId" entry-name="drDataResourceTypeId">
            <drop-down allow-empty="false">
                <entity-options entity-name="DataResourceType" description="${description}"/>
            </drop-down>
        </field>
        <!-- <field name="mimeTypeId" map-name="dataResource" title="Document Type"><display/></field> -->
        <!-- <field name="contentTypeId" map-name="content" title="Content Type"><display/></field> -->
        <!-- add these back if it looks like Surveys need to be added to CommEvents
        <field name="relatedDetailId" map-name="dataResource" title="Survey ID"
            use-when="dataResource!=null &amp;&amp; &quot;SURVEY&quot;.equals(dataResource.getString(&quot;dataResourceTypeId&quot;))">
            <lookup target-form-name="LookupSurvey">
                <sub-hyperlink target="EditSurvey" description="Edit Survey" link-style="${styles.link_nav} ${styles.action_update}" use-when="dataResource.get(&quot;relatedDetailId&quot;)!=null">
                    <parameter param-name="surveyId" from-field="dataResource.relatedDetailId"/>
                </sub-hyperlink>
            </lookup>
        </field>
        <field name="relatedDetailId" map-name="dataResource" title="Survey Response ID"
            use-when="dataResource!=null &amp;&amp; &quot;SURVEY_RESPONSE&quot;.equals(dataResource.getString(&quot;dataResourceTypeId&quot;))">
            <lookup target-form-name="LookupSurveyResponse">
                <sub-hyperlink target="EditSurveyResponse" description="Edit Survey Response" link-style="${styles.link_nav} ${styles.action_update}" use-when="dataResource!=null &amp;&amp; dataResource.get(&quot;relatedDetailId&quot;)!=null">
                    <parameter param-name="surveyResponseId" from-field="dataResource.relatedDetailId"/>
                </sub-hyperlink>
            </lookup>
        </field>
        <field name="surveyResponseAction" map-name="dummy" widget-style="${styles.link_nav} ${styles.action_add}"
            use-when="&quot;DOCUMENT&quot;.equals(contentTypeId) &amp;&amp; dataResource!=null &amp;&amp; dataResource.get(&quot;relatedDetailId&quot;)==null &amp;&amp; templateDataResource!=null &amp;&amp; templateDataResource.get(&quot;relatedDetailId&quot;)!=null">
            <hyperlink description="Create Response (for Survey ${templateDataResource.relatedDetailId})" target="EditSurveyResponse" also-hidden="false" target-window="_blank">
                <parameter param-name="surveyId" from-field="templateDataResource.relatedDetailId"/>
            </hyperlink>
        </field>
        -->
    <!--
        <field name="objectInfo" title="Current File Name" map-name="dataResource"
            use-when="mimeTypeId!=null &amp;&amp; !mimeTypeId.startsWith(&quot;text&quot;)">
            <display also-hidden="false"/>
        </field>
      -->

        <field name="submitAction" title="${uiLabelMap.CommonSubmit}" widget-style="${styles.link_run_sys} ${styles.action_update}"><submit button-type="button"/></field>
    </form>

    <form name="uploadCommContent" type="upload" target="uploadCommEventContent" default-map-name="commEventContentDataResource">
        <field name="contentId" map-name="contentAssoc"><hidden/></field>
        <field name="drDataResourceId"><hidden/></field>
        <field name="drDataResourceTypeId"><hidden/></field>
        <field name="drMimeTypeId" ><hidden/></field>
        <field name="communicationEventId"><hidden/></field>
        <field name="fromDate"><hidden/></field>
        <field name="drObjectInfo"><text/></field>
        <!-- would show previous file name... doesn't make too much sense <field name="objectInfo" title="File Name" map-name="dataResource"><display also-hidden="false"/></field> -->
        <field name="imageData" map-name="empty"><file/></field>
        <field name="submitAction" title="${uiLabelMap.CommonUpload}" widget-style="${styles.link_run_sys} ${styles.action_import}"><submit/></field>
    </form>
    
    <form name="uploadContent" type="upload" target="uploadAttachFiletoEmail"
        attribs="{'showProgress':'${showProgress}', 'progressSuccessAction':'${progressSuccessAction}', 'progressOptions':${groovy: context.progressOptions ?: &quot;''&quot;} }">
        <actions>
            <set field="uploadContent_submitAction" from-field="uploadContent_submitAction" default-value="javascript:(document.uploadContent.datetimeStarted.value=document.EditEmail.datetimeStarted.value),(document.uploadContent.partyIdTo.value=document.EditEmail.partyIdTo.value),(document.uploadContent.subject.value=document.EditEmail.subject.value),(document.uploadContent.content.value=document.EditEmail.content.value),(jQuery(document.uploadContent).trigger('submit')),void(0)" />
        </actions>
        <field name="dataCategoryId"><hidden value="PERSONAL"/></field>
        <field name="contentTypeId"><hidden value="DOCUMENT"/></field>
        <field name="resourceStatusId"><hidden value="CTNT_PUBLISHED"/></field>
        <field name="partyId"><hidden value="${partyIdFrom}"/></field>
        <field name="partyContentTypeId" ><hidden value="USERDEF"/></field>
        <field name="roleTypeId"><hidden value="CONTENT"/></field>
        <field name="communicationEventId"><hidden value="${communicationEvent.communicationEventId}"/></field>
        <field name="communicationEventTypeId"><hidden value="${communicationEvent.communicationEventTypeId}"/></field>
        <field name="parentCommEventId"><hidden value="${communicationEvent.parentCommEventId}"/></field>
        <field name="origCommEventId"><hidden value="${communicationEvent.origCommEventId}"/></field>
        <field name="subject"><hidden/></field>
        <field name="content"><hidden/></field>
        <field name="partyIdTo"><hidden/></field>
        <field name="datetimeStarted"><hidden/></field>
        <field name="my"><hidden value="${my}"/></field>
        <field name="contentId" title="${uiLabelMap.FormFieldTitle_existContentId}"><lookup target-form-name="LookupTreeContent"/></field>
        <field name="uploadedFile"><file/></field>
        <field name="contentIdFrom" title="${uiLabelMap.ContentCompDocParentContentId}"><lookup target-form-name="LookupDetailContentTree"/></field>        
        <field name="sendAction" title=" " widget-style="${styles.link_run_sys} ${styles.action_import}">
            <hyperlink also-hidden="true"
                target-type="plain" description="${uiLabelMap.CommonUpload}"
                target="${uploadContent_submitAction}"/>
        </field>
        <!-- SCIPIO: this at least allows to show progress bar if enabled... -->
        <field name="submitProgress" title=" " combine-previous="false"><submit/></field>
    </form>
    <form name="uploadContent1" type="upload" extends="uploadContent" target="uploadAttachFile">
        <field name="send"><ignored/></field>
        <field name="submitAction" title="${uiLabelMap.CommonUpload}" widget-style="${styles.link_run_sys} ${styles.action_import}"><submit/></field>
    </form>      

    <form name="editCommTextContent" type="single" target="uploadCommEventContent" default-map-name="commEventContentDataResource"
        header-row-style="header-row"> <!-- orig: default-table-style=-style="basic-table" -->
        <field name="contentId" ><hidden/></field>
        <field name="drDataResourceId" ><hidden/></field>
        <field name="drDataResourceTypeId" ><hidden/></field>
        <field name="drMimeTypeId" ><hidden/></field>
        <field name="communicationEventId"><hidden/></field>
        <field name="fromDate"><hidden/></field>
        <field name="textData" map-name="electronicText" title="${uiLabelMap.FormFieldTitle_textDataTitle}"><textarea rows="30" cols="60"/></field>
        <field name="submitAction" title="${uiLabelMap.CommonSave}" widget-style="${styles.link_run_sys} ${styles.action_update}"><submit/></field>
    </form>

    <form name="ListMyUnknownPartyEmails" type="multi" use-row-submit="true"
        title="Email List unknown parties" list-name="commEventsUnknown"
        target="deleteCommunicationEvents" default-entity-name="CommunicationEvent"
        odd-row-style="alternate-row" header-row-style="header-row-2"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <row-actions>
            <set field="subject" from-field="subject" default-value="${uiLabelMap.PartyNoSubject}"/>
        </row-actions>
        <field name="delContentDataResource"><hidden value="Y"/></field>
        <field name="communicationEventId"><hidden/></field>
        <field name="subject" widget-style="${styles.link_nav_info_text}" widget-area-style="fieldWidth300">
            <hyperlink description="${subject}" target="${parameters._LAST_VIEW_NAME_}" also-hidden="true">
                <parameter param-name="communicationEventId"/>
                <parameter param-name="partyId"/>
                <parameter param-name="my" value="My"/>
                <parameter param-name="form" value="view"/>
                <parameter param-name="portalPageId" from-field="parameters.portalPageId"/>
            </hyperlink>
        </field>
        <field name="entryDate">
            <display type="date"/>
        </field>
        <field name="note" widget-area-style="fieldWidth200"><display/></field>
        <field name="_rowSubmit" title="${uiLabelMap.CommonYes}"><check/></field>
        <field name="deleteSelectedAction" widget-style="${styles.link_run_sys} ${styles.action_remove}"><submit/></field>
    </form>

    <form name="allocateMsgToPartyForm" type="single" target="allocateMsgToParty" title="create a new party for a unknown incoming email address">
        <actions>
            <script location="component://party/webapp/partymgr/WEB-INF/actions/communication/getPartyEmailFromCommEventInfo.groovy"/>
        </actions>
        <field name="form"><hidden value="list"/></field>
        <field name="portalPageId"><hidden value="${parameters.portalPageId}"/></field>
        <field name="donePage"><hidden value="${donePage}"/></field>
        <field name="communicationEventId"><hidden value="${parameters.communicationEventId}"/></field>
        <field name="partyId" entry-name="dummy" tooltip="${uiLabelMap.PartyLeaveEmpty}"><lookup target-form-name="LookupPartyName"/></field>
        <field name="emailAddress"><text/></field>
        <field name="firstName" position="1"><text/></field>
        <field name="middleName" position="2"><text/></field>
        <field name="lastName"><text/></field>
        <field name="submit" title="${uiLabelMap.PartyCreateAddEmail}" widget-style="${styles.link_run_sys} ${styles.action_add}"><submit button-type="button"/></field>
    </form>
    <form name="deleteEmail" type="single" title="delete the email"
        target="deleteUnknownCommunicationEvent">
        <field name="donePage"><hidden value="${donePage}"/></field>
        <field name="communicationEventId"><hidden value="${parameters.communicationEventId}"/></field>
        <field name="delContentDataResource"><hidden value="Y"/></field>
        <field name="dummy1" title=" " position="1"><display/></field>
        <field name="dummy2" title=" " position="2"><display/></field>
        <field name="deleteEmail" widget-style="${styles.link_run_sys} ${styles.action_remove}" position="3"><submit/></field>
    </form>
    <form name="EditRequestFromCommEvent" type="single" target="createRequestFromCommEvent" default-map-name="communicationEvent">
        <field name="communicationEventId"><hidden value="${parameters.communicationEventId}"/></field>
        <field name="fromPartyId" entry-name="partyIdFrom"><display-entity entity-name="PartyNameView" key-field-name="partyId" description="${firstName} ${middleName} ${lastName} ${groupName} [${partyId}]"/></field>
        <field name="custRequestTypeId" >
            <drop-down>
                <entity-options entity-name="CustRequestType" description="${description}">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="custRequestName" entry-name="subject"><text size="60"/></field>
        <field name="contentMimeTypeId"><hidden/></field>
        <field name="content" title="${uiLabelMap.CommonContent}"><textarea cols="70" rows="20"/></field>
        <field name="submit" title="${uiLabelMap.CommonCreate}" widget-style="${styles.link_run_sys} ${styles.action_add}"><submit button-type="button"/></field>
    </form>
    <form name="ListRequests" extends="ListRequests" extends-resource="component://order/widget/ordermgr/CustRequestForms.xml">
        <field name="custRequestName" widget-style="${styles.link_nav_info_idname} ${styles.action_view}">
            <hyperlink description="${custRequestName} [${custRequestId}]" target="/ordermgr/control/ViewRequest" target-type="inter-app">
                <parameter param-name="custRequestId"/>
            </hyperlink>
        </field>
    </form>
    <form name="EditCommPortletParams" extends="CommonPortletEdit" extends-resource="component://common/widget/PortletEditForms.xml">
        <field name="communicationPartyId">
            <lookup target-form-name="LookupPartyName" default-value="${userLogin.partyId}"/>
        </field>
        <field name="internalNotesOnly">
            <drop-down>
                <option key="false" description="${uiLabelMap.CommonFalse}"/>
                <option key="true" description="${uiLabelMap.CommonTrue}"/>
            </drop-down></field>
        <field name="updateAction" widget-style="${styles.link_run_sys} ${styles.action_update}"><submit/></field>
    </form>

    <form name="ListDraftEmails" type="list" extends="ListCommEvents" extends-resource="component://party/widget/partymgr/CommunicationEventForms.xml" target="deleteCommunicationEvent"
        use-row-submit="true" header-row-style="header-row-2" list-name="commEventDraft">
        <field name="portalPageId"><hidden value="${parameters.portalPageId}"/></field>
        <field name="subject" widget-style="${styles.link_nav_info_desc} ${styles.action_view}">
            <hyperlink description="${subject}" target="${parameters._LAST_VIEW_NAME_}">
                <parameter param-name="communicationEventId"/>
                <parameter param-name="partyId"/>
                <parameter param-name="my"/>
                <parameter param-name="form" value="edit"/>
                <parameter param-name="portalPageId" from-field="parameters.portalPageId"/>
            </hyperlink>
        </field>
        <field name="removeAction" title="${uiLabelMap.CommonDelete}" widget-style="${styles.link_run_sys} ${styles.action_remove}"><submit/></field>
    </form>
    <form name="ListProgressEmails" type="list" extends="ListPartyCommEvents" list-name="commEventProgress">
        <field name="partyIdFrom"><ignored/></field>
        <field name="startDate"><display type="date-time"/></field>
        <field name="removeAction" widget-style="${styles.link_run_sys} ${styles.action_remove}"><submit/></field>
    </form>
    <form name="ListCommOrders" list-name="ordersList" type="list" target="deleteCommunicationEventOrder" paginate-target="UpdateCommOrders" odd-row-style="alternate-row" view-size="20"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <actions>
            <entity-and entity-name="CommunicationEventOrder" list="ordersList">
                <field-map field-name="communicationEventId"/>
            </entity-and>
        </actions>
        <row-actions>
            <entity-one entity-name="OrderHeader" value-field="orderHeader" auto-field-map="true"/>
            <set field="orderTypeId" from-field="orderHeader.orderTypeId"/>
        </row-actions>
        <field name="orderId" title="${uiLabelMap.FormFieldTitle_orderId}" widget-style="${styles.link_nav_info_id}">
            <hyperlink target="/ordermgr/control/orderview?orderId=${orderId}" description="${orderId}" target-type="inter-app"/>
        </field>
        <field name="communicationEventId"><hidden/></field>
        <field name="orderTypeId" title="${uiLabelMap.OrderOrderType}">
            <display-entity entity-name="OrderType" key-field-name="orderTypeId" description="${description}"/>
        </field>
        <field name="createdBy" title="${uiLabelMap.CommonCreatedBy}">
            <display description="${orderHeader.createdBy}"/>
        </field>
        <field name="deleteAction" title="${uiLabelMap.CommonDelete}" widget-style="${styles.link_run_sys} ${styles.action_remove}"><submit/></field>
    </form>
    <form name="AddCommOrder" type="single" target="createCommunicationEventOrder" header-row-style="header-row"> <!-- orig: default-table-style=-style="basic-table" -->
        <field name="communicationEventId"><hidden/></field>
        <field name="orderId"><lookup target-form-name="LookupOrderHeader"/></field>
        <field name="submitAction" title="${uiLabelMap.PartyOrderAdd}" widget-style="${styles.link_run_sys} ${styles.action_add}"><submit button-type="button"/></field>
    </form>
    <form name="ListCommProducts" list-name="productsList" type="list" target="deleteCommunicationEventProduct" paginate-target="ListCommProducts" odd-row-style="alternate-row" view-size="20"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <actions>
            <entity-and entity-name="CommunicationEventProduct" list="productsList">
                <field-map field-name="communicationEventId"/>
            </entity-and>
        </actions>
        <row-actions>
            <entity-one entity-name="Product" value-field="product" auto-field-map="true"/>
        </row-actions>
        <field name="communicationEventId"><hidden/></field>
        <field name="productId" title="${uiLabelMap.PartyProductId}"><display/></field>
        <field name="internalName">
            <display description="${product.internalName}"/>
        </field>
        <field name="deleteAction" title="${uiLabelMap.CommonDelete}" widget-style="${styles.link_run_sys} ${styles.action_remove}"><submit/></field>
    </form>
    <form name="AddCommProduct" type="single" target="createCommunicationEventProduct" header-row-style="header-row"> <!-- orig: default-table-style=-style="basic-table" -->
        <field name="communicationEventId"><hidden/></field>
        <field name="productId" title="${uiLabelMap.PartyProductId}"><lookup target-form-name="LookupProduct"/></field>
        <field name="submitAction" title="${uiLabelMap.PartyProductAdd}" widget-style="${styles.link_run_sys} ${styles.action_add}"><submit button-type="button"/></field>
    </form>
</forms>