You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by er...@apache.org on 2012/10/30 22:19:34 UTC
svn commit: r1403874 [3/7] - in /ofbiz/branches/20120329_portletWidget:
applications/content/data/ applications/party/config/
applications/party/data/ applications/party/data/helpdata/EN/
applications/party/data/helpdata/FR/ applications/party/entityde...
Modified: ofbiz/branches/20120329_portletWidget/applications/party/servicedef/services.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/applications/party/servicedef/services.xml?rev=1403874&r1=1403873&r2=1403874&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/applications/party/servicedef/services.xml (original)
+++ ofbiz/branches/20120329_portletWidget/applications/party/servicedef/services.xml Tue Oct 30 21:19:31 2012
@@ -1355,4 +1355,180 @@ under the License.
<attribute name="userLoginId" type="String" mode="IN" optional="false"/>
<attribute name="productStoreId" type="String" mode="IN" optional="false"/>
</service>
+
+ <!--#Bam# contactMechMgmtPortlet-->
+ <service name="removePartyContactMechPurpose" engine="java"
+ location="org.ofbiz.party.contact.ContactMechServices" invoke="removePartyContactMechPurpose" auth="true">
+ <description>Remove a Party ContactMech Purpose from database</description>
+ <attribute name="partyId" type="String" mode="IN" optional="true"/>
+ <attribute name="contactMechId" type="String" mode="IN" optional="false"/>
+ <attribute name="contactMechPurposeTypeId" type="String" mode="IN" optional="false"/>
+ <attribute name="fromDate" type="Timestamp" mode="IN" optional="false"/>
+ </service>
+
+ <service name="updatePartyContactMechPurpose" engine="java"
+ location="org.ofbiz.party.contact.ContactMechServices" invoke="updatePartyContactMechPurpose" auth="true">
+ <description>Update a Party ContactMech Purpose</description>
+ <attribute name="partyId" type="String" mode="IN" optional="true"/>
+ <attribute name="contactMechId" type="String" mode="IN" optional="false"/>
+ <attribute name="contactMechPurposeTypeId" type="String" mode="IN" optional="false"/>
+ <attribute name="fromDate" type="Timestamp" mode="IN" optional="false"/>
+ <attribute name="thruDate" type="Timestamp" mode="IN" optional="true"/>
+ </service>
+
+ <service name="createGivenTelecomNumber" engine="simple"
+ location="component://party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml" invoke="createGivenTelecomNumber" auth="true">
+ <description>Create telecom number for given 'entity' and given 'primaryId'</description>
+ <auto-attributes entity-name="TelecomNumber" include="all" mode="IN" optional="true"/>
+ <attribute name="primaryId" type="String" mode="IN" optional="false"/>
+ <attribute name="entity" type="String" mode="IN" optional="false"/>
+ <attribute name="allowSolicitation" type="String" mode="IN" optional="true"/>
+ <attribute name="extension" type="String" mode="IN" optional="true"/>
+ <attribute name="contactMechPurposeTypeId" type="String" mode="IN" optional="true"/>
+ </service>
+
+ <service name="updateGivenTelecomNumber" engine="simple"
+ location="component://party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml" invoke="updateGivenTelecomNumber" auth="true">
+ <description>Update telecom number for given 'entity' and given 'primaryId'</description>
+ <auto-attributes entity-name="TelecomNumber" include="all" mode="IN" optional="true"/>
+ <attribute name="contactMechId" type="String" mode="IN" optional="false"/>
+ <attribute name="primaryId" type="String" mode="IN" optional="false"/>
+ <attribute name="fromDate" type="Timestamp" mode="IN" optional="false"/>
+ <attribute name="entity" type="String" mode="IN" optional="false"/>
+ <attribute name="allowSolicitation" type="String" mode="IN" optional="true"/>
+ <attribute name="extension" type="String" mode="IN" optional="true"/>
+ </service>
+
+ <service name="createContactMechEntity" engine="simple"
+ location="component://party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml" invoke="createContactMechEntity" auth="true">
+ <description>Create contactMech for given 'entity' and given 'primaryId'</description>
+ <auto-attributes entity-name="ContactMech" include="all" mode="IN" optional="true"/>
+ <attribute name="primaryId" type="String" mode="IN" optional="false"/>
+ <attribute name="entity" type="String" mode="IN" optional="false"/>
+ <attribute name="allowSolicitation" type="String" mode="IN" optional="true"/>
+ <attribute name="contactMechPurposeTypeId" type="String" mode="IN" optional="true"/>
+ </service>
+
+ <service name="updateContactMechEntity" engine="simple"
+ location="component://party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml" invoke="updateContactMechEntity" auth="true">
+ <description>Update contactMech for given 'entity' and given 'primaryId'</description>
+ <auto-attributes entity-name="ContactMech" include="all" mode="IN" optional="true"/>
+ <attribute name="contactMechId" type="String" mode="IN" optional="false"/>
+ <attribute name="primaryId" type="String" mode="IN" optional="false"/>
+ <attribute name="fromDate" type="Timestamp" mode="IN" optional="false"/>
+ <attribute name="thruDate" type="Timestamp" mode="IN" optional="true"/>
+ <attribute name="entity" type="String" mode="IN" optional="false"/>
+ <attribute name="allowSolicitation" type="String" mode="IN" optional="true"/>
+ </service>
+
+ <service name="createGivenPostalAddress" engine="simple"
+ location="component://party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml" invoke="createGivenPostalAddress" auth="true">
+ <description>Create telecom number for given 'entity' and given 'primaryId'</description>
+ <auto-attributes entity-name="PostalAddress" include="all" mode="IN" optional="true"/>
+ <attribute name="cityGeoId" type="String" mode="IN" optional="true"/>
+ <attribute name="primaryId" type="String" mode="IN" optional="false"/>
+ <attribute name="entity" type="String" mode="IN" optional="false"/>
+ <attribute name="allowSolicitation" type="String" mode="IN" optional="true"/>
+ <attribute name="contactMechPurposeTypeId" type="String" mode="IN" optional="true"/>
+ </service>
+
+ <service name="updateGivenPostalAddress" engine="simple"
+ location="component://party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml" invoke="updateGivenPostalAddress" auth="true">
+ <description>Update telecom number for given 'entity' and given 'primaryId'</description>
+ <auto-attributes entity-name="PostalAddress" include="all" mode="IN" optional="true"/>
+ <attribute name="contactMechId" type="String" mode="IN" optional="false"/>
+ <attribute name="cityGeoId" type="String" mode="IN" optional="true"/>
+ <attribute name="primaryId" type="String" mode="IN" optional="false"/>
+ <attribute name="entity" type="String" mode="IN" optional="false"/>
+ <attribute name="allowSolicitation" type="String" mode="IN" optional="true"/>
+ </service>
+
+ <service name="createGivenEmailAddress" engine="simple"
+ location="component://party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml" invoke="createGivenEmailAddress" auth="true">
+ <description>Create telecom number for given 'entity' and given 'primaryId'</description>
+ <attribute name="emailAddress" type="String" mode="IN" optional="false"/>
+ <attribute name="primaryId" type="String" mode="IN" optional="false"/>
+ <attribute name="entity" type="String" mode="IN" optional="false"/>
+ <attribute name="allowSolicitation" type="String" mode="IN" optional="true"/>
+ <attribute name="contactMechPurposeTypeId" type="String" mode="IN" optional="true"/>
+ </service>
+
+ <service name="updateGivenEmailAddress" engine="simple"
+ location="component://party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml" invoke="updateGivenEmailAddress" auth="true">
+ <description>Update telecom number for given 'entity' and given 'primaryId'</description>
+ <attribute name="contactMechId" type="String" mode="IN" optional="false"/>
+ <attribute name="emailAddress" type="String" mode="IN" optional="false"/>
+ <attribute name="primaryId" type="String" mode="IN" optional="false"/>
+ <attribute name="entity" type="String" mode="IN" optional="false"/>
+ <attribute name="allowSolicitation" type="String" mode="IN" optional="true"/>
+ </service>
+
+ <service name="deleteGivenContactMech" engine="simple"
+ location="component://party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml" invoke="deleteGivenContactMech" auth="true">
+ <description>Delete contactMech for given 'entity' and given 'primaryId'</description>
+ <attribute name="contactMechId" type="String" mode="IN" optional="false"/>
+ <attribute name="primaryId" type="String" mode="IN" optional="false"/>
+ <attribute name="entity" type="String" mode="IN" optional="false"/>
+ <attribute name="fromDate" type="String" mode="IN" optional="true"/>
+ </service>
+
+ <service name="updateGivenContactMech" engine="simple"
+ location="component://party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml" invoke="updateGivenContactMech" auth="true">
+ <description>Update contactMech for given 'entity' and given 'primaryId'</description>
+ <attribute name="contactMechId" type="String" mode="IN" optional="false"/>
+ <attribute name="primaryId" type="String" mode="IN" optional="false"/>
+ <attribute name="entity" type="String" mode="IN" optional="false"/>
+ <attribute name="fromDate" type="String" mode="IN" optional="false"/>
+ <attribute name="thruDate" type="String" mode="IN" optional="true"/>
+ </service>
+
+ <service name="removeGivenContactMech" engine="simple"
+ location="component://party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml" invoke="removeGivenContactMech" auth="true">
+ <description>Delete contactMech for given 'entity' and given 'primaryId'</description>
+ <attribute name="contactMechId" type="String" mode="IN" optional="false"/>
+ <attribute name="primaryId" type="String" mode="IN" optional="false"/>
+ <attribute name="entity" type="String" mode="IN" optional="false"/>
+ <attribute name="fromDate" type="String" mode="IN" optional="true"/>
+ </service>
+
+ <service name="createGivenContactMechPurpose" engine="simple"
+ location="component://party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml" invoke="createGivenContactMechPurpose" auth="true">
+ <description>Create contactMechPurpose for given 'entity' and given 'primaryId'</description>
+ <attribute name="contactMechId" type="String" mode="IN" optional="false"/>
+ <attribute name="contactMechPurposeTypeId" type="String" mode="IN" optional="false"/>
+ <attribute name="primaryId" type="String" mode="IN" optional="false"/>
+ <attribute name="entity" type="String" mode="IN" optional="false"/>
+ </service>
+
+ <service name="updateGivenContactMechPurpose" engine="simple"
+ location="component://party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml" invoke="updateGivenContactMechPurpose" auth="true">
+ <description>Update contactMechPurpose for given 'entity' and given 'primaryId'</description>
+ <attribute name="contactMechId" type="String" mode="IN" optional="false"/>
+ <attribute name="contactMechPurposeTypeId" type="String" mode="IN" optional="false"/>
+ <attribute name="primaryId" type="String" mode="IN" optional="false"/>
+ <attribute name="entity" type="String" mode="IN" optional="false"/>
+ <attribute name="fromDate" type="String" mode="IN" optional="false"/>
+ <attribute name="thruDate" type="String" mode="IN" optional="true"/>
+ </service>
+
+ <service name="deleteGivenContactMechPurpose" engine="simple"
+ location="component://party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml" invoke="deleteGivenContactMechPurpose" auth="true">
+ <description>Deactivate contactMechPurpose for given 'entity' and given 'primaryId'</description>
+ <attribute name="contactMechId" type="String" mode="IN" optional="false"/>
+ <attribute name="contactMechPurposeTypeId" type="String" mode="IN" optional="false"/>
+ <attribute name="primaryId" type="String" mode="IN" optional="false"/>
+ <attribute name="entity" type="String" mode="IN" optional="false"/>
+ <attribute name="fromDate" type="Timestamp" mode="IN" optional="false"/>
+ </service>
+
+ <service name="removeGivenContactMechPurpose" engine="simple"
+ location="component://party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml" invoke="removeGivenContactMechPurpose" auth="true">
+ <description>Remove contactMechPurpose for given 'entity' and given 'primaryId'</description>
+ <attribute name="contactMechId" type="String" mode="IN" optional="false"/>
+ <attribute name="contactMechPurposeTypeId" type="String" mode="IN" optional="false"/>
+ <attribute name="primaryId" type="String" mode="IN" optional="false"/>
+ <attribute name="entity" type="String" mode="IN" optional="false"/>
+ <attribute name="fromDate" type="String" mode="IN" optional="false"/>
+ </service>
+ <!--#Eam# contactMechMgmtPortlet-->
</services>
Modified: ofbiz/branches/20120329_portletWidget/applications/party/servicedef/services_view.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/applications/party/servicedef/services_view.xml?rev=1403874&r1=1403873&r2=1403874&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/applications/party/servicedef/services_view.xml (original)
+++ ofbiz/branches/20120329_portletWidget/applications/party/servicedef/services_view.xml Tue Oct 30 21:19:31 2012
@@ -25,15 +25,24 @@ under the License.
<version>1.0</version>
<!-- Party view services -->
+ <!--#Bam# portlet-party -->
+ <!--
<service name="findParty" engine="java"
location="org.ofbiz.party.party.PartyServices" invoke="findParty">
<description>General Party Find Service, Used in the findparty page in the Party Manager, etc</description>
<attribute name="extInfo" type="String" mode="IN" optional="true"/>
- <attribute name="roleTypeId" type="String" mode="IN" optional="true"/> <!-- can be null or ANY to include any -->
+ <attribute name="roleTypeId" type="String" mode="IN" optional="true"/> --><!-- can be null or ANY to include any -->
+ <!--
<attribute name="VIEW_INDEX" type="String" mode="IN" optional="true"/>
<attribute name="VIEW_SIZE" type="String" mode="IN" optional="true"/>
+ -->
+ <service name="interfaceFindParty" engine="interface">
+ <!--#Eam# portlet-party -->
<attribute name="lookupFlag" type="String" mode="IN" optional="true"/>
+ <!--#Bam# portlet-party
<attribute name="showAll" type="String" mode="IN" optional="true"/>
+ -->
+ <attribute name="roleTypeId" type="String" mode="IN" optional="true"/> <!-- can be null or ANY to include any -->
<attribute name="partyId" type="String" mode="IN" optional="true"/> <!-- does a LIKE compare on this, can do partial, case insensitive, etc -->
<attribute name="partyTypeId" type="String" mode="IN" optional="true"/>
<attribute name="userLoginId" type="String" mode="IN" optional="true"/> <!-- does a LIKE compare on this, can do partial, case insensitive, etc -->
@@ -55,6 +64,23 @@ under the License.
<attribute name="partyRelationshipTypeId" type="String" mode="IN" optional="true"/>
<attribute name="ownerPartyIds" type="List" mode="IN" optional="true"/><!-- Lead Owners Parties -->
<attribute name="sortField" type="String" mode="IN" optional="true"/>
+ <!--#Bam# portlet-party -->
+ <attribute name="statusId" type="String" mode="IN" optional="true"/>
+ <attribute name="roleTypeGroupId" type="String" mode="IN" optional="true"/>
+ <attribute name="contactName" type="String" mode="IN" optional="true"/>
+ <attribute name="countryGeoId" type="String" mode="IN" optional="true"/>
+ <attribute name="partyClassificationGroupId" type="List" mode="IN" optional="true"/>
+ <attribute name="comments" type="String" mode="IN" optional="true"/>
+ </service>
+ <service name="findParty" engine="java"
+ location="org.ofbiz.party.party.PartyServices" invoke="findParty">
+ <description>General Party Find Service, Used in the findparty page in the Party Manager, etc</description>
+ <implements service="interfaceFindParty" optional="true"/>
+ <attribute name="extInfo" type="String" mode="IN" optional="true"/>
+ <attribute name="VIEW_INDEX" type="String" mode="IN" optional="true"/>
+ <attribute name="VIEW_SIZE" type="String" mode="IN" optional="true"/>
+ <attribute name="showAll" type="String" mode="IN" optional="true"/>
+ <!--#Eam# portlet-party -->
<attribute name="roleTypes" type="List" mode="OUT" optional="false"/>
<attribute name="partyTypes" type="List" mode="OUT" optional="false"/>
@@ -71,6 +97,22 @@ under the License.
<attribute name="sortField" type="String" mode="OUT" optional="true"/>
</service>
+ <!--#Bam# portlet-party -->
+ <service name="performFindParty" engine="java"
+ location="org.ofbiz.party.party.PartyServices" invoke="performFindParty">
+ <description>General Party Find Service, Used in the findparty page in the Party Manager, etc</description>
+ <implements service="interfaceFindParty" optional="true"/>
+ <attribute name="viewSize" type="Integer" mode="IN" optional="true"/>
+ <attribute name="viewIndex" type="Integer" mode="IN" optional="true"/>
+ <attribute name="orderBy" type="String" mode="IN" optional="true"/>
+
+ <attribute name="listIt" type="org.ofbiz.entity.util.EntityListIterator" mode="OUT" optional="true"/>
+ <attribute name="listSize" type="Integer" mode="OUT" optional="true"/>
+ <attribute name="queryString" type="String" mode="OUT" optional="true"/>
+ <attribute name="queryStringMap" type="java.util.Map" mode="OUT" optional="true"/>
+ </service>
+ <!--#Eam# portlet-party -->
+
<service name="getPartyContactMechValueMaps" engine="java"
transaction-timeout="7200"
location="org.ofbiz.party.contact.ContactMechServices" invoke="getPartyContactMechValueMaps" auth="true">
Modified: ofbiz/branches/20120329_portletWidget/applications/party/src/org/ofbiz/party/contact/ContactMechWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/applications/party/src/org/ofbiz/party/contact/ContactMechWorker.java?rev=1403874&r1=1403873&r2=1403874&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/applications/party/src/org/ofbiz/party/contact/ContactMechWorker.java (original)
+++ ofbiz/branches/20120329_portletWidget/applications/party/src/org/ofbiz/party/contact/ContactMechWorker.java Tue Oct 30 21:19:31 2012
@@ -257,13 +257,27 @@ public class ContactMechWorker {
}
public static Collection<Map<String, GenericValue>> getWorkEffortContactMechValueMaps(Delegator delegator, String workEffortId) {
+ //#Bam# ContactMechMgmtPortlet
+ return getWorkEffortContactMechValueMaps(delegator, workEffortId, false);
+ }
+
+ public static Collection<Map<String, GenericValue>> getWorkEffortContactMechValueMaps(Delegator delegator, String workEffortId, boolean showOld) {
+ //#Eam# ContactMechMgmtPortlet
Collection<Map<String, GenericValue>> workEffortContactMechValueMaps = FastList.newInstance();
List<GenericValue> allWorkEffortContactMechs = null;
try {
List<GenericValue> workEffortContactMechs = delegator.findByAnd("WorkEffortContactMech", UtilMisc.toMap("workEffortId", workEffortId), null, false);
+// #Bam# ContactMechMgmtPortlet
+ /*
allWorkEffortContactMechs = EntityUtil.filterByDate(workEffortContactMechs);
+ */if (!showOld) {
+ allWorkEffortContactMechs = EntityUtil.filterByDate(workEffortContactMechs);
+ } else {
+ allWorkEffortContactMechs = workEffortContactMechs;
+ }
+// #Eam# ContactMechMgmtPortlet
} catch (GenericEntityException e) {
Debug.logWarning(e, module);
}
@@ -305,8 +319,147 @@ public class ContactMechWorker {
return workEffortContactMechValueMaps.size() > 0 ? workEffortContactMechValueMaps : null;
}
+
+// #Bam# ContactMechMgmtPortlet
+ @SuppressWarnings("deprecation")
+ public static void getWorkEffortContactMechAndRelated(ServletRequest request, String workEffortId, Map<String, Object> target, boolean showOld) {
+ Delegator delegator = (Delegator) request.getAttribute("delegator");
+
+ boolean tryEntity = true;
+ if (request.getAttribute("_ERROR_MESSAGE_") != null) tryEntity = false;
+ if ("true".equals(request.getParameter("tryEntity"))) tryEntity = true;
+
+ String donePage = request.getParameter("DONE_PAGE");
+ if (donePage == null) donePage = (String) request.getAttribute("DONE_PAGE");
+ if (donePage == null || donePage.length() <= 0) donePage = "viewprofile";
+ target.put("donePage", donePage);
+
+ String contactMechTypeId = request.getParameter("preContactMechTypeId");
+ if (contactMechTypeId == null) contactMechTypeId = (String) request.getAttribute("preContactMechTypeId");
+ if (contactMechTypeId != null)
+ tryEntity = false;
+
+ String contactMechId = request.getParameter("contactMechId");
+ if (request.getAttribute("contactMechId") != null)
+ contactMechId = (String) request.getAttribute("contactMechId");
+
+ GenericValue contactMech = null;
+ if (contactMechId != null) {
+ target.put("contactMechId", contactMechId);
+
+ // try to find a WorkEffortContactMech with a valid date range
+ List<GenericValue> workEffortContactMechs = null;
+
+ try {
+ workEffortContactMechs = delegator.findByAnd("WorkEffortContactMech", UtilMisc.toMap("workEffortId", workEffortId, "contactMechId", contactMechId), null, false);
+ if (!showOld) workEffortContactMechs = EntityUtil.filterByDate(workEffortContactMechs, true);
+ } catch (GenericEntityException e) {
+ Debug.logWarning(e, module);
+ }
+
+ GenericValue workEffortContactMech = EntityUtil.getFirst(workEffortContactMechs);
+ if (workEffortContactMech != null) {
+ target.put("workEffortContactMech", workEffortContactMech);
+ }
+
+ try {
+ contactMech = delegator.findOne("ContactMech", UtilMisc.toMap("contactMechId", contactMechId), false);
+ } catch (GenericEntityException e) {
+ Debug.logWarning(e, module);
+ }
+
+ if (contactMech != null) {
+ target.put("contactMech", contactMech);
+ contactMechTypeId = contactMech.getString("contactMechTypeId");
+ }
+ }
+
+ if (contactMechTypeId != null) {
+ target.put("contactMechTypeId", contactMechTypeId);
+
+ try {
+ GenericValue contactMechType = delegator.findOne("ContactMechType", UtilMisc.toMap("contactMechTypeId", contactMechTypeId), false);
+
+ if (contactMechType != null)
+ target.put("contactMechType", contactMechType);
+ } catch (GenericEntityException e) {
+ Debug.logWarning(e, module);
+ }
+ }
+
+ String requestName;
+ if (contactMech == null) {
+ // create
+ if ("POSTAL_ADDRESS".equals(contactMechTypeId)) {
+ if (request.getParameter("contactMechPurposeTypeId") != null || request.getAttribute("contactMechPurposeTypeId") != null) {
+ requestName = "createPostalAddressAndPurpose";
+ } else {
+ requestName = "createPostalAddress";
+ }
+ } else if ("TELECOM_NUMBER".equals(contactMechTypeId)) {
+ requestName = "createTelecomNumber";
+ } else if ("EMAIL_ADDRESS".equals(contactMechTypeId)) {
+ requestName = "createEmailAddress";
+ } else {
+ requestName = "createContactMech";
+ }
+ } else {
+ // update
+ if ("POSTAL_ADDRESS".equals(contactMechTypeId)) {
+ requestName = "updatePostalAddress";
+ } else if ("TELECOM_NUMBER".equals(contactMechTypeId)) {
+ requestName = "updateTelecomNumber";
+ } else if ("EMAIL_ADDRESS".equals(contactMechTypeId)) {
+ requestName = "updateEmailAddress";
+ } else {
+ requestName = "updateContactMech";
+ }
+ }
+ target.put("requestName", requestName);
+
+ if ("POSTAL_ADDRESS".equals(contactMechTypeId)) {
+ GenericValue postalAddress = null;
+
+ try {
+ if (contactMech != null) postalAddress = contactMech.getRelatedOne("PostalAddress", false);
+ } catch (GenericEntityException e) {
+ Debug.logWarning(e, module);
+ }
+ if (postalAddress != null) target.put("postalAddress", postalAddress);
+ } else if ("TELECOM_NUMBER".equals(contactMechTypeId)) {
+ GenericValue telecomNumber = null;
+
+ try {
+ if (contactMech != null) telecomNumber = contactMech.getRelatedOne("TelecomNumber", false);
+ } catch (GenericEntityException e) {
+ Debug.logWarning(e, module);
+ }
+ if (telecomNumber != null) target.put("telecomNumber", telecomNumber);
+ }
+
+ if ("true".equals(request.getParameter("useValues"))) tryEntity = true;
+ target.put("tryEntity", Boolean.valueOf(tryEntity));
+ try {
+ Collection<GenericValue> contactMechTypes = delegator.findList("ContactMechType", null, null, null, null, true);
+
+ if (contactMechTypes != null) {
+ target.put("contactMechTypes", contactMechTypes);
+ }
+ } catch (GenericEntityException e) {
+ Debug.logWarning(e, module);
+ }
+ }
+// #Eam# ContactMechMgmtPortlet
+
public static void getContactMechAndRelated(ServletRequest request, String partyId, Map<String, Object> target) {
+// #Bam# ContactMechMgmtPortlet
+ getContactMechAndRelated(request, partyId, target, false);
+ }
+
+ @SuppressWarnings("deprecation")
+ public static void getContactMechAndRelated(ServletRequest request, String partyId, Map<String, Object> target, boolean showOld) {
+// #Eam# ContactMechMgmtPortlet
Delegator delegator = (Delegator) request.getAttribute("delegator");
boolean tryEntity = true;
@@ -338,7 +491,13 @@ public class ContactMechWorker {
List<GenericValue> partyContactMechs = null;
try {
+// #Bam# ContactMechMgmtPortlet
+ /*
partyContactMechs = EntityUtil.filterByDate(delegator.findByAnd("PartyContactMech", UtilMisc.toMap("partyId", partyId, "contactMechId", contactMechId), null, false), true);
+ */
+ partyContactMechs = delegator.findByAnd("PartyContactMech", UtilMisc.toMap("partyId", partyId, "contactMechId", contactMechId), null, false);
+ if (!showOld) partyContactMechs = EntityUtil.filterByDate(partyContactMechs, true);
+// #Eam# ContactMechMgmtPortlet
} catch (GenericEntityException e) {
Debug.logWarning(e, module);
}
@@ -351,7 +510,13 @@ public class ContactMechWorker {
Collection<GenericValue> partyContactMechPurposes = null;
try {
+// #Bam# ContactMechMgmtPortlet
+ /*
partyContactMechPurposes = EntityUtil.filterByDate(partyContactMech.getRelated("PartyContactMechPurpose", null, null, false), true);
+ */
+ partyContactMechPurposes = partyContactMech.getRelated("PartyContactMechPurpose", null, null, false);
+ if (!showOld) partyContactMechPurposes = EntityUtil.filterByDate((List<GenericValue>) partyContactMechPurposes, true);
+// #Eam# ContactMechMgmtPortlet
} catch (GenericEntityException e) {
Debug.logWarning(e, module);
}
@@ -519,6 +684,13 @@ public class ContactMechWorker {
}
public static void getFacilityContactMechAndRelated(ServletRequest request, String facilityId, Map<String, Object> target) {
+// #Bam# ContactMechMgmtPortlet
+ getFacilityContactMechAndRelated(request, facilityId, target, false);
+ }
+
+ @SuppressWarnings("deprecation")
+ public static void getFacilityContactMechAndRelated(ServletRequest request, String facilityId, Map<String, Object> target, boolean showOld) {
+// #Bam# ContactMechMgmtPortlet
Delegator delegator = (Delegator) request.getAttribute("delegator");
boolean tryEntity = true;
@@ -550,7 +722,13 @@ public class ContactMechWorker {
List<GenericValue> facilityContactMechs = null;
try {
+// #Bam# ContactMechMgmtPortlet
+ /*
facilityContactMechs = EntityUtil.filterByDate(delegator.findByAnd("FacilityContactMech", UtilMisc.toMap("facilityId", facilityId, "contactMechId", contactMechId), null, false), true);
+ */
+ facilityContactMechs = delegator.findByAnd("FacilityContactMech", UtilMisc.toMap("facilityId", facilityId, "contactMechId", contactMechId), null, false);
+ if (!showOld) facilityContactMechs = EntityUtil.filterByDate(facilityContactMechs, true);
+// #Eam# ContactMechMgmtPortlet
} catch (GenericEntityException e) {
Debug.logWarning(e, module);
}
@@ -563,7 +741,13 @@ public class ContactMechWorker {
Collection<GenericValue> facilityContactMechPurposes = null;
try {
+// #Bam# ContactMechMgmtPortlet
+ /*
facilityContactMechPurposes = EntityUtil.filterByDate(facilityContactMech.getRelated("FacilityContactMechPurpose", null, null, false), true);
+ */
+ facilityContactMechPurposes = facilityContactMech.getRelated("FacilityContactMechPurpose", null, null, false);
+ if (!showOld) facilityContactMechPurposes = EntityUtil.filterByDate((List<GenericValue>) facilityContactMechPurposes, true);
+// #Eam# ContactMechMgmtPortlet
} catch (GenericEntityException e) {
Debug.logWarning(e, module);
}
Modified: ofbiz/branches/20120329_portletWidget/applications/party/src/org/ofbiz/party/party/PartyServices.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/applications/party/src/org/ofbiz/party/party/PartyServices.java?rev=1403874&r1=1403873&r2=1403874&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/applications/party/src/org/ofbiz/party/party/PartyServices.java (original)
+++ ofbiz/branches/20120329_portletWidget/applications/party/src/org/ofbiz/party/party/PartyServices.java Tue Oct 30 21:19:31 2012
@@ -21,6 +21,7 @@ package org.ofbiz.party.party;
import java.sql.Timestamp;
import java.util.Collection;
+import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
@@ -33,6 +34,7 @@ import javolution.util.FastMap;
import org.ofbiz.base.util.Debug;
import org.ofbiz.base.util.UtilDateTime;
import org.ofbiz.base.util.UtilGenerics;
+import org.ofbiz.base.util.UtilHttp;
import org.ofbiz.base.util.UtilMisc;
import org.ofbiz.base.util.UtilProperties;
import org.ofbiz.base.util.UtilValidate;
@@ -45,7 +47,6 @@ import org.ofbiz.entity.condition.Entity
import org.ofbiz.entity.condition.EntityFunction;
import org.ofbiz.entity.condition.EntityOperator;
import org.ofbiz.entity.model.DynamicViewEntity;
-import org.ofbiz.entity.model.ModelKeyMap;
import org.ofbiz.entity.util.EntityFindOptions;
import org.ofbiz.entity.util.EntityListIterator;
import org.ofbiz.entity.util.EntityTypeUtil;
@@ -993,12 +994,89 @@ public class PartyServices {
return ServiceUtil.returnSuccess();
}
+ // #Bam# Portlet-Party
+ public static Map<String, Object> performFindParty(DispatchContext dctx, Map<String, ? extends Object> context) {
+ Map<String, Object> result = ServiceUtil.returnSuccess();
+ Delegator delegator = dctx.getDelegator();
+ GenericValue userLogin = (GenericValue) context.get("userLogin");
+ Locale locale = (Locale) context.get("locale");
+ List<String> orderBy = null;
+ if (context.containsKey("orderBy")) orderBy = UtilMisc.toList((String)context.get("orderBy"));
+ boolean lookupFlag = "Y".equals(context.get("lookupFlag"));
+ Integer viewSize = (Integer) context.get("viewSize");
+ Integer viewIndex = (Integer) context.get("viewIndex");
+ Integer maxRows = null;
+ if (viewSize != null && viewIndex != null) {
+ maxRows = viewSize * (viewIndex + 1);
+ } else {
+ maxRows = -1;
+ }
+
+ Map<String, ? extends Object> prepareFind = null;
+ EntityListIterator listIt = null;
+ int listSize = 0;
+ try {
+ prepareFind = PartyWorker.preparePartyDynamicViewAndCondition(delegator, context, userLogin);
+
+ // set distinct on so we only get one row per order
+ EntityFindOptions findOpts = new EntityFindOptions(true, EntityFindOptions.TYPE_SCROLL_INSENSITIVE, EntityFindOptions.CONCUR_READ_ONLY, -1, maxRows, true);
+
+ //Retrieve search elements
+ DynamicViewEntity dynamicView = (DynamicViewEntity) prepareFind.get("dynamicView");
+ List<String> fieldsToSelect = UtilGenerics.checkList( prepareFind.get("fieldsToSelect") );
+ EntityCondition mainCond = (EntityCondition) prepareFind.get("conditions");
+
+ //filter orderBy field only on available field selected
+ if (UtilValidate.isNotEmpty(orderBy) && UtilValidate.isNotEmpty(fieldsToSelect)) {
+ List<String> availableField = FastList.newInstance();
+ for (String orderField : orderBy) {
+ String fieldToOrder = orderField;
+ if (orderField.startsWith("-")) {
+ fieldToOrder = orderField.replace("-","");
+ }
+ if (fieldsToSelect.contains(fieldToOrder)) {
+ availableField.add(orderField);
+ }
+ }
+ orderBy = availableField;
+ }
+ if (lookupFlag) {
+ // using list iterator
+ listIt = delegator.findListIteratorByCondition(dynamicView, mainCond, null, fieldsToSelect, orderBy, findOpts);
+ listSize = listIt.getResultsSizeAfterPartialList();
+ }
+ } catch (GenericEntityException e) {
+ String errMsg = "Failure in party find operation, rolling back transaction: " + e.toString();
+ Debug.logError(e, errMsg, module);
+ return ServiceUtil.returnError(UtilProperties.getMessage(resource,
+ "PartyLookupPartyError",
+ UtilMisc.toMap("errMessage", e.toString()), locale));
+ }
+
+ if (listSize > 0) {
+ Map<String, Object> queryMap = FastMap.newInstance();
+ queryMap.putAll(context);
+ queryMap.remove("locale");
+ queryMap.remove("userLogin");
+ queryMap.remove("timeZone");
+ result.put("queryString", UtilHttp.urlEncodeArgs(queryMap, true));
+ result.put("queryStringMap", queryMap);
+ }
+ result.put("listIt", listIt);
+ result.put("listSize", listSize);
+ return result;
+ }
+ //#Eam# Portlet-Party
+
public static Map<String, Object> findParty(DispatchContext dctx, Map<String, ? extends Object> context) {
Map<String, Object> result = ServiceUtil.returnSuccess();
Delegator delegator = dctx.getDelegator();
GenericValue userLogin = (GenericValue) context.get("userLogin");
Locale locale = (Locale) context.get("locale");
+
+ // #Bam# Portlet-Party
+ /*
String extInfo = (String) context.get("extInfo");
// get the role types
@@ -1486,6 +1564,184 @@ public class PartyServices {
return result;
}
+ */
+ // get the role types
+ try {
+ List<GenericValue> roleTypes = delegator.findList("RoleType", null, null, UtilMisc.toList("description"), null, false);
+ result.put("roleTypes", roleTypes);
+ } catch (GenericEntityException e) {
+ String errMsg = "Error looking up RoleTypes: " + e.toString();
+ Debug.logError(e, errMsg, module);
+ return ServiceUtil.returnError(UtilProperties.getMessage(resource,
+ "PartyLookupRoleTypeError",
+ UtilMisc.toMap("errMessage", e.toString()), locale));
+ }
+ // current role type
+ String roleTypeId;
+ try {
+ roleTypeId = (String) context.get("roleTypeId");
+ if (UtilValidate.isNotEmpty(roleTypeId)) {
+ GenericValue currentRole = delegator.findOne("RoleType", UtilMisc.toMap("roleTypeId", roleTypeId), true);
+ result.put("currentRole", currentRole);
+ }
+ } catch (GenericEntityException e) {
+ String errMsg = "Error looking up current RoleType: " + e.toString();
+ Debug.logError(e, errMsg, module);
+ return ServiceUtil.returnError(UtilProperties.getMessage(resource,
+ "PartyLookupRoleTypeError",
+ UtilMisc.toMap("errMessage", e.toString()), locale));
+ }
+
+ //get party types
+ try {
+ List<GenericValue> partyTypes = delegator.findList("PartyType", null, null, UtilMisc.toList("description"), null, false);
+ result.put("partyTypes", partyTypes);
+ } catch (GenericEntityException e) {
+ String errMsg = "Error looking up PartyTypes: " + e.toString();
+ Debug.logError(e, errMsg, module);
+ return ServiceUtil.returnError(UtilProperties.getMessage(resource,
+ "PartyLookupPartyTypeError",
+ UtilMisc.toMap("errMessage", e.toString()), locale));
+ }
+
+ // current party type
+ String partyTypeId;
+ try {
+ partyTypeId = (String) context.get("partyTypeId");
+ if (UtilValidate.isNotEmpty(partyTypeId)) {
+ GenericValue currentPartyType = delegator.findOne("PartyType", UtilMisc.toMap("partyTypeId", partyTypeId), true);
+ result.put("currentPartyType", currentPartyType);
+ }
+ } catch (GenericEntityException e) {
+ String errMsg = "Error looking up current PartyType: " + e.toString();
+ Debug.logError(e, errMsg, module);
+ return ServiceUtil.returnError(UtilProperties.getMessage(resource,
+ "PartyLookupPartyTypeError",
+ UtilMisc.toMap("errMessage", e.toString()), locale));
+ }
+
+ // current state
+ String stateProvinceGeoId;
+ try {
+ stateProvinceGeoId = (String) context.get("stateProvinceGeoId");
+ if (UtilValidate.isNotEmpty(stateProvinceGeoId)) {
+ GenericValue currentStateGeo = delegator.findOne("Geo", UtilMisc.toMap("geoId", stateProvinceGeoId), true);
+ result.put("currentStateGeo", currentStateGeo);
+ }
+ } catch (GenericEntityException e) {
+ String errMsg = "Error looking up current stateProvinceGeo: " + e.toString();
+ Debug.logError(e, errMsg, module);
+ return ServiceUtil.returnError(UtilProperties.getMessage(resource,
+ "PartyLookupStateProvinceGeoError",
+ UtilMisc.toMap("errMessage", e.toString()), locale));
+ }
+
+ // set the page parameters
+ int viewIndex = 0;
+ try {
+ viewIndex = Integer.parseInt((String) context.get("VIEW_INDEX"));
+ } catch (Exception e) {
+ viewIndex = 0;
+ }
+ result.put("viewIndex", Integer.valueOf(viewIndex));
+
+ int viewSize = 20;
+ try {
+ viewSize = Integer.parseInt((String) context.get("VIEW_SIZE"));
+ } catch (Exception e) {
+ viewSize = 20;
+ }
+ result.put("viewSize", Integer.valueOf(viewSize));
+
+ // get the lookup flag
+ String lookupFlag = (String) context.get("lookupFlag");
+
+ // prepare param list
+ Map<String, Object> queryMap = FastMap.newInstance();
+ queryMap.putAll(context);
+ queryMap.remove("locale");
+ queryMap.remove("userLogin");
+ queryMap.remove("timeZone");
+ queryMap.remove("VIEW_SIZE");
+ queryMap.remove("VIEW_INDEX");
+ String paramList = "&" + UtilHttp.urlEncodeArgs(queryMap, false);
+
+ List<GenericValue> partyList = null;
+ int partyListSize = 0;
+ int lowIndex = 0;
+ int highIndex = 0;
+
+ List<String> orderBy = FastList.newInstance();
+ if ("Y".equals(lookupFlag)) {
+ String showAll = (context.get("showAll") != null ? (String) context.get("showAll") : "N");
+ Map<String, ? extends Object> prepareFind = null;
+ Map<String, ? extends Object> transmitMap = showAll.equals("N")?context : new HashMap<String, Object>();
+ try {
+ prepareFind = PartyWorker.preparePartyDynamicViewAndCondition(delegator, transmitMap, userLogin);
+ } catch (GenericEntityException e) {
+ String errMsg = "Failure in party find operation, rolling back transaction: " + e.toString();
+ Debug.logError(e, errMsg, module);
+ return ServiceUtil.returnError(UtilProperties.getMessage(resource,
+ "PartyLookupPartyError",
+ UtilMisc.toMap("errMessage", e.toString()), locale));
+ }
+
+ if (!"Y".equals(showAll)) {
+ // check for a partyId
+ if (UtilValidate.isNotEmpty(context.get("firstName")) || UtilValidate.isNotEmpty(context.get("lastName"))) {
+ orderBy.add("lastName");
+ orderBy.add("firstName");
+ }
+ }
+
+ // do the lookup
+ EntityCondition mainCond = (EntityCondition) prepareFind.get("conditions");
+ if (mainCond != null || "Y".equals(showAll)) {
+ try {
+ // get the indexes for the partial list
+ lowIndex = viewIndex * viewSize + 1;
+ highIndex = (viewIndex + 1) * viewSize;
+
+ // set distinct on so we only get one row per order
+ EntityFindOptions findOpts = new EntityFindOptions(true, EntityFindOptions.TYPE_SCROLL_INSENSITIVE, EntityFindOptions.CONCUR_READ_ONLY, -1, highIndex, true);
+ // using list iterator
+ DynamicViewEntity dynamicView = (DynamicViewEntity) prepareFind.get("dynamicView");
+ List<String> fieldsToSelect = UtilGenerics.checkList( prepareFind.get("fieldsToSelect") );
+ EntityListIterator pli = delegator.findListIteratorByCondition(dynamicView, mainCond, null, fieldsToSelect, orderBy, findOpts);
+
+ // get the partial list for this page
+ partyList = pli.getPartialList(lowIndex, viewSize);
+
+ // attempt to get the full size
+ partyListSize = pli.getResultsSizeAfterPartialList();
+ if (highIndex > partyListSize) {
+ highIndex = partyListSize;
+ }
+
+ // close the list iterator
+ pli.close();
+ } catch (GenericEntityException e) {
+ String errMsg = "Failure in party find operation, rolling back transaction: " + e.toString();
+ Debug.logError(e, errMsg, module);
+ return ServiceUtil.returnError(UtilProperties.getMessage(resource,
+ "PartyLookupPartyError",
+ UtilMisc.toMap("errMessage", e.toString()), locale));
+ }
+ } else {
+ partyListSize = 0;
+ }
+ }
+
+ if (partyList == null) partyList = FastList.newInstance();
+ result.put("partyList", partyList);
+ result.put("partyListSize", Integer.valueOf(partyListSize));
+ result.put("paramList", paramList);
+ result.put("highIndex", Integer.valueOf(highIndex));
+ result.put("lowIndex", Integer.valueOf(lowIndex));
+
+ return result;
+ }
+ // #Eam# Portlet-Party
/**
* Changes the association of contact mechs, purposes, notes, orders and attributes from
Modified: ofbiz/branches/20120329_portletWidget/applications/party/src/org/ofbiz/party/party/PartyWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/applications/party/src/org/ofbiz/party/party/PartyWorker.java?rev=1403874&r1=1403873&r2=1403874&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/applications/party/src/org/ofbiz/party/party/PartyWorker.java (original)
+++ ofbiz/branches/20120329_portletWidget/applications/party/src/org/ofbiz/party/party/PartyWorker.java Tue Oct 30 21:19:31 2012
@@ -44,6 +44,14 @@ import org.ofbiz.entity.condition.Entity
import org.ofbiz.entity.condition.EntityOperator;
import org.ofbiz.entity.model.ModelEntity;
import org.ofbiz.entity.util.EntityUtil;
+//#Bam# Portlet-Party
+import org.ofbiz.base.util.StringUtil;
+import org.ofbiz.base.util.UtilDateTime;
+import org.ofbiz.base.util.UtilGenerics;
+import org.ofbiz.entity.condition.EntityDateFilterCondition;
+import org.ofbiz.entity.model.DynamicViewEntity;
+import org.ofbiz.entity.model.ModelKeyMap;
+//#Eam# Portlet-Party
/**
* Worker methods for Party Information
@@ -108,6 +116,471 @@ public class PartyWorker {
return clubId;
}
+ // #Bam# Portlet-Party
+ public static Map<String, ? extends Object> preparePartyDynamicViewAndCondition(Delegator delegator, Map<String, ? extends Object> context, GenericValue userLogin)
+ throws GenericEntityException {
+
+ List<String> orderBy = FastList.newInstance();
+ List<String> fieldsToSelect = FastList.newInstance();
+ DynamicViewEntity dynamicView = new DynamicViewEntity();
+
+ // default view settings
+ dynamicView.addMemberEntity("PT", "Party");
+ dynamicView.addAlias("PT", "partyId");
+ dynamicView.addAlias("PT", "statusId");
+ dynamicView.addAlias("PT", "partyTypeId");
+ dynamicView.addRelation("one-nofk", "", "PartyType", ModelKeyMap.makeKeyMapList("partyTypeId"));
+ dynamicView.addRelation("many", "", "UserLogin", ModelKeyMap.makeKeyMapList("partyId"));
+
+ // define the main condition & expression list
+ List<EntityCondition> andExprs = FastList.newInstance();
+
+ // fields we need to select; will be used to set distinct
+ fieldsToSelect.add("partyId");
+ fieldsToSelect.add("statusId");
+ fieldsToSelect.add("partyTypeId");
+
+ // filter on parties that have relationship with logged in user
+ String partyRelationshipTypeId = (String) context.get("partyRelationshipTypeId");
+ if (UtilValidate.isNotEmpty(partyRelationshipTypeId)) {
+ // add relation to view
+ dynamicView.addMemberEntity("PRSHP", "PartyRelationship");
+ dynamicView.addAlias("PRSHP", "partyIdTo");
+ dynamicView.addAlias("PRSHP", "partyRelationshipTypeId");
+ dynamicView.addViewLink("PT", "PRSHP", Boolean.FALSE, ModelKeyMap.makeKeyMapList("partyId", "partyIdTo"));
+ List<String> ownerPartyIds = UtilGenerics.cast(context.get("ownerPartyIds"));
+ EntityCondition relationshipCond = null;
+ if (UtilValidate.isEmpty(ownerPartyIds)) {
+ String partyIdFrom = userLogin.getString("partyId");
+ 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(
+ relationshipCond, EntityOperator.AND,
+ EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("partyRelationshipTypeId"), EntityOperator.EQUALS, EntityFunction.UPPER(partyRelationshipTypeId))));
+ fieldsToSelect.add("partyIdTo");
+ }
+
+ String contactName = (String) context.get("contactName");
+ if (UtilValidate.isNotEmpty(contactName)) {
+ // add relation to view
+ dynamicView.addMemberEntity("PRSHPC", "PartyRelationship");
+ dynamicView.addAlias("PRSHPC", "contactPartyId","partyIdTo","contactPartyId",Boolean.FALSE,Boolean.FALSE,null);
+ dynamicView.addAlias("PRSHPC", "contactRelationshipTypeId","partyRelationshipTypeId","contactRelationshipTypeId",Boolean.FALSE,Boolean.FALSE,null);
+ dynamicView.addAlias("PRSHPC", "contactThruDate","thruDate","contactThruDate",Boolean.FALSE,Boolean.FALSE,null);
+ dynamicView.addViewLink("PT", "PRSHPC", Boolean.FALSE, ModelKeyMap.makeKeyMapList("partyId", "partyIdFrom"));
+
+ dynamicView.addMemberEntity("PRSHPPTY", "Party");
+ dynamicView.addViewLink("PRSHPC", "PRSHPPTY", Boolean.FALSE, ModelKeyMap.makeKeyMapList("partyIdTo", "partyId"));
+
+ dynamicView.addMemberEntity("PRSHPPSN", "Person");
+ dynamicView.addAlias("PRSHPPSN", "contactName","lastName","contactName",Boolean.FALSE,Boolean.FALSE,null);
+ dynamicView.addViewLink("PRSHPPTY", "PRSHPPSN", Boolean.TRUE, ModelKeyMap.makeKeyMapList("partyId"));
+
+ dynamicView.addMemberEntity("PRSHPPTG", "PartyGroup");
+ dynamicView.addAlias("PRSHPPTG", "contactGroupName","groupName","contactGroupName",Boolean.FALSE,Boolean.FALSE,null);
+ dynamicView.addViewLink("PRSHPPTY", "PRSHPPTG", Boolean.TRUE, ModelKeyMap.makeKeyMapList("partyId"));
+
+ //add condition
+ EntityCondition contactNameCondition = EntityCondition.makeCondition(
+ EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("contactName"), EntityOperator.LIKE, EntityFunction.UPPER("%"+contactName+"%")), EntityOperator.OR,
+ EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("contactGroupName"), EntityOperator.LIKE, EntityFunction.UPPER("%"+contactName+"%")));
+ fieldsToSelect.add("contactName");
+ fieldsToSelect.add("contactGroupName");
+
+ // add the expr
+ andExprs.add(EntityCondition.makeCondition(
+ EntityCondition.makeCondition(
+ EntityCondition.makeCondition("contactThruDate", EntityOperator.EQUALS, null), EntityOperator.OR,
+ EntityCondition.makeCondition("contactThruDate", EntityOperator.GREATER_THAN_EQUAL_TO, UtilDateTime.nowTimestamp())),
+ EntityOperator.AND,
+ contactNameCondition));
+ }
+
+ // get the params
+ String partyId = (String) context.get("partyId");
+ String statusId = (String) context.get("statusId");
+ String userLoginId = (String) context.get("userLoginId");
+ String firstName = (String) context.get("firstName");
+ String lastName = (String) context.get("lastName");
+ String groupName = (String) context.get("groupName");
+ String partyTypeId = (String) context.get("partyTypeId");
+ String roleTypeId = (String) context.get("roleTypeId");
+ String stateProvinceGeoId = (String) context.get("stateProvinceGeoId");
+
+ // check for a partyId
+ if (UtilValidate.isNotEmpty(partyId)) {
+ andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("partyId"), EntityOperator.LIKE, EntityFunction.UPPER("%"+partyId+"%")));
+ }
+
+ // now the statusId - send ANY for all statuses; leave null for just enabled; or pass a specific status
+ if (statusId != null) {
+ if (!"ANY".equalsIgnoreCase(statusId)) {
+ andExprs.add(EntityCondition.makeCondition("statusId", EntityOperator.EQUALS, statusId));
+ }
+ } else {
+ // NOTE: _must_ explicitly allow null as it is not included in a not equal in many databases... odd but true
+ andExprs.add(EntityCondition.makeCondition(EntityCondition.makeCondition("statusId", EntityOperator.EQUALS, null), EntityOperator.OR, EntityCondition.makeCondition("statusId", EntityOperator.NOT_EQUAL, "PARTY_DISABLED")));
+ }
+ // check for partyTypeId
+ if (partyTypeId != null && !"ANY".equals(partyTypeId)) {
+ andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("partyTypeId"), EntityOperator.LIKE, EntityFunction.UPPER("%"+partyTypeId+"%")));
+ }
+
+ // ----
+ // UserLogin Fields
+ // ----
+
+ // filter on user login
+ if (UtilValidate.isNotEmpty(userLoginId)) {
+
+ // modify the dynamic view
+ dynamicView.addMemberEntity("UL", "UserLogin");
+ dynamicView.addAlias("UL", "userLoginId");
+ dynamicView.addViewLink("PT", "UL", Boolean.FALSE, ModelKeyMap.makeKeyMapList("partyId"));
+
+ // add the expr
+ andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("userLoginId"), EntityOperator.LIKE, EntityFunction.UPPER("%"+userLoginId+"%")));
+
+ fieldsToSelect.add("userLoginId");
+
+ }
+
+ // ----
+ // PartyGroup Fields
+ // ----
+
+ // filter on groupName
+ if (UtilValidate.isNotEmpty(groupName)) {
+
+ // modify the dynamic view
+ dynamicView.addMemberEntity("PG", "PartyGroup");
+ dynamicView.addAlias("PG", "groupName");
+ dynamicView.addViewLink("PT", "PG", Boolean.FALSE, ModelKeyMap.makeKeyMapList("partyId"));
+
+ // add the expr
+ andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("groupName"), EntityOperator.LIKE, EntityFunction.UPPER("%"+groupName+"%")));
+
+ fieldsToSelect.add("groupName");
+ }
+
+ // ----
+ // Person Fields
+ // ----
+
+ // modify the dynamic view
+ if (UtilValidate.isNotEmpty(firstName) || UtilValidate.isNotEmpty(lastName)) {
+ dynamicView.addMemberEntity("PE", "Person");
+ dynamicView.addAlias("PE", "firstName");
+ dynamicView.addAlias("PE", "lastName");
+ dynamicView.addViewLink("PT", "PE", Boolean.FALSE, ModelKeyMap.makeKeyMapList("partyId"));
+
+ fieldsToSelect.add("firstName");
+ fieldsToSelect.add("lastName");
+ orderBy.add("lastName");
+ orderBy.add("firstName");
+ }
+
+ // filter on firstName
+ if (UtilValidate.isNotEmpty(firstName)) {
+ andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("firstName"), EntityOperator.LIKE, EntityFunction.UPPER("%"+firstName+"%")));
+ }
+
+ // filter on lastName
+ if (UtilValidate.isNotEmpty(lastName)) {
+ andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("lastName"), EntityOperator.LIKE, EntityFunction.UPPER("%"+lastName+"%")));
+ }
+
+ // ----
+ // RoleType Fields
+ // ----
+
+ // filter on role member
+ if (roleTypeId != null && !"ANY".equals(roleTypeId)) {
+
+ // add role to view
+ dynamicView.addMemberEntity("PR", "PartyRole");
+ dynamicView.addAlias("PR", "roleTypeId");
+ dynamicView.addViewLink("PT", "PR", Boolean.FALSE, ModelKeyMap.makeKeyMapList("partyId"));
+
+ // add the expr
+ andExprs.add(EntityCondition.makeCondition("roleTypeId", EntityOperator.EQUALS, roleTypeId));
+
+ fieldsToSelect.add("roleTypeId");
+ }
+ //Begin addon modification : portlet-party
+ else if (UtilValidate.isNotEmpty(context.get("roleTypeGroupId"))) {
+ String roleTypeGroupId = (String) context.get("roleTypeGroupId");
+
+ //retrieve related roles
+ List<GenericValue> roles = delegator.findByAnd("RoleType", UtilMisc.toMap("parentTypeId", roleTypeGroupId),null,false);
+ if (UtilValidate.isNotEmpty(roles)) {
+ // add role to view
+ dynamicView.addMemberEntity("PR", "PartyRole");
+ dynamicView.addAlias("PR", "roleTypeId");
+ dynamicView.addViewLink("PT", "PR", Boolean.FALSE, ModelKeyMap.makeKeyMapList("partyId"));
+
+ // add the expr
+ List<String> roleTypeIds = FastList.newInstance();
+ for (GenericValue role : roles) {
+ roleTypeIds.add(role.getString("roleTypeId"));
+ }
+ andExprs.add(EntityCondition.makeCondition("roleTypeId", EntityOperator.IN, roleTypeIds));
+ }
+ }
+ //End addon modification : portlet-party
+
+ // ----
+ // InventoryItem Fields
+ // ----
+
+ // filter on inventory item's fields
+ String inventoryItemId = (String) context.get("inventoryItemId");
+ String serialNumber = (String) context.get("serialNumber");
+ String softIdentifier = (String) context.get("softIdentifier");
+ if (UtilValidate.isNotEmpty(inventoryItemId) ||
+ UtilValidate.isNotEmpty(serialNumber) ||
+ UtilValidate.isNotEmpty(softIdentifier)) {
+
+ // add role to view
+ dynamicView.addMemberEntity("II", "InventoryItem");
+ dynamicView.addAlias("II", "ownerPartyId");
+ dynamicView.addViewLink("PT", "II", Boolean.FALSE, ModelKeyMap.makeKeyMapList("partyId", "ownerPartyId"));
+ }
+ if (UtilValidate.isNotEmpty(inventoryItemId)) {
+ dynamicView.addAlias("II", "inventoryItemId");
+ // add the expr
+ andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("inventoryItemId"), EntityOperator.LIKE, EntityFunction.UPPER("%" + inventoryItemId + "%")));
+ fieldsToSelect.add("inventoryItemId");
+ }
+ if (UtilValidate.isNotEmpty(serialNumber)) {
+ dynamicView.addAlias("II", "serialNumber");
+ // add the expr
+ andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("serialNumber"), EntityOperator.LIKE, EntityFunction.UPPER("%" + serialNumber + "%")));
+ fieldsToSelect.add("serialNumber");
+ }
+ if (UtilValidate.isNotEmpty(softIdentifier)) {
+ dynamicView.addAlias("II", "softIdentifier");
+ // add the expr
+ andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("softIdentifier"), EntityOperator.LIKE, EntityFunction.UPPER("%" + softIdentifier + "%")));
+ fieldsToSelect.add("softIdentifier");
+ }
+
+ // ----
+ // PostalAddress fields
+ // ----
+ //Begin addon modification : portlet-party
+ /*
+ if ("P".equals(extInfo)) {
+ */
+ String extInfo = (String) context.get("extInfo");
+ if ("P".equals(extInfo) ||
+ UtilValidate.isNotEmpty(context.get("address1"))|| UtilValidate.isNotEmpty(context.get("address2"))||
+ UtilValidate.isNotEmpty(context.get("city"))|| UtilValidate.isNotEmpty(context.get("postalCode"))||
+ UtilValidate.isNotEmpty(context.get("countryGeoId"))|| UtilValidate.isNotEmpty(stateProvinceGeoId)) {
+ //End addon modification : portlet-party
+ // add address to dynamic view
+ dynamicView.addMemberEntity("PC", "PartyContactMech");
+ dynamicView.addMemberEntity("PA", "PostalAddress");
+ dynamicView.addAlias("PC", "contactMechId");
+ dynamicView.addAlias("PA", "address1");
+ dynamicView.addAlias("PA", "address2");
+ dynamicView.addAlias("PA", "city");
+ dynamicView.addAlias("PA", "stateProvinceGeoId");
+ dynamicView.addAlias("PA", "countryGeoId");
+ dynamicView.addAlias("PA", "postalCode");
+ dynamicView.addViewLink("PT", "PC", Boolean.FALSE, ModelKeyMap.makeKeyMapList("partyId"));
+ dynamicView.addViewLink("PC", "PA", Boolean.FALSE, ModelKeyMap.makeKeyMapList("contactMechId"));
+
+ // filter on address1
+ String address1 = (String) context.get("address1");
+ if (UtilValidate.isNotEmpty(address1)) {
+ andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("address1"), EntityOperator.LIKE, EntityFunction.UPPER("%" + address1 + "%")));
+ }
+
+ // filter on address2
+ String address2 = (String) context.get("address2");
+ if (UtilValidate.isNotEmpty(address2)) {
+ andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("address2"), EntityOperator.LIKE, EntityFunction.UPPER("%" + address2 + "%")));
+ }
+
+ // filter on city
+ String city = (String) context.get("city");
+ if (UtilValidate.isNotEmpty(city)) {
+ andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("city"), EntityOperator.LIKE, EntityFunction.UPPER("%" + city + "%")));
+ }
+
+ // filter on state geo
+ if (stateProvinceGeoId != null && !"ANY".equals(stateProvinceGeoId)) {
+ andExprs.add(EntityCondition.makeCondition("stateProvinceGeoId", EntityOperator.EQUALS, stateProvinceGeoId));
+ }
+
+ // filter on country geo
+ String countryGeoId = (String) context.get("countryGeoId");
+ if (UtilValidate.isNotEmpty(countryGeoId)) {
+ andExprs.add(EntityCondition.makeCondition("countryGeoId", EntityOperator.EQUALS, countryGeoId));
+ fieldsToSelect.add("countryGeoId");
+ }
+
+ // filter on postal code
+ String postalCode = (String) context.get("postalCode");
+ if (UtilValidate.isNotEmpty(postalCode)) {
+ andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("postalCode"), EntityOperator.LIKE, EntityFunction.UPPER("%" + postalCode + "%")));
+ }
+
+ fieldsToSelect.add("postalCode");
+ fieldsToSelect.add("city");
+ fieldsToSelect.add("stateProvinceGeoId");
+ }
+
+ // ----
+ // Generic CM Fields
+ // ----
+ //Begin addon modification : portlet-party
+ /*
+ if ("O".equals(extInfo)) {
+ */
+ if ("O".equals(extInfo) || UtilValidate.isNotEmpty(context.get("infoString"))) {
+ //End addon modification : portlet-party
+ // add info to dynamic view
+ dynamicView.addMemberEntity("PC", "PartyContactMech");
+ dynamicView.addMemberEntity("CM", "ContactMech");
+ dynamicView.addAlias("PC", "contactMechId");
+ dynamicView.addAlias("CM", "infoString");
+ dynamicView.addViewLink("PT", "PC", Boolean.FALSE, ModelKeyMap.makeKeyMapList("partyId"));
+ dynamicView.addViewLink("PC", "CM", Boolean.FALSE, ModelKeyMap.makeKeyMapList("contactMechId"));
+
+ // filter on infoString
+ String infoString = (String) context.get("infoString");
+ if (UtilValidate.isNotEmpty(infoString)) {
+ andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("infoString"), EntityOperator.LIKE, EntityFunction.UPPER("%"+infoString+"%")));
+ fieldsToSelect.add("infoString");
+ }
+
+ }
+
+ // ----
+ // TelecomNumber Fields
+ // ----
+ //Begin addon modification : portlet-party
+ /*
+ if ("T".equals(extInfo)) {
+ */
+ if ("T".equals(extInfo) ||
+ UtilValidate.isNotEmpty(context.get("countryCode"))
+ || UtilValidate.isNotEmpty(context.get("areaCode"))
+ || UtilValidate.isNotEmpty(context.get("contactNumber"))) {
+ // add telecom to dynamic view
+ dynamicView.addMemberEntity("PC", "PartyContactMech");
+ dynamicView.addMemberEntity("TM", "TelecomNumber");
+ dynamicView.addAlias("PC", "contactMechId");
+ dynamicView.addAlias("TM", "countryCode");
+ dynamicView.addAlias("TM", "areaCode");
+ dynamicView.addAlias("TM", "contactNumber");
+ dynamicView.addViewLink("PT", "PC", Boolean.FALSE, ModelKeyMap.makeKeyMapList("partyId"));
+ dynamicView.addViewLink("PC", "TM", Boolean.FALSE, ModelKeyMap.makeKeyMapList("contactMechId"));
+
+ // filter on countryCode
+ String countryCode = (String) context.get("countryCode");
+ if (UtilValidate.isNotEmpty(countryCode)) {
+ andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("countryCode"), EntityOperator.EQUALS, EntityFunction.UPPER(countryCode)));
+ }
+
+ // filter on areaCode
+ String areaCode = (String) context.get("areaCode");
+ if (UtilValidate.isNotEmpty(areaCode)) {
+ andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("areaCode"), EntityOperator.EQUALS, EntityFunction.UPPER(areaCode)));
+ }
+
+ // filter on contact number
+ String contactNumber = (String) context.get("contactNumber");
+ //remove non alphanumeric
+ if (UtilValidate.isNotEmpty(contactNumber)) {
+ contactNumber = StringUtil.removeNonNumeric(contactNumber);
+ andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("contactNumber"), EntityOperator.EQUALS, EntityFunction.UPPER(contactNumber)));
+ }
+
+ fieldsToSelect.add("contactNumber");
+ fieldsToSelect.add("areaCode");
+ }
+
+ //Begin addon modification : portlet-party
+ List<String> partyClassificationGroupId = UtilGenerics.checkList( context.get("partyClassificationGroupId") );
+ if (UtilValidate.isNotEmpty(partyClassificationGroupId)) {
+ List<EntityCondition> classCond = FastList.newInstance();
+ int i = 0;
+ for (String classificationGroupId : partyClassificationGroupId) {
+ GenericValue partyClass = null;
+ partyClass = delegator.findOne("PartyClassificationGroup", true, UtilMisc.toMap("partyClassificationGroupId", classificationGroupId));
+ if (partyClass == null) continue;
+
+ // modify the dynamic view
+ dynamicView.addMemberEntity("PCL" + i, "PartyClassification");
+ dynamicView.addAlias("PCL" + i, "partyClassificationGroupId" + i, "partyClassificationGroupId", "partyClassificationGroupId" + i, Boolean.FALSE, Boolean.FALSE, null);
+ dynamicView.addAlias("PCL" + i, "partyClassificationFromDate" + i, "fromDate", "partyClassificationFromDate" + i, Boolean.FALSE, Boolean.FALSE, null);
+ dynamicView.addAlias("PCL" + i, "partyClassificationThruDate" + i, "thruDate", "partyClassificationThruDate" + i, Boolean.FALSE, Boolean.FALSE, null);
+ dynamicView.addViewLink("PT", "PCL" + i, Boolean.TRUE, ModelKeyMap.makeKeyMapList("partyId"));
+
+ dynamicView.addMemberEntity("PCLG" + i, "PartyClassificationGroup");
+ dynamicView.addAlias("PCLG" + i, "partyClassificationTypeId" + i, "partyClassificationTypeId", "partyClassificationTypeId" + i, Boolean.FALSE, Boolean.FALSE, null);
+ dynamicView.addViewLink("PCL" + i, "PCLG" + i, Boolean.TRUE, ModelKeyMap.makeKeyMapList("partyClassificationGroupId"));
+
+ classCond.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("partyClassificationGroupId" + i), EntityOperator.EQUALS, classificationGroupId));
+ classCond.add(EntityDateFilterCondition.makeCondition(UtilDateTime.nowTimestamp(), "partyClassificationFromDate" + i, "partyClassificationThruDate" + i));
+ classCond.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("partyClassificationTypeId" + i), EntityOperator.EQUALS, partyClass.get("partyClassificationTypeId")));
+ i++;
+ }
+ // add the expr
+ andExprs.add(EntityCondition.makeCondition(classCond));
+ //fieldsToSelect.add("partyClassificationGroupId");
+ }
+
+ String comments = (String) context.get("comments");
+ if (UtilValidate.isNotEmpty(comments) && UtilValidate.isNotEmpty(partyTypeId)) {
+ if ("PERSON".equals(partyTypeId)) {
+ // modify the dynamic view
+ if (UtilValidate.isEmpty(firstName) && UtilValidate.isEmpty(lastName)) {
+ //Add memberEntity if necessary
+ dynamicView.addMemberEntity("PE", "Person");
+ dynamicView.addViewLink("PT", "PE", Boolean.FALSE, ModelKeyMap.makeKeyMapList("partyId"));
+ }
+ dynamicView.addAlias("PE", "comments","comments","comments",Boolean.FALSE,Boolean.FALSE,null);
+
+ } else if ("PARTY_GROUP".equals(partyTypeId)) {
+ // modify the dynamic view
+ if (UtilValidate.isEmpty(groupName)) {
+ //Add memberEntity if necessary
+ dynamicView.addMemberEntity("PG", "PartyGroup");
+ dynamicView.addViewLink("PT", "PG", Boolean.FALSE, ModelKeyMap.makeKeyMapList("partyId"));
+ }
+ dynamicView.addAlias("PG", "comments","comments","comments",Boolean.FALSE,Boolean.FALSE,null);
+ }
+
+ // add the expr
+ andExprs.add(EntityCondition.makeCondition(EntityFunction.UPPER_FIELD("comments"), EntityOperator.LIKE, EntityFunction.UPPER("%"+comments+"%")));
+
+ fieldsToSelect.add("comments");
+ }
+
+ if (context.containsKey("roleTypeGroupId")) {
+ dynamicView.setGroupBy(fieldsToSelect);
+ }
+
+ // ---- End of Dynamic View Creation
+
+ // build the main condition
+ Map<String, Object> result = FastMap.newInstance();
+ if (andExprs.size() > 0) result.put("conditions", EntityCondition.makeCondition(andExprs, EntityOperator.AND));
+
+ result.put("dynamicView", dynamicView);
+ result.put("fieldsToSelect", fieldsToSelect);
+ return result;
+ }
+ // #Eam# Portlet-Party
+
public static GenericValue findPartyLatestContactMech(String partyId, String contactMechTypeId, Delegator delegator) {
try {
List<GenericValue> cmList = delegator.findByAnd("PartyAndContactMech", UtilMisc.toMap("partyId", partyId, "contactMechTypeId", contactMechTypeId), UtilMisc.toList("-fromDate"), false);
Added: ofbiz/branches/20120329_portletWidget/applications/party/webapp/partymgr/WEB-INF/actions/party/EditGivenContactMech.groovy
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/applications/party/webapp/partymgr/WEB-INF/actions/party/EditGivenContactMech.groovy?rev=1403874&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/applications/party/webapp/partymgr/WEB-INF/actions/party/EditGivenContactMech.groovy (added)
+++ ofbiz/branches/20120329_portletWidget/applications/party/webapp/partymgr/WEB-INF/actions/party/EditGivenContactMech.groovy Tue Oct 30 21:19:31 2012
@@ -0,0 +1,47 @@
+
+import org.ofbiz.party.contact.*;
+import org.ofbiz.base.util.Debug;
+import org.ofbiz.base.util.UtilValidate;
+import org.ofbiz.entity.util.EntityUtil;
+
+//this script is a mix between EditContactMech.groovy from party and from facility
+
+primaryId = parameters.primaryId;
+context.primaryId = primaryId;
+boolean showOld = Boolean.valueOf(parameters.SHOW_OLD);
+if (UtilValidate.isEmpty(showOld)) {
+ showOld = false;
+}
+
+mechMap = [:]; //Map mechMap = new HashMap();
+
+if ( parameters.entity == "Facility") {
+ facility = delegator.findOne("Facility", [facilityId : primaryId], false);
+ context.facility = facility;
+ ContactMechWorker.getFacilityContactMechAndRelated(request, primaryId, mechMap, showOld);
+ context.mechMap = mechMap;
+
+}
+else if (parameters.entity == "Party") {
+ ContactMechWorker.getContactMechAndRelated(request, primaryId, mechMap, showOld);
+} else if (parameters.entity == "WorkEffort") {
+ ContactMechWorker.getWorkEffortContactMechAndRelated(request, primaryId, mechMap, showOld);
+}
+
+context.mechMap = mechMap;
+
+context.contactMechId = mechMap.contactMechId;
+context.preContactMechTypeId = parameters.preContactMechTypeId;
+context.paymentMethodId = parameters.paymentMethodId;
+
+cmNewPurposeTypeId = parameters.contactMechPurposeTypeId;
+if (cmNewPurposeTypeId) {
+ contactMechPurposeType = delegator.findByPrimaryKey("ContactMechPurposeType", [contactMechPurposeTypeId : cmNewPurposeTypeId]);
+ if (contactMechPurposeType) {
+ context.contactMechPurposeType = contactMechPurposeType;
+ } else {
+ cmNewPurposeTypeId = null;
+ }
+ context.cmNewPurposeTypeId = cmNewPurposeTypeId;
+}
+//context.donePage = parameters.DONE_PAGE ?:"viewprofile?party_id=" + partyId + "&partyId=" + partyId;
Propchange: ofbiz/branches/20120329_portletWidget/applications/party/webapp/partymgr/WEB-INF/actions/party/EditGivenContactMech.groovy
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/branches/20120329_portletWidget/applications/party/webapp/partymgr/WEB-INF/actions/party/EditGivenContactMech.groovy
------------------------------------------------------------------------------
svn:keywords = Date Rev Author URL Id
Propchange: ofbiz/branches/20120329_portletWidget/applications/party/webapp/partymgr/WEB-INF/actions/party/EditGivenContactMech.groovy
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: ofbiz/branches/20120329_portletWidget/applications/party/webapp/partymgr/WEB-INF/actions/party/FormatCreditCardNumber.groovy
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/applications/party/webapp/partymgr/WEB-INF/actions/party/FormatCreditCardNumber.groovy?rev=1403874&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/applications/party/webapp/partymgr/WEB-INF/actions/party/FormatCreditCardNumber.groovy (added)
+++ ofbiz/branches/20120329_portletWidget/applications/party/webapp/partymgr/WEB-INF/actions/party/FormatCreditCardNumber.groovy Tue Oct 30 21:19:31 2012
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.ofbiz.base.util.UtilValidate;
+
+//Display only last four digits from card number
+if (UtilValidate.isNotEmpty(creditCard) && UtilValidate.isNotEmpty(creditCard.cardNumber)) {
+ cardNumberDisplay = "";
+ cardNumber = creditCard.cardNumber;
+ size = cardNumber.size() - 4;
+ if (size >0) {
+ for (int i = 0; i < size; i++) {
+ cardNumberDisplay += "*";
+ }
+ cardNumberDisplay += cardNumber[size .. size + 3];
+ context.cardNumber = cardNumberDisplay;
+ }
+}
\ No newline at end of file
Propchange: ofbiz/branches/20120329_portletWidget/applications/party/webapp/partymgr/WEB-INF/actions/party/FormatCreditCardNumber.groovy
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/branches/20120329_portletWidget/applications/party/webapp/partymgr/WEB-INF/actions/party/FormatCreditCardNumber.groovy
------------------------------------------------------------------------------
svn:keywords = Date Rev Author URL Id
Propchange: ofbiz/branches/20120329_portletWidget/applications/party/webapp/partymgr/WEB-INF/actions/party/FormatCreditCardNumber.groovy
------------------------------------------------------------------------------
svn:mime-type = text/plain