You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by mo...@apache.org on 2009/06/30 15:11:18 UTC
svn commit: r789702 - in /ofbiz/trunk/applications: marketing/config/
marketing/data/ marketing/webapp/sfa/party/ party/data/ party/servicedef/
party/src/org/ofbiz/party/party/
Author: mor
Date: Tue Jun 30 13:11:18 2009
New Revision: 789702
URL: http://svn.apache.org/viewvc?rev=789702&view=rev
Log:
Set up demo data for managing sales activities by lead managers of an organization. Now lead owners/managers can be grouped into a team and members of this team can work
on leads own by other members.
Modified:
ofbiz/trunk/applications/marketing/config/MarketingUiLabels.xml
ofbiz/trunk/applications/marketing/data/sfaDemoData.xml
ofbiz/trunk/applications/marketing/webapp/sfa/party/findSfaParty.ftl
ofbiz/trunk/applications/party/data/PartyTypeData.xml
ofbiz/trunk/applications/party/servicedef/services_view.xml
ofbiz/trunk/applications/party/src/org/ofbiz/party/party/PartyServices.java
Modified: ofbiz/trunk/applications/marketing/config/MarketingUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/config/MarketingUiLabels.xml?rev=789702&r1=789701&r2=789702&view=diff
==============================================================================
--- ofbiz/trunk/applications/marketing/config/MarketingUiLabels.xml (original)
+++ ofbiz/trunk/applications/marketing/config/MarketingUiLabels.xml Tue Jun 30 13:11:18 2009
@@ -1869,6 +1869,9 @@
<value xml:lang="fr">Sélectionner un compte existant ou laissez un espace vide pour créer un nouveau compte"</value>
<value xml:lang="it">Selezione entrambi utente esistente o lasciare vuoto per creare un nuovo utente</value>
</property>
+ <property key="SfaSelectLeadOwners">
+ <value xml:lang="en">Select Lead Owners</value>
+ </property>
<property key="SfaType">
<value xml:lang="de">Art</value>
<value xml:lang="en">Type</value>
Modified: ofbiz/trunk/applications/marketing/data/sfaDemoData.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/data/sfaDemoData.xml?rev=789702&r1=789701&r2=789702&view=diff
==============================================================================
--- ofbiz/trunk/applications/marketing/data/sfaDemoData.xml (original)
+++ ofbiz/trunk/applications/marketing/data/sfaDemoData.xml Tue Jun 30 13:11:18 2009
@@ -54,6 +54,68 @@
<PartyContactMechPurpose partyId="sfa101" contactMechId="sfa103" contactMechPurposeTypeId="PRIMARY_EMAIL" fromDate="2000-01-01 00:00:00.000"/>
<!-- Status Valid Change -->
<StatusValidChange statusId="PARTY_ENABLED" statusIdTo="LEAD_CONVERTED" transitionName="Convert Lead To Contact"/>
-</entity-engine-xml>
+
+ <!-- Demo Leads -->
+ <Party partyId="DemoLead" partyTypeId="PERSON" statusId="PARTY_ENABLED"/>
+ <Person partyId="DemoLead" firstName="Demo" lastName="Lead"/>
+ <PartyRole partyId="DemoLead" roleTypeId="_NA_"/>
+ <PartyRole partyId="DemoLead" roleTypeId="LEAD"/>
+
+ <Party partyId="DemoLead1" partyTypeId="PERSON" statusId="PARTY_ENABLED"/>
+ <Person partyId="DemoLead1" firstName="Demo" lastName="Lead1"/>
+ <PartyRole partyId="DemoLead1" roleTypeId="_NA_"/>
+ <PartyRole partyId="DemoLead1" roleTypeId="LEAD"/>
+ <Party partyId="DemoLead2" partyTypeId="PERSON" statusId="PARTY_ENABLED"/>
+ <Person partyId="DemoLead2" firstName="Demo" lastName="Lead2"/>
+ <PartyRole partyId="DemoLead2" roleTypeId="_NA_"/>
+ <PartyRole partyId="DemoLead2" roleTypeId="LEAD"/>
+
+ <Party partyId="DemoLead3" partyTypeId="PERSON" statusId="PARTY_ENABLED"/>
+ <Person partyId="DemoLead3" firstName="Demo" lastName="Lead3"/>
+ <PartyRole partyId="DemoLead3" roleTypeId="_NA_"/>
+ <PartyRole partyId="DemoLead3" roleTypeId="LEAD"/>
+ <Party partyId="DemoLead4" partyTypeId="PERSON" statusId="PARTY_ENABLED"/>
+ <Person partyId="DemoLead4" firstName="Demo" lastName="Lead4"/>
+ <PartyRole partyId="DemoLead4" roleTypeId="_NA_"/>
+ <PartyRole partyId="DemoLead4" roleTypeId="LEAD"/>
+
+ <!-- Lead Owners Team -->
+ <Party partyId="DemoLeadOwnersGroup" partyTypeId="TEAM" statusId="PARTY_ENABLED"/>
+ <PartyGroup partyId="DemoLeadOwnersGroup" groupName="A Group of Lead Owners"/>
+ <PartyRole partyId="DemoLeadOwnersGroup" roleTypeId="_NA_"/>
+ <PartyRole partyId="DemoLeadOwnersGroup" roleTypeId="INTERNAL_ORGANIZATIO"/>
+ <PartyRelationship partyIdFrom="Company" partyIdTo="DemoLeadOwnersGroup" partyRelationshipTypeId="GROUP_ROLLUP" roleTypeIdFrom="_NA_" roleTypeIdTo="_NA_" fromDate="2001-05-13 00:00:00.000"/>
+
+ <!-- Demo Lead Owners -->
+ <Party partyId="DemoLeadOwner" partyTypeId="PERSON" statusId="PARTY_ENABLED"/>
+ <Person partyId="DemoLeadOwner" firstName="Demo" lastName="LeadOwner"/>
+ <PartyRole partyId="DemoLeadOwner" roleTypeId="_NA_"/>
+ <PartyRole partyId="DemoLeadOwner" roleTypeId="OWNER"/>
+ <PartyRelationship partyIdFrom="Company" roleTypeIdFrom="_NA_" partyIdTo="DemoLeadOwner" roleTypeIdTo="_NA_" partyRelationshipTypeId="EMPLOYMENT" fromDate="2000-01-01 00:00:00"/>
+ <UserLogin userLoginId="DemoLeadOwner" currentPassword="{SHA}47ca69ebb4bdc9ae0adec130880165d2cc05db1a" partyId="DemoLeadOwner" enabled="Y"/>
+ <!-- FIXME: Establish SecurityGroup for SFA. This user should have access only to SFA -->
+ <UserLoginSecurityGroup groupId="FULLADMIN" userLoginId="DemoLeadOwner" fromDate="2001-05-13 00:00:00.000"/>
+
+ <Party partyId="DemoLeadOwner1" partyTypeId="PERSON" statusId="PARTY_ENABLED"/>
+ <Person partyId="DemoLeadOwner1" firstName="Demo" lastName="LeadOwner1"/>
+ <PartyRole partyId="DemoLeadOwner1" roleTypeId="_NA_"/>
+ <PartyRole partyId="DemoLeadOwner1" roleTypeId="OWNER"/>
+ <PartyRelationship partyIdFrom="Company" roleTypeIdFrom="_NA_" partyIdTo="DemoLeadOwner1" roleTypeIdTo="_NA_" partyRelationshipTypeId="EMPLOYMENT" fromDate="2000-01-01 00:00:00"/>
+ <UserLogin userLoginId="DemoLeadOwner1" currentPassword="{SHA}47ca69ebb4bdc9ae0adec130880165d2cc05db1a" partyId="DemoLeadOwner1" enabled="Y"/>
+ <!-- FIXME: Establish SecurityGroup for SFA. This user should have access only to SFA -->
+ <UserLoginSecurityGroup groupId="FULLADMIN" userLoginId="DemoLeadOwner1" fromDate="2001-05-13 00:00:00.000"/>
+
+ <!-- Leads of DemoLeadOwner -->
+ <PartyRelationship partyIdFrom="DemoLeadOwner" roleTypeIdFrom="OWNER" partyIdTo="DemoLead" roleTypeIdTo="LEAD" fromDate="2001-05-13 00:00:00.000" partyRelationshipTypeId="LEAD_OWNER"/>
+ <PartyRelationship partyIdFrom="DemoLeadOwner" roleTypeIdFrom="OWNER" partyIdTo="DemoLead1" roleTypeIdTo="LEAD" fromDate="2001-05-13 00:00:00.000" partyRelationshipTypeId="LEAD_OWNER"/>
+ <PartyRelationship partyIdFrom="DemoLeadOwner" roleTypeIdFrom="OWNER" partyIdTo="DemoLead2" roleTypeIdTo="LEAD" fromDate="2001-05-13 00:00:00.000" partyRelationshipTypeId="LEAD_OWNER"/>
+
+ <!-- Leads of DemoLeadOwner1 -->
+ <PartyRelationship partyIdFrom="DemoLeadOwner1" roleTypeIdFrom="OWNER" partyIdTo="DemoLead3" roleTypeIdTo="LEAD" fromDate="2001-05-13 00:00:00.000" partyRelationshipTypeId="LEAD_OWNER"/>
+ <PartyRelationship partyIdFrom="DemoLeadOwner1" roleTypeIdFrom="OWNER" partyIdTo="DemoLead4" roleTypeIdTo="LEAD" fromDate="2001-05-13 00:00:00.000" partyRelationshipTypeId="LEAD_OWNER"/>
+
+ <PartyRelationship partyIdFrom="DemoLeadOwnersGroup" roleTypeIdFrom="INTERNAL_ORGANIZATIO" partyIdTo="DemoLeadOwner" roleTypeIdTo="OWNER" fromDate="2001-05-13 00:00:00.000" partyRelationshipTypeId="LEAD_OWN_GRP_MEMBER"/>
+ <PartyRelationship partyIdFrom="DemoLeadOwnersGroup" roleTypeIdFrom="INTERNAL_ORGANIZATIO" partyIdTo="DemoLeadOwner1" roleTypeIdTo="OWNER" fromDate="2001-05-13 00:00:00.000" partyRelationshipTypeId="LEAD_OWN_GRP_MEMBER"/>
+</entity-engine-xml>
\ No newline at end of file
Modified: ofbiz/trunk/applications/marketing/webapp/sfa/party/findSfaParty.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/webapp/sfa/party/findSfaParty.ftl?rev=789702&r1=789701&r2=789702&view=diff
==============================================================================
--- ofbiz/trunk/applications/marketing/webapp/sfa/party/findSfaParty.ftl (original)
+++ ofbiz/trunk/applications/marketing/webapp/sfa/party/findSfaParty.ftl Tue Jun 30 13:11:18 2009
@@ -74,6 +74,28 @@
<td class="label">${uiLabelMap.PartyPartyGroupName}</td>
<td><input type="text" name="groupName" value="${parameters.groupName?if_exists}"/></td>
</tr>
+ <#if partyRelationshipTypeId == "LEAD_OWNER">
+ <#-- Suppose an organization has some Lead Owners. Every lead owner should be able to see the leads of other lead owners.
+ To achieve this create a party group of type TEAM and for every lead owner, setup a relationship (LEAD_OWN_GRP_MEMBER) with this party group.
+ First of all find out the party group (i.e. partyIdFrom) of lead owners corresponding to logged in user.
+ -->
+ <#assign toPartyRelationships = delegator.findByAnd("PartyRelationship", {"partyIdTo", userLogin.getString("partyId"), "partyRelationshipTypeId", "LEAD_OWN_GRP_MEMBER"})>
+ <#if toPartyRelationships?has_content>
+ <#assign toPartyRelationship = Static["org.ofbiz.entity.util.EntityUtil"].getFirst(toPartyRelationships)>
+ <#-- Now we know the party group, lets find out all the lead owners for this group -->
+ <#assign fromPartyRelationships = delegator.findByAnd("PartyRelationship", {"partyIdFrom", toPartyRelationship.getString("partyIdFrom")})>
+ <tr>
+ <td class="label">${uiLabelMap.SfaSelectLeadOwners}</td>
+ <td>
+ <select name='ownerPartyIds' multiple="multiple">
+ <#list fromPartyRelationships as partyRelationship>
+ <option value="${partyRelationship.partyIdTo}"<#if userLogin.partyId == partyRelationship.partyIdTo>selected</#if>>${Static["org.ofbiz.party.party.PartyHelper"].getPartyName(delegator, partyRelationship.partyIdTo, true)}</option>
+ </#list>
+ </select>
+ </td>
+ </tr>
+ </#if>
+ </#if>
<#if extInfo == "P">
<tr><td colspan="3"><hr/></td></tr>
<tr>
Modified: ofbiz/trunk/applications/party/data/PartyTypeData.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/data/PartyTypeData.xml?rev=789702&r1=789701&r2=789702&view=diff
==============================================================================
--- ofbiz/trunk/applications/party/data/PartyTypeData.xml (original)
+++ ofbiz/trunk/applications/party/data/PartyTypeData.xml Tue Jun 30 13:11:18 2009
@@ -282,6 +282,7 @@
<PartyRelationshipType description="" hasTable="N" parentTypeId="" partyRelationshipName="Owner" partyRelationshipTypeId="OWNER" roleTypeIdValidFrom="" roleTypeIdValidTo=""/>
<PartyRelationshipType description="" hasTable="N" parentTypeId="" partyRelationshipName="Parent Account" partyRelationshipTypeId="PARENT_ACCOUNT" roleTypeIdValidFrom="" roleTypeIdValidTo=""/>
<PartyRelationshipType description="" hasTable="N" parentTypeId="" partyRelationshipName="Reports To" partyRelationshipTypeId="REPORTS_TO" roleTypeIdValidFrom="" roleTypeIdValidTo=""/>
+ <PartyRelationshipType description="" hasTable="N" parentTypeId="" partyRelationshipName="Lead Owners/Managers" partyRelationshipTypeId="LEAD_OWN_GRP_MEMBER" roleTypeIdValidFrom="" roleTypeIdValidTo=""/>
<PartyType description="Automated Agent" hasTable="N" parentTypeId="" partyTypeId="AUTOMATED_AGENT"/>
<PartyType description="Person" hasTable="Y" parentTypeId="" partyTypeId="PERSON"/>
Modified: ofbiz/trunk/applications/party/servicedef/services_view.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/servicedef/services_view.xml?rev=789702&r1=789701&r2=789702&view=diff
==============================================================================
--- ofbiz/trunk/applications/party/servicedef/services_view.xml (original)
+++ ofbiz/trunk/applications/party/servicedef/services_view.xml Tue Jun 30 13:11:18 2009
@@ -53,6 +53,7 @@
<attribute name="serialNumber" type="String" mode="IN" optional="true"/> <!-- does a LIKE compare on this -->
<attribute name="softIdentifier" type="String" mode="IN" optional="true"/> <!-- does a LIKE compare on this -->
<attribute name="partyRelationshipTypeId" type="String" mode="IN" optional="true"/>
+ <attribute name="ownerPartyIds" type="List" mode="IN" optional="true"/><!-- Lead Owners Parties -->
<attribute name="roleTypes" type="List" mode="OUT" optional="false"/>
<attribute name="partyTypes" type="List" mode="OUT" optional="false"/>
Modified: ofbiz/trunk/applications/party/src/org/ofbiz/party/party/PartyServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/src/org/ofbiz/party/party/PartyServices.java?rev=789702&r1=789701&r2=789702&view=diff
==============================================================================
--- ofbiz/trunk/applications/party/src/org/ofbiz/party/party/PartyServices.java (original)
+++ ofbiz/trunk/applications/party/src/org/ofbiz/party/party/PartyServices.java Tue Jun 30 13:11:18 2009
@@ -1095,13 +1095,19 @@
dynamicView.addAlias("PRSHP", "partyIdTo");
dynamicView.addAlias("PRSHP", "partyRelationshipTypeId");
dynamicView.addViewLink("PT", "PRSHP", Boolean.FALSE, ModelKeyMap.makeKeyMapList("partyId", "partyIdTo"));
- String partyIdFrom = userLogin.getString("partyId");
- paramList = paramList + "&partyIdFrom=" + partyIdFrom;
+ List<String> ownerPartyIds = (List) context.get("ownerPartyIds");
+ EntityCondition relationshipCond = null;
+ if (UtilValidate.isEmpty(ownerPartyIds)) {
+ String partyIdFrom = userLogin.getString("partyId");
+ paramList = paramList + "&partyIdFrom=" + partyIdFrom;
+ relationshipCond = EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("partyIdFrom"), EntityOperator.EQUALS, EntityFunction.UPPER(partyIdFrom));
+ } else {
+ relationshipCond = EntityCondition.makeCondition("partyIdFrom", EntityOperator.IN, ownerPartyIds);
+ }
dynamicView.addAlias("PRSHP", "partyIdFrom");
// add the expr
andExprs.add(EntityCondition.makeCondition(
- EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("partyIdFrom"), EntityOperator.EQUALS, EntityFunction.UPPER(partyIdFrom)),
- EntityOperator.AND,
+ relationshipCond, EntityOperator.AND,
EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("partyRelationshipTypeId"), EntityOperator.EQUALS, EntityFunction.UPPER(partyRelationshipTypeId))));
fieldsToSelect.add("partyIdTo");
}