Author: apatel
Date: Sat Jul 14 03:19:31 2007 New Revision: 556256 URL: http://svn.apache.org/viewvc?view=rev&rev=556256 Log: Service to expire a contactmechpurpose if it exists. Found useful in Party profile page. Modified: ofbiz/trunk/applications/party/servicedef/services.xml ofbiz/trunk/applications/party/src/org/ofbiz/party/contact/ContactMechServices.java Modified: ofbiz/trunk/applications/party/servicedef/services.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/servicedef/services.xml?view=diff&rev=556256&r1=556255&r2=556256 ============================================================================== --- ofbiz/trunk/applications/party/servicedef/services.xml (original) +++ ofbiz/trunk/applications/party/servicedef/services.xml Sat Jul 14 03:19:31 2007 @@ -490,6 +490,13 @@ <attribute name="contactMechPurposeTypeId" type="String" mode="IN" optional="false"/> <attribute name="fromDate" type="Timestamp" mode="IN" optional="false"/> </service> + <service name="deletePartyContactMechPurposeIfExists" engine="java" + location="org.ofbiz.party.contact.ContactMechServices" invoke="deletePartyContactMechPurposeIfExists" auth="true"> + <description>Delete 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"/> + </service> <!-- ContactMechList services --> <service name="createContactMechLink" default-entity-name="ContactMechLink" engine="simple" Modified: ofbiz/trunk/applications/party/src/org/ofbiz/party/contact/ContactMechServices.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/src/org/ofbiz/party/contact/ContactMechServices.java?view=diff&rev=556256&r1=556255&r2=556256 ============================================================================== --- ofbiz/trunk/applications/party/src/org/ofbiz/party/contact/ContactMechServices.java (original) +++ ofbiz/trunk/applications/party/src/org/ofbiz/party/contact/ContactMechServices.java Sat Jul 14 03:19:31 2007 @@ -849,6 +849,57 @@ return result; } + public static Map deletePartyContactMechPurposeIfExists(DispatchContext ctx, Map context) { + //Debug.logInfo(new Exception(), "In createPartyContactMechPurpose context: " + context, module); + Map result = new HashMap(); + GenericDelegator delegator = ctx.getDelegator(); + Security security = ctx.getSecurity(); + GenericValue userLogin = (GenericValue) context.get("userLogin"); + + String partyId = ServiceUtil.getPartyIdCheckSecurity(userLogin, security, context, result, "PARTYMGR", "_PCM_DELETE"); + String errMsg = null; + Locale locale = (Locale) context.get("locale"); + + if (result.size() > 0) { + return result; + } + + // required parameters + String contactMechId = (String) context.get("contactMechId"); + String contactMechPurposeTypeId = (String) context.get("contactMechPurposeTypeId"); + + GenericValue tempVal = null; + try { + Map pcmpFindMap = UtilMisc.toMap("partyId", partyId, "contactMechId", contactMechId, "contactMechPurposeTypeId", contactMechPurposeTypeId); + //Debug.logInfo("pcmpFindMap = " + pcmpFindMap, module); + List allPCMPs = EntityUtil.filterByDate(delegator.findByAnd("PartyContactMechPurpose", pcmpFindMap), true); + + tempVal = EntityUtil.getFirst(allPCMPs); + } catch (GenericEntityException e) { + Debug.logWarning(e.getMessage(), module); + tempVal = null; + } + if (tempVal != null) { + Map deletePcmCtx = UtilMisc.toMap("contactMechId", context.get("contactMechId")); + deletePcmCtx.put("contactMechPurposeTypeId", context.get("contactMechPurposeTypeId")); + deletePcmCtx.put("fromDate", tempVal.get("fromDate")); + deletePcmCtx.put("userLogin", context.get("userLogin")); + try { + Map deletePcmResult = ctx.getDispatcher().runSync("deletePartyContactMechPurpose", deletePcmCtx); + if(ServiceUtil.isError(deletePcmResult)){ + return deletePcmResult; + } + } catch (GenericServiceException e) { + Debug.logWarning(e.getMessage(), module); + Map messageMap = UtilMisc.toMap("errMessage", e.getMessage()); + errMsg = UtilProperties.getMessage(resource,"contactmechservices.could_not_delete_purpose_from_contact_mechanism_read", messageMap, locale); + return ServiceUtil.returnError(errMsg); + } + } + result.put(ModelService.RESPONSE_MESSAGE, ModelService.RESPOND_SUCCESS); + return result; + + } /** * Deletes the PartyContactMechPurpose corresponding to the parameters in the context * <b>security check</b>: userLogin partyId must equal partyId, or must have PARTYMGR_DELETE permission |
Free forum by Nabble | Edit this page |