Author: apatel
Date: Sat Apr 26 12:15:00 2008
New Revision: 651848
URL: http://svn.apache.org/viewvc?rev=651848&view=rev
Log:
New events and services and Forms for adding leads. Thanks Mridul Pathak,
Jyotsna Rathore, Sumit Pandit, Rathnesh, Awdesh Parihar and others for helping.
Added:
ofbiz/trunk/applications/marketing/script/org/ofbiz/sfa/lead/
ofbiz/trunk/applications/marketing/script/org/ofbiz/sfa/lead/LeadServices.xml
(with props)
ofbiz/trunk/applications/marketing/webapp/sfa/findSfaParty.ftl (with
props)
ofbiz/trunk/applications/marketing/webapp/sfa/lead/
ofbiz/trunk/applications/marketing/webapp/sfa/lead/LeadForms.xml (with
props)
ofbiz/trunk/applications/marketing/widget/sfa/LeadScreens.xml (with props)
Modified:
ofbiz/trunk/applications/marketing/config/MarketingUiLabels.xml
ofbiz/trunk/applications/marketing/data/MarketingTypeData.xml
ofbiz/trunk/applications/marketing/servicedef/services.xml
ofbiz/trunk/applications/marketing/webapp/sfa/WEB-INF/controller.xml
ofbiz/trunk/applications/marketing/widget/sfa/CommonScreens.xml
ofbiz/trunk/applications/marketing/widget/sfa/SfaMenus.xml
ofbiz/trunk/applications/party/config/PartyUiLabels.xml
ofbiz/trunk/applications/party/script/org/ofbiz/party/party/PartySimpleMethods.xml
Modified: ofbiz/trunk/applications/marketing/config/MarketingUiLabels.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/config/MarketingUiLabels.xml?rev=651848&r1=651847&r2=651848&view=diff
==============================================================================
--- ofbiz/trunk/applications/marketing/config/MarketingUiLabels.xml (original)
+++ ofbiz/trunk/applications/marketing/config/MarketingUiLabels.xml Sat Apr 26
12:15:00 2008
@@ -1125,11 +1125,23 @@
<property key="SfaCompetitors">
<value xml:lang="en">Competitors & Partners </value>
</property>
+ <property key="SfaLeadGroup">
+ <value xml:lang="en">Lead Group</value>
+ </property>
+ <property key="SfaLeadPerson">
+ <value xml:lang="en">Lead Person</value>
+ </property>
+ <property key="SfaLeadSource">
+ <value xml:lang="en">Lead Source</value>
+ </property>
<property key="SfaDocuments">
<value xml:lang="en">Documents</value>
</property>
<property key="SfaEvents">
<value xml:lang="en">Events</value>
+ </property>
+ <property key="SfaFindLeads">
+ <value xml:lang="en">Find Leads</value>
</property>
<property key="SfaForecasts">
<value xml:lang="en">Forecast</value>
Modified: ofbiz/trunk/applications/marketing/data/MarketingTypeData.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/data/MarketingTypeData.xml?rev=651848&r1=651847&r2=651848&view=diff
==============================================================================
--- ofbiz/trunk/applications/marketing/data/MarketingTypeData.xml (original)
+++ ofbiz/trunk/applications/marketing/data/MarketingTypeData.xml Sat Apr 26
12:15:00 2008
@@ -58,4 +58,6 @@
<EnumerationType description="Tracking Code Source"
enumTypeId="TRACKINGCODE_SRC" hasTable="N" parentTypeId=""/>
<Enumeration description="Cookie" enumCode="COOKIE"
enumId="TKCDSRC_COOKIE" sequenceId="01" enumTypeId="TRACKINGCODE_SRC"/>
<Enumeration description="URL Parameter" enumCode="URL_PARAM"
enumId="TKCDSRC_URL_PARAM" sequenceId="01" enumTypeId="TRACKINGCODE_SRC"/>
+
+ <DataSourceType dataSourceTypeId="LEAD_SOURCE" description="Lead Source"/>
</entity-engine-xml>
Added:
ofbiz/trunk/applications/marketing/script/org/ofbiz/sfa/lead/LeadServices.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/script/org/ofbiz/sfa/lead/LeadServices.xml?rev=651848&view=auto
==============================================================================
---
ofbiz/trunk/applications/marketing/script/org/ofbiz/sfa/lead/LeadServices.xml
(added)
+++
ofbiz/trunk/applications/marketing/script/org/ofbiz/sfa/lead/LeadServices.xml
Sat Apr 26 12:15:00 2008
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
+
+ <simple-method method-name="createLead" short-description="create Lead
Person or Lead Group">
+ <if-not-empty field-name="parameters.leadType">
+ <set field="leadType" from-field="parameters.leadType"/>
+ <else>
+ <set field="leadType" value="PERSON"/>
+ </else>
+ </if-not-empty>
+
+ <set field="parameters.roleTypeId" value="LEAD"/>
+ <if-compare field-name="leadType" operator="equals" value="PERSON">
+ <call-simple-method method-name="createPersonRoleAndContactMechs"
xml-resource="org/ofbiz/party/party/PartySimpleMethods.xml"/>
+
+ <if-not-empty field-name="parameters.partyIdFrom">
+ <set field="partyRelationshipContext.partyIdFrom"
from-field="parameters.partyIdFrom"/>
+ <set field="partyRelationshipContext.partyIdTo"
from-field="partyId"/>
+ <set field="partyRelationshipContext.roleTypeIdFrom"
value="LEAD"/>
+ <set field="partyRelationshipContext.roleTypeIdTo"
value="LEAD"/>
+ <set field="partyRelationshipContext.partyRelationshipTypeId"
value="GROUP_ROLLUP"/>
+ <call-service service-name="createPartyRelationship"
in-map-name="partyRelationshipContext"/>
+ </if-not-empty>
+ </if-compare>
+
+ <if-compare field-name="leadType" operator="equals" value="GROUP">
+ <call-simple-method
method-name="createPartyGroupRoleAndContactMechs"
xml-resource="org/ofbiz/party/party/PartySimpleMethods.xml"/>
+ </if-compare>
+
+ <if-not-empty field-name="parameters.leadSource">
+ <make-value entity-name="DataSource" value-name="dataSource"/>
+ <sequenced-id-to-env sequence-name="DataSource"
env-name="dataSourceId"/>
+ <set field="dataSource.dataSourceId" from-field="dataSourceId"/>
+ <set field="dataSource.dataSourceTypeId" value="LEAD_SOURCE"/>
+ <set field="dataSource.description"
from-field="parameters.leadSource"/>
+ <create-value value-name="dataSource"/>
+
+ <make-value entity-name="PartyDataSource"
value-name="partyDataSource"/>
+ <set field="partyDataSource.partyId" from-field="partyId"/>
+ <set field="partyDataSource.dataSourceId"
from-field="dataSourceId"/>
+ <now-timestamp-to-env env-name="nowTimestamp"/>
+ <set field="partyDataSource.fromDate" from-field="nowTimestamp"/>
+ <set field="partyDataSource.isCreate" value="Y"/>
+ <create-value value-name="partyDataSource"/>
+ </if-not-empty>
+ </simple-method>
+</simple-methods>
Propchange:
ofbiz/trunk/applications/marketing/script/org/ofbiz/sfa/lead/LeadServices.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
ofbiz/trunk/applications/marketing/script/org/ofbiz/sfa/lead/LeadServices.xml
------------------------------------------------------------------------------
svn:keywords = Date Rev Author URL Id
Propchange:
ofbiz/trunk/applications/marketing/script/org/ofbiz/sfa/lead/LeadServices.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: ofbiz/trunk/applications/marketing/servicedef/services.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/servicedef/services.xml?rev=651848&r1=651847&r2=651848&view=diff
==============================================================================
--- ofbiz/trunk/applications/marketing/servicedef/services.xml (original)
+++ ofbiz/trunk/applications/marketing/servicedef/services.xml Sat Apr 26
12:15:00 2008
@@ -384,4 +384,26 @@
<auto-attributes mode="IN" include="pk" optional="false"/>
<auto-attributes mode="IN" include="nonpk" optional="true"/>
</service>
+
+ <!-- lead services -->
+ <service name="createLead" engine="simple"
+ location="org/ofbiz/sfa/lead/LeadServices.xml" invoke="createLead">
+ <description>Create a Lead Person or Group</description>
+ <auto-attributes entity-name="Person" mode="IN" optional="true">
+ <exclude field-name="partyId"/>
+ </auto-attributes>
+ <auto-attributes entity-name="PartyGroup" mode="IN" optional="true">
+ <exclude field-name="partyId"/>
+ </auto-attributes>
+ <auto-attributes entity-name="PostalAddress" mode="IN" optional="true">
+ <exclude field-name="contactMechId"/>
+ </auto-attributes>
+ <auto-attributes entity-name="TelecomNumber" mode="IN" optional="true">
+ <exclude field-name="contactMechId"/>
+ </auto-attributes>
+ <attribute name="emailAddress" type="String" mode="IN"
optional="true"/>
+ <attribute name="partyIdFrom" type="String" mode="IN" optional="true"/>
+ <attribute name="leadType" type="String" mode="IN"
optional="false"/><!-- can be PERSON OR GROUP -->
+ <attribute name="leadSource" type="String" mode="IN" optional="true"/>
+ </service>
</services>
Modified: ofbiz/trunk/applications/marketing/webapp/sfa/WEB-INF/controller.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/webapp/sfa/WEB-INF/controller.xml?rev=651848&r1=651847&r2=651848&view=diff
==============================================================================
--- ofbiz/trunk/applications/marketing/webapp/sfa/WEB-INF/controller.xml
(original)
+++ ofbiz/trunk/applications/marketing/webapp/sfa/WEB-INF/controller.xml Sat
Apr 26 12:15:00 2008
@@ -82,6 +82,22 @@
<security https="true" auth="true"/>
<response name="success" type="view" value="ViewAccount"/>
</request-map>
+
+ <!-- Lead Requests -->
+ <request-map uri="FindLead">
+ <security https="true" auth="true"/>
+ <response name="success" type="view" value="FindLead"/>
+ </request-map>
+ <request-map uri="CreateLead">
+ <security https="true" auth="true"/>
+ <response name="success" type="view" value="CreateLead"/>
+ </request-map>
+ <request-map uri="createLead">
+ <security https="true" auth="true"/>
+ <event type="service" invoke="createLead"/>
+ <response name="success" type="view" value="FindLead"/>
+ <response name="error" type="view" value="CreateLead"/>
+ </request-map>
<!-- end of request mappings -->
<!-- View Mappings -->
@@ -93,5 +109,7 @@
<view-map name="FindAccounts" type="screen"
page="component://marketing/widget/sfa/AccountScreens.xml#FindAccounts"/>
<view-map name="NewAccounts" type="screen"
page="component://marketing/widget/sfa/AccountScreens.xml#NewAccounts"/>
<view-map name="ViewAccount" type="screen"
page="component://marketing/widget/sfa/AccountScreens.xml#ViewAccount"/>
+ <view-map name="FindLead" type="screen"
page="component://marketing/widget/sfa/LeadScreens.xml#FindLead"/>
+ <view-map name="CreateLead" type="screen"
page="component://marketing/widget/sfa/LeadScreens.xml#CreateLead"/>
<!-- end of view mappings -->
</site-conf>
Added: ofbiz/trunk/applications/marketing/webapp/sfa/findSfaParty.ftl
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/webapp/sfa/findSfaParty.ftl?rev=651848&view=auto
==============================================================================
--- ofbiz/trunk/applications/marketing/webapp/sfa/findSfaParty.ftl (added)
+++ ofbiz/trunk/applications/marketing/webapp/sfa/findSfaParty.ftl Sat Apr 26
12:15:00 2008
@@ -0,0 +1,148 @@
+<#--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<#assign extInfo = parameters.extInfo?default("N")>
+<#if roleTypeId=="LEAD">
+ <#assign currentUrl="FindLead"/>
+ <#assign title="${uiLabelMap.SfaFindLeads}">
+</#if>
+<div id="findPartyParameters" class="screenlet">
+ <div class="screenlet-title-bar">
+ <ul>
+ <li class="h3">${title?if_exists}</li>
+ <#if parameters.hideFields?default("N") == "Y">
+ <li><a
href="<@ofbizUrl>${currentUrl?if_exists}?hideFields=N${paramList}</@ofbizUrl>">${uiLabelMap.CommonShowLookupFields}</a></li>
+ <#else>
+ <#if partyList?exists><li><a
href="<@ofbizUrl>${currentUrl?if_exists}?hideFields=Y${paramList}</@ofbizUrl>">${uiLabelMap.CommonHideFields}</a></li></#if>
+ <li><a
href="javascript:document.lookupparty.submit();">${uiLabelMap.PartyLookupParty}</a></li>
+ </#if>
+ </ul>
+ <br/><br/>
+ </div>
+ <#if parameters.hideFields?default("N") != "Y">
+ <div class="screenlet-body">
+ <#-- NOTE: this form is setup to allow a search by partial partyId or
userLoginId; to change it to go directly to
+ the viewprofile page when these are entered add the follow attribute
to the form element:
+
+
onsubmit="javascript:lookupParty('<@ofbizUrl>viewprofile</@ofbizUrl>');"
+ -->
+ <form method="post" name="lookupparty"
action="<@ofbizUrl>${currentUrl?if_exists}</@ofbizUrl>" class="basic-form">
+ <input type="hidden" name="lookupFlag" value="Y"/>
+ <input type="hidden" name="hideFields" value="Y"/>
+ <input type="hidden" name="roleTypeId" value="${roleTypeId}"/>
+ <table cellspacing="0">
+ <tr>
+ <td class="label">${uiLabelMap.PartyContactInformation}</td>
+ <td>
+ <input type="radio" name="extInfo" value="N"
onclick="javascript:refreshInfo();" <#if extInfo ==
"N">checked="checked"</#if>/>${uiLabelMap.CommonNone}
+ <input type="radio" name="extInfo" value="P"
onclick="javascript:refreshInfo();" <#if extInfo ==
"P">checked="checked"</#if>/>${uiLabelMap.PartyPostal}
+ <input type="radio" name="extInfo" value="T"
onclick="javascript:refreshInfo();" <#if extInfo ==
"T">checked="checked"</#if>/>${uiLabelMap.PartyTelecom}
+ <input type="radio" name="extInfo" value="O"
onclick="javascript:refreshInfo();" <#if extInfo ==
"O">checked="checked"</#if>/>${uiLabelMap.CommonOther}
+ </td>
+ </tr>
+ <tr>
+ <td class="label">${uiLabelMap.PartyPartyId}</td>
+ <td><input type="text" name="partyId"
value="${parameters.partyId?if_exists}"/></td>
+ </tr>
+ <tr>
+ <td class="label">${uiLabelMap.PartyLastName}</td>
+ <td><input type="text" name="lastName"
value="${parameters.lastName?if_exists}"/></td>
+ </tr>
+ <tr>
+ <td class="label">${uiLabelMap.PartyFirstName}</td>
+ <td><input type="text" name="firstName"
value="${parameters.firstName?if_exists}"/></td>
+ </tr>
+ <tr>
+ <td class="label">${uiLabelMap.PartyPartyGroupName}</td>
+ <td><input type="text" name="groupName"
value="${parameters.groupName?if_exists}"/></td>
+ </tr>
+ <#if extInfo == "P">
+ <tr><td colspan="3"><hr/></td></tr>
+ <tr>
+ <td class="label">${uiLabelMap.CommonAddress1}</td>
+ <td><input type="text" name="address1"
value="${parameters.address1?if_exists}"/></td>
+ </tr>
+ <tr>
+ <td class="label">${uiLabelMap.CommonAddress2}</td>
+ <td><input type="text" name="address2"
value="${parameters.address2?if_exists}"/></td>
+ </tr>
+ <tr>
+ <td class="label">${uiLabelMap.CommonCity}</td>
+ <td><inputmsg type="text" name="city"
value="${parameters.city?if_exists}"/></td>
+ </tr>
+ <tr>
+ <td class="label">${uiLabelMap.CommonStateProvince}</td>
+ <td>
+ <select name="stateProvinceGeoId">
+ <#if currentStateGeo?has_content>
+ <option
value="${currentStateGeo.geoId}">${currentStateGeo.geoName?default(currentStateGeo.geoId)}</option>
+ <option value="${currentStateGeo.geoId}">---</option>
+ </#if>
+ <option
value="ANY">${uiLabelMap.CommonAnyStateProvince}</option>
+
${screens.render("component://common/widget/CommonScreens.xml#states")}
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td class="label">${uiLabelMap.PartyPostalCode}</td>
+ <td><input type="text" name="postalCode"
value="${parameters.postalCode?if_exists}"/></td>
+ </tr>
+ </#if>
+ <#if extInfo == "T">
+ <tr><td colspan="3"><hr/></td></tr>
+ <tr>
+ <td class="label">${uiLabelMap.PartyCountryCode}</td>
+ <td><input type="text" name="countryCode"
value="${parameters.countryCode?if_exists}"/></td>
+ </tr>
+ <tr>
+ <td class="label">${uiLabelMap.PartyAreaCode}</td>
+ <td><input type="text" name="areaCode"
value="${parameters.areaCode?if_exists}"/></td>
+ </tr>
+ <tr>
+ <td class="label">${uiLabelMap.PartyContactNumber}</td>
+ <td><input type="text" name="contactNumber"
value="${parameters.contactNumber?if_exists}"/></td>
+ </tr>
+ </#if>
+ <#if extInfo == "O">
+ <tr><td colspan="3"><hr/></td></tr>
+ <tr>
+ <td class="label">${uiLabelMap.PartyContactInformation}</td>
+ <td><input type="text" name="infoString"
value="${parameters.infoString?if_exists}"/></td>
+ </tr>
+ </#if>
+ <tr><td colspan="3"><hr/></td></tr>
+ <tr align="center">
+ <td> </td>
+ <td>
+ <input type="submit" value="${uiLabelMap.PartyLookupParty}"
onClick="javascript:document.lookupparty.submit();"/>
+ </td>
+ </tr>
+ </table>
+ </form>
+ </div>
+ </#if>
+</div>
+
+<#if parameters.hideFields?default("N") != "Y">
+ <script language="JavaScript" type="text/javascript">
+ <!--//
+ document.lookupparty.partyId.focus();
+ //-->
+ </script>
+</#if>
Propchange: ofbiz/trunk/applications/marketing/webapp/sfa/findSfaParty.ftl
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/applications/marketing/webapp/sfa/findSfaParty.ftl
------------------------------------------------------------------------------
svn:keywords = Date Rev Author URL Id
Propchange: ofbiz/trunk/applications/marketing/webapp/sfa/findSfaParty.ftl
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: ofbiz/trunk/applications/marketing/webapp/sfa/lead/LeadForms.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/webapp/sfa/lead/LeadForms.xml?rev=651848&view=auto
==============================================================================
--- ofbiz/trunk/applications/marketing/webapp/sfa/lead/LeadForms.xml (added)
+++ ofbiz/trunk/applications/marketing/webapp/sfa/lead/LeadForms.xml Sat Apr 26
12:15:00 2008
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd">
+
+ <form name="ListLeads" type="list" list-name="partyList"
list-entry-name="partyRow" paginate-target="FindLead">
+ <row-actions>
+ <entity-one entity-name="PartyGroup" value-name="partyGroup">
+ <field-map field-name="partyId" env-name="partyRow.partyId"/>
+ </entity-one>
+ <entity-one entity-name="Person" value-name="person">
+ <field-map field-name="partyId" env-name="partyRow.partyId"/>
+ </entity-one>
+ <entity-one entity-name="PartyType" value-name="partyType">
+ <field-map field-name="partyTypeId"
env-name="partyRow.partyTypeId"/>
+ </entity-one>
+ </row-actions>
+ <field name="partyId" title="${uiLabelMap.PartyPartyId}">
+ <hyperlink
target="/partymgr/control/viewprofile?partyId=${partyRow.partyId}"
description="${partyRow.partyId}" target-type="inter-app"/>
+ </field>
+ <field name="partyName" title="${uiLabelMap.PartyName}"
use-when="partyGroup != null"><display
description="${partyGroup.groupName}"/></field>
+ <field name="partyName" title="${uiLabelMap.PartyName}"
use-when="person != null"><display description="${person.lastName},
${person.firstName}"/></field>
+ <field name="partyTypeId" title="${uiLabelMap.PartyType}"><display
description="${partyType.description}"/> </field>
+ </form>
+ <form name="createLead" type="single" target="createLead"
header-row-style="header-row" default-table-style="basic-table">
+ <field name="leadType"><hidden value="${leadType}"/></field>
+ <field name="firstName" use-when="leadType.equals("PERSON")"
tooltip="${uiLabelMap.CommonRequired}" widget-style="required"><text/></field>
+ <field name="lastName" use-when="leadType.equals("PERSON")"
tooltip="${uiLabelMap.CommonRequired}" widget-style="required"><text/></field>
+ <field name="suffix"
use-when="leadType.equals("PERSON")"><text/></field>
+ <field name="groupName" use-when="leadType.equals("GROUP")"
title="${uiLabelMap.PartyGroupName}" tooltip="${uiLabelMap.CommonRequired}"
widget-style="required"><text size="30" maxlength="60"/></field>
+ <field name="numEmployees"
use-when="leadType.equals("GROUP")"
title="${uiLabelMap.MarketingEmployees}"><text size="30"/></field>
+ <field name="siteName" use-when="leadType.equals("GROUP")"
title="${uiLabelMap.FormFieldTitle_officeSiteName}"><text size="30"
maxlength="60"/></field>
+ <field name="postalAddressTitle"
title="${uiLabelMap.PartyGeneralCorrespondenceAddress}"
title-area-style="group-label"><display description=" "
also-hidden="false"/></field>
+ <field name="address1" title="${uiLabelMap.CommonAddress1}"
tooltip="${uiLabelMap.CommonRequired}" widget-style="required"><text size="50"
maxlength="60"/></field>
+ <field name="address2" title="${uiLabelMap.CommonAddress2}"><text
size="50" maxlength="60"/></field>
+ <field name="city" title="${uiLabelMap.CommonCity}"
tooltip="${uiLabelMap.CommonRequired}" widget-style="required"><text size="30"
maxlength="60"/></field>
+ <field name="state" title="${uiLabelMap.CommonState}"
tooltip="${uiLabelMap.CommonRequired}" widget-style="required">
+ <drop-down allow-empty="true">
+ <entity-options entity-name="Geo" key-field-name="geoId"
description="${geoId} - ${geoName}">
+ <entity-constraint name="geoTypeId" operator="in"
value="STATE,PROVINCE"/>
+ <entity-order-by field-name="geoId"/>
+ </entity-options>
+ </drop-down>
+ </field>
+ <field name="postalCode" title="${uiLabelMap.CommonZipPostalCode}"
tooltip="${uiLabelMap.CommonRequired}" widget-style="required"><text size="10"
maxlength="30"/></field>
+ <field name="country" title="${uiLabelMap.CommonCountry}"
tooltip="${uiLabelMap.CommonRequired}" widget-style="required">
+ <drop-down allow-empty="false"
no-current-selected-key="${defaultCountryGeoId}">
+ <entity-options entity-name="Geo" key-field-name="geoId"
description="${geoId}: ${geoName}">
+ <entity-constraint name="geoTypeId" value="COUNTRY"/>
+ <entity-order-by field-name="geoId"/>
+ </entity-options>
+ </drop-down>
+ </field>
+ <field name="phoneTitle" title="${uiLabelMap.PartyPrimaryPhone}"
title-area-style="group-label"><display/></field>
+ <field name="countryCode" title="${uiLabelMap.PartyCountryCode}"><text
size="4" maxlength="10"/></field>
+ <field name="areaCode" title="${uiLabelMap.PartyAreaCode}"><text
size="4" maxlength="10"/></field>
+ <field name="contactNumber"
title="${uiLabelMap.PartyPhoneNumber}"><text size="15" maxlength="15"/></field>
+ <field name="extensionCode"
title="${uiLabelMap.PartyContactExt}"><text size="6" maxlength="10"/></field>
+ <field name="emailAddressTitle"
title="${uiLabelMap.PartyEmailAddress}"
title-area-style="group-label"><display/></field>
+ <field name="emailAddress" title="${uiLabelMap.CommonEmail}"><text
size="50" maxlength="60"/></field>
+ <field name="leadSourceTitle" title="${uiLabelMap.SfaLeadSource}"
title-area-style="group-label"><display/></field>
+ <field name="leadSource" title="${uiLabelMap.SfaLeadSource}"><text
size="50" maxlength="60"/></field>
+ <field name="leadGroupTitle" title="${uiLabelMap.SfaLeadGroup}"
use-when="leadType.equals("PERSON")"
title-area-style="group-label"><display/></field>
+ <field name="partyIdFrom" title="Lead Group"
use-when="leadType.equals("PERSON")">
+ <drop-down allow-empty="true">
+ <entity-options entity-name="PartyRoleAndPartyDetail"
description="${groupName} [${partyId}]" key-field-name="partyId">
+ <entity-constraint name="roleTypeId" operator="equals"
value="LEAD"/>
+ <entity-constraint name="partyTypeId" operator="equals"
value="PARTY_GROUP"/>
+ </entity-options>
+ </drop-down>
+</field>
+ <field name="submitButton" title="${uiLabelMap.CommonSave}"
widget-style="smallSubmit"><submit button-type="button"/></field>
+ </form>
+</forms>
Propchange: ofbiz/trunk/applications/marketing/webapp/sfa/lead/LeadForms.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/applications/marketing/webapp/sfa/lead/LeadForms.xml
------------------------------------------------------------------------------
svn:keywords = Date Rev Author URL Id
Propchange: ofbiz/trunk/applications/marketing/webapp/sfa/lead/LeadForms.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: ofbiz/trunk/applications/marketing/widget/sfa/CommonScreens.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/widget/sfa/CommonScreens.xml?rev=651848&r1=651847&r2=651848&view=diff
==============================================================================
--- ofbiz/trunk/applications/marketing/widget/sfa/CommonScreens.xml (original)
+++ ofbiz/trunk/applications/marketing/widget/sfa/CommonScreens.xml Sat Apr 26
12:15:00 2008
@@ -29,6 +29,8 @@
<property-map resource="PartyUiLabels" map-name="uiLabelMap"
global="true"/>
<property-map resource="OrderUiLabels" map-name="uiLabelMap"
global="true"/>
<property-map resource="MarketingUiLabels"
map-name="uiLabelMap" global="true"/>
+ <set field="layoutSettings.javaScripts[]"
value="/partymgr/static/partymgr.js" global="true"/>
+ <set field="layoutSettings.styleSheets[]"
value="/partymgr/static/partymgr.css" global="true"/>
<set field="layoutSettings.companyName"
from-field="uiLabelMap.SfaCompanyName" global="true"/>
<set field="layoutSettings.companySubtitle"
from-field="uiLabelMap.MarketingCompanySubtitle" global="true"/>
<set field="applicationMenuName" value="SfaAppBar"
global="true"/>
Added: ofbiz/trunk/applications/marketing/widget/sfa/LeadScreens.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/widget/sfa/LeadScreens.xml?rev=651848&view=auto
==============================================================================
--- ofbiz/trunk/applications/marketing/widget/sfa/LeadScreens.xml (added)
+++ ofbiz/trunk/applications/marketing/widget/sfa/LeadScreens.xml Sat Apr 26
12:15:00 2008
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd">
+
+ <screen name="FindLead">
+ <section>
+ <actions>
+ <set field="roleTypeId" value="LEAD"/>
+ </actions>
+ <widgets>
+ <decorator-screen name="main-decorator"
location="${parameters.mainDecoratorLocation}">
+ <decorator-section name="body">
+ <section>
+ <actions>
+ <service service-name="findParty"
auto-field-map="true"/>
+ </actions>
+ <widgets>
+ <container><link
target="CreateLead?leadType=PERSON" text="${uiLabelMap.CommonCreate}
${uiLabelMap.SfaLeadPerson}" style="buttontext"/><link
target="CreateLead?leadType=GROUP" text="${uiLabelMap.CommonCreate}
${uiLabelMap.SfaLeadGroup}" style="buttontext"/></container>
+ <section>
+ <widgets>
+ <platform-specific>
+ <html><html-template
location="component://marketing/webapp/sfa/findSfaParty.ftl"/></html>
+ </platform-specific>
+ <container style="screenlet">
+ <container
style="screenlet-title-bar">
+ <container style="h3">
+ <label
text="${uiLabelMap.SfaFindResults}"/>
+ </container>
+ </container>
+ <container style="screenlet-body">
+ <section>
+ <condition>
+ <not>
+ <if-empty
field-name="partyList"/>
+ </not>
+ </condition>
+ <widgets>
+ <include-form
name="ListLeads"
location="component://marketing/webapp/sfa/lead/LeadForms.xml"/>
+ </widgets>
+ <fail-widgets>
+ <container style="h3">
+ <label
text="${uiLabelMap.PartyNoPartiesFound}"/>
+ </container>
+ </fail-widgets>
+ </section>
+ </container>
+ </container>
+ </widgets>
+ </section>
+ </widgets>
+ </section>
+ </decorator-section>
+ </decorator-screen>
+ </widgets>
+ </section>
+ </screen>
+ <screen name="CreateLead">
+ <section>
+ <actions>
+ <set field="titleProperty" value="PageTitleCreateLead"/>
+ <set field="leadType" from-field="parameters.leadType"/>
+ </actions>
+ <widgets>
+ <decorator-screen name="main-decorator"
location="${parameters.mainDecoratorLocation}">
+ <decorator-section name="body">
+ <container style="screenlet">
+ <container style="screenlet-title-bar">
+ <container style="h3">
+ <section>
+ <condition>
+ <if-compare value="PERSON"
field-name="leadType" operator="equals"/>
+ </condition>
+ <widgets>
+ <label
text="${uiLabelMap.CommonCreate} ${uiLabelMap.SfaLeadPerson}"/>
+ </widgets>
+ <fail-widgets>
+ <label
text="${uiLabelMap.CommonCreate} ${uiLabelMap.SfaLeadGroup}"/>
+ </fail-widgets>
+ </section>
+ </container>
+ </container>
+ <container style="screenlet-body">
+ <section>
+ <widgets>
+ <include-form name="createLead"
location="component://marketing/webapp/sfa/lead/LeadForms.xml"/>
+ </widgets>
+ </section>
+ </container>
+ </container>
+ </decorator-section>
+ </decorator-screen>
+ </widgets>
+ </section>
+ </screen>
+</screens>
Propchange: ofbiz/trunk/applications/marketing/widget/sfa/LeadScreens.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/applications/marketing/widget/sfa/LeadScreens.xml
------------------------------------------------------------------------------
svn:keywords = Date Rev Author URL Id
Propchange: ofbiz/trunk/applications/marketing/widget/sfa/LeadScreens.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: ofbiz/trunk/applications/marketing/widget/sfa/SfaMenus.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/widget/sfa/SfaMenus.xml?rev=651848&r1=651847&r2=651848&view=diff
==============================================================================
--- ofbiz/trunk/applications/marketing/widget/sfa/SfaMenus.xml (original)
+++ ofbiz/trunk/applications/marketing/widget/sfa/SfaMenus.xml Sat Apr 26
12:15:00 2008
@@ -23,7 +23,7 @@
<menu-item name="Main" title="${uiLabelMap.MarketingMainPage}"><link
target="main"/></menu-item>
<menu-item name="Accounts" title="${uiLabelMap.SfaAcccounts}"><link
target="FindAccounts"/></menu-item>
<menu-item name="Contacts" title="${uiLabelMap.SfaContacts}"><link
target=""/></menu-item>
- <menu-item name="Leads" title="${uiLabelMap.SfaLeads}"><link
target=""/></menu-item>
+ <menu-item name="Leads" title="${uiLabelMap.SfaLeads}"><link
target="FindLead"/></menu-item>
<menu-item name="Competitors"
title="${uiLabelMap.SfaCompetitors}"><link target=""/></menu-item>
<menu-item name="Events" title="${uiLabelMap.SfaEvents}"><link
target=""/></menu-item>
<menu-item name="Documents" title="${uiLabelMap.SfaDocuments}"><link
target=""/></menu-item>
@@ -50,4 +50,4 @@
<menu-item name="viewAccount"
title="${uiLabelMap.PageTitleAccountSummary}"><link
target="ViewAccount?partyId=${partyId}"/></menu-item>
<menu-item name="editAccount"
title="${uiLabelMap.PageTitleEditAccount}"><link target=""/></menu-item>
</menu>
-</menus>
\ No newline at end of file
+</menus>
Modified: ofbiz/trunk/applications/party/config/PartyUiLabels.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/config/PartyUiLabels.xml?rev=651848&r1=651847&r2=651848&view=diff
==============================================================================
--- ofbiz/trunk/applications/party/config/PartyUiLabels.xml (original)
+++ ofbiz/trunk/applications/party/config/PartyUiLabels.xml Sat Apr 26 12:15:00
2008
@@ -3406,6 +3406,15 @@
<value xml:lang="th">à¹à¸à¸¨</value>
<value xml:lang="zh">æ§å«</value>
</property>
+ <property key="PartyGeneralCorrespondenceAddress">
+ <value xml:lang="en">General Correspondence Address</value>
+ <value xml:lang="fr">Adresse principale</value>
+ <value xml:lang="it">Indirizzo Generale Corrispondenza</value>
+ <value xml:lang="ro">Adresa Generala Corespondenta</value>
+ <value xml:lang="ru">ÐдÑÐµÑ Ð´Ð»Ñ
коÑÑеÑпонденÑии</value>
+ <value
xml:lang="th">à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸±à¹à¸§à¹à¸à¸à¸µà¹à¸à¸´à¸à¸à¹à¸à¸à¸±à¸à¸à¸²à¸à¸à¸à¸«à¸¡à¸²à¸¢</value>
+ <value xml:lang="zh">éä¿¡å°å</value>
+ </property>
<property key="PartyGoToParent">
<value xml:lang="en">Go to Parent</value>
<value xml:lang="th">à¹à¸à¸¢à¸±à¸à¸à¸¹à¹à¸à¸¹à¹à¸¥</value>
@@ -5048,6 +5057,15 @@
<value xml:lang="ru">Цена</value>
<value xml:lang="th">ราà¸à¸²</value>
<value xml:lang="zh">ä»·æ ¼</value>
+ </property>
+ <property key="PartyPrimaryPhone">
+ <value xml:lang="en">Primary Phone Number</value>
+ <value xml:lang="fr">Numéro de téléphone principal</value>
+ <value xml:lang="it">Numero Telefono Principale</value>
+ <value xml:lang="ro">Numero Telefon Principal</value>
+ <value xml:lang="ru">ÐÑновной ÑелеÑоннÑй
номеÑ</value>
+ <value
xml:lang="th">à¹à¸à¸à¸£à¹à¹à¸à¸£à¸¨à¸±à¸à¸à¹à¸à¸µà¹à¸ªà¸³à¸à¸±à¸</value>
+ <value xml:lang="zh">第ä¸ä¸ªçµè¯å·ç </value>
</property>
<property key="PartyProduct">
<value xml:lang="en">Product</value>
Modified:
ofbiz/trunk/applications/party/script/org/ofbiz/party/party/PartySimpleMethods.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/script/org/ofbiz/party/party/PartySimpleMethods.xml?rev=651848&r1=651847&r2=651848&view=diff
==============================================================================
---
ofbiz/trunk/applications/party/script/org/ofbiz/party/party/PartySimpleMethods.xml
(original)
+++
ofbiz/trunk/applications/party/script/org/ofbiz/party/party/PartySimpleMethods.xml
Sat Apr 26 12:15:00 2008
@@ -91,4 +91,143 @@
<field-to-result field-name="newUserLogin"/>
<field-to-result field-name="createUlInMap.partyId"
result-name="partyId"/>
</simple-method>
+
+ <!-- Simple method to create a person, its role and basic contact mechs -->
+ <simple-method method-name="createPersonRoleAndContactMechs"
short-description="Creates a person, role and contactMechs">
+ <call-map-processor processor-name="person" in-map-name="parameters"
out-map-name="personContext"
+ xml-resource="org/ofbiz/party/party/PartyMapProcs.xml"/>
+
+ <call-map-processor processor-name="postalAddress"
in-map-name="parameters" out-map-name="postalAddressContext"
+
xml-resource="org/ofbiz/party/contact/PartyContactMechMapProcs.xml"/>
+
+ <if-not-empty field-name="parameters.contactNumber">
+ <call-map-processor processor-name="telecomNumber"
in-map-name="parameters" out-map-name="telecomNumberContext"
+
xml-resource="org/ofbiz/party/contact/PartyContactMechMapProcs.xml"/>
+ </if-not-empty>
+
+ <if-not-empty field-name="parameters.emailAddress">
+ <call-map-processor in-map-name="parameters"
out-map-name="emailAddressContext">
+ <simple-map-processor name="emailAddress">
+ <process field="emailAddress">
+ <copy/>
+ <validate-method method="isEmail"><fail-property
resource="PartyUiLabels"
property="PartyEmailAddressNotFormattedCorrectly"/></validate-method>
+ </process>
+ </simple-map-processor>
+ </call-map-processor>
+ </if-not-empty>
+ <check-errors/>
+
+ <call-service service-name="createPerson" in-map-name="personContext">
+ <result-to-field result-name="partyId" field-name="partyId"/>
+ </call-service>
+
+ <if-not-empty field-name="parameters.roleTypeId">
+ <set field="createPartyRoleCtx.partyId" from-field="partyId"/>
+ <set field="createPartyRoleCtx.roleTypeId"
from-field="parameters.roleTypeId"/>
+ <call-service service-name="createPartyRole"
in-map-name="createPartyRoleCtx"/>
+ </if-not-empty>
+
+ <set field="postalAddContactMechPurpTypeId"
from-field="parameters.postalAddContactMechPurpTypeId"/>
+ <set field="contactNumber" from-field="parameters.contactNumber"/>
+ <set field="phoneContactMechPurpTypeId"
from-field="parameters.phoneContactMechPurpTypeId"/>
+ <set field="emailAddress" from-field="parameters.emailAddress"/>
+ <set field="emailContactMechPurpTypeId"
from-field="parameters.emailContactMechPurpTypeId"/>
+ <call-simple-method method-name="createPartyContactMechs"/>
+ </simple-method>
+
+ <!-- Simple method to create a party group, its role and basic contact
mechs -->
+ <simple-method method-name="createPartyGroupRoleAndContactMechs"
short-description="Creates a party group, role and contactMechs">
+ <call-map-processor processor-name="partyGroup"
in-map-name="parameters" out-map-name="partyGroupContext"
+ xml-resource="org/ofbiz/party/party/PartyMapProcs.xml"/>
+
+ <call-map-processor processor-name="postalAddress"
in-map-name="parameters" out-map-name="postalAddressContext"
+
xml-resource="org/ofbiz/party/contact/PartyContactMechMapProcs.xml"/>
+
+ <if-not-empty field-name="parameters.contactNumber">
+ <call-map-processor processor-name="telecomNumber"
in-map-name="parameters" out-map-name="telecomNumberContext"
+
xml-resource="org/ofbiz/party/contact/PartyContactMechMapProcs.xml"/>
+ </if-not-empty>
+
+ <if-not-empty field-name="parameters.emailAddress">
+ <call-map-processor in-map-name="parameters"
out-map-name="emailAddressContext">
+ <simple-map-processor name="emailAddress">
+ <process field="emailAddress">
+ <copy/>
+ <validate-method method="isEmail"><fail-property
resource="PartyUiLabels"
property="PartyEmailAddressNotFormattedCorrectly"/></validate-method>
+ </process>
+ </simple-map-processor>
+ </call-map-processor>
+ </if-not-empty>
+ <check-errors/>
+
+ <set field="partyGroupContext.partyTypeId" value="PARTY_GROUP"/>
+ <call-service service-name="createPartyGroup"
in-map-name="partyGroupContext">
+ <result-to-field result-name="partyId" field-name="partyId"/>
+ </call-service>
+
+ <if-not-empty field-name="parameters.roleTypeId">
+ <set field="createPartyRoleCtx.partyId" from-field="partyId"/>
+ <set field="createPartyRoleCtx.roleTypeId"
from-field="parameters.roleTypeId"/>
+ <call-service service-name="createPartyRole"
in-map-name="createPartyRoleCtx"/>
+ </if-not-empty>
+
+ <set field="postalAddContactMechPurpTypeId"
from-field="parameters.postalAddContactMechPurpTypeId"/>
+ <set field="contactNumber" from-field="parameters.contactNumber"/>
+ <set field="phoneContactMechPurpTypeId"
from-field="parameters.phoneContactMechPurpTypeId"/>
+ <set field="emailAddress" from-field="parameters.emailAddress"/>
+ <set field="emailContactMechPurpTypeId"
from-field="parameters.emailContactMechPurpTypeId"/>
+ <call-simple-method method-name="createPartyContactMechs"/>
+ </simple-method>
+
+ <!-- Simple method to create Party Postal Address, Telecom Number and
Email Address, to be used by
+ createPersonRoleAndContactMechs and
createPartyGroupRoleAndContactMechs simple methods -->
+ <simple-method method-name="createPartyContactMechs"
short-description="Create Contact Mechs">
+ <!-- Create Party Postal Address and set purpose -->
+ <set field="postalAddressContext.partyId" from-field="partyId"/>
+ <call-service service-name="createPartyPostalAddress"
in-map-name="postalAddressContext">
+ <result-to-field result-name="contactMechId"
field-name="addressContactMechId"/>
+ </call-service>
+
+ <set field="postalAddressPurposeCtx.partyId" from-field="partyId"/>
+ <set field="postalAddressPurposeCtx.contactMechId"
from-field="addressContactMechId"/>
+ <set field="postalAddressPurposeCtx.contactMechPurposeTypeId"
value="GENERAL_LOCATION"/>
+ <call-service service-name="createPartyContactMechPurpose"
in-map-name="postalAddressPurposeCtx"/>
+
+ <if-not-empty field-name="postalAddContactMechPurpTypeId">
+ <set field="postalAddressPurposeCtx.contactMechPurposeTypeId"
from-field="postalAddContactMechPurpTypeId"/>
+ <call-service service-name="createPartyContactMechPurpose"
in-map-name="postalAddressPurposeCtx"/>
+ </if-not-empty>
+
+ <!-- Create Party Telecom Number and set purpose -->
+ <if-not-empty field-name="contactNumber">
+ <set field="telecomNumberContext.partyId" from-field="partyId"/>
+ <call-service service-name="createPartyTelecomNumber"
in-map-name="telecomNumberContext">
+ <result-to-field result-name="contactMechId"
field-name="phoneContactMechId"/>
+ </call-service>
+
+ <set field="phonePurposeContext.partyId" from-field="partyId"/>
+ <set field="phonePurposeContext.contactMechId"
from-field="phoneContactMechId"/>
+ <set field="phonePurposeContext.contactMechPurposeTypeId"
from-field="phoneContactMechPurpTypeId"/>
+ <if-empty
field-name="phonePurposeContext.contactMechPurposeTypeId">
+ <set field="phonePurposeContext.contactMechPurposeTypeId"
value="PRIMARY_PHONE"/>
+ </if-empty>
+ <call-service service-name="createPartyContactMechPurpose"
in-map-name="phonePurposeContext"/>
+ </if-not-empty>
+
+ <!-- Create Party Email Address and set purpose -->
+ <if-not-empty field-name="emailAddress">
+ <set field="emailAddressContext.partyId" from-field="partyId"/>
+ <call-service service-name="createPartyEmailAddress"
in-map-name="emailAddressContext">
+ <result-to-field result-name="contactMechId"
field-name="emailContactMechId"/>
+ </call-service>
+
+ <set field="emailPurposeContext.partyId" from-field="partyId"/>
+ <set field="emailPurposeContext.contactMechId"
from-field="emailContactMechId"/>
+ <set field="emailPurposeContext.contactMechPurposeTypeId"
from-field="emailContactMechPurpTypeId"/>
+ <if-empty
field-name="emailPurposeContext.contactMechPurposeTypeId">
+ <set field="emailPurposeContext.contactMechPurposeTypeId"
value="PRIMARY_EMAIL"/>
+ </if-empty>
+ <call-service service-name="createPartyContactMechPurpose"
in-map-name="emailPurposeContext"/>
+ </if-not-empty>
+ </simple-method>
</simple-methods>