| 1 16 17 18 39 40 package com.opensourcestrategies.crmsfa.common; 41 42 import java.util.Map ; 43 import java.util.Locale ; 44 45 import org.ofbiz.entity.GenericValue; 46 import org.ofbiz.entity.GenericDelegator; 47 import org.ofbiz.service.DispatchContext; 48 import org.ofbiz.service.GenericServiceException; 49 import org.ofbiz.service.LocalDispatcher; 50 import org.ofbiz.service.ServiceUtil; 51 import org.ofbiz.security.Security; 52 53 import com.opensourcestrategies.crmsfa.security.CrmsfaSecurity; 54 import com.opensourcestrategies.crmsfa.util.UtilCommon; 55 56 62 63 public class NoteServices { 64 65 public static final String module = NoteServices.class.getName(); 66 67 public static Map createAccountNote(DispatchContext dctx, Map context) { 68 return createNoteWithPermission(dctx, context, "CRMSFA_ACCOUNT", "_UPDATE"); 69 } 70 71 public static Map createContactNote(DispatchContext dctx, Map context) { 72 return createNoteWithPermission(dctx, context, "CRMSFA_CONTACT", "_UPDATE"); 73 } 74 75 public static Map createLeadNote(DispatchContext dctx, Map context) { 76 return createNoteWithPermission(dctx, context, "CRMSFA_LEAD", "_UPDATE"); 77 } 78 79 84 private static Map createNoteWithPermission(DispatchContext dctx, Map context, String module, String operation) { 85 LocalDispatcher dispatcher = dctx.getDispatcher(); 86 Security security = dctx.getSecurity(); 87 GenericValue userLogin = (GenericValue) context.get("userLogin"); 88 Locale locale = (Locale ) context.get("locale"); 89 90 String partyId = (String ) context.get("partyId"); 92 93 if (!CrmsfaSecurity.hasPartyRelationSecurity(security, module, operation, userLogin, partyId)) { 95 return UtilCommon.createAndLogServiceError("CrmErrorPermissionDenied", locale, module); 96 } 97 98 try { 100 Map serviceResult = dispatcher.runSync("createPartyNote", context); 101 if (ServiceUtil.isError(serviceResult)) { 102 return UtilCommon.createAndLogServiceError(serviceResult, "CrmErrorCreateNoteFail", locale, module); 103 } 104 } catch (GenericServiceException e) { 105 return UtilCommon.createAndLogServiceError(e, "CrmErrorCreateNoteFail", locale, module); 106 } 107 return ServiceUtil.returnSuccess(); 108 } 109 110 public static Map createCaseNote(DispatchContext dctx, Map context) { 111 LocalDispatcher dispatcher = dctx.getDispatcher(); 112 GenericDelegator delegator = dctx.getDelegator(); 113 Security security = dctx.getSecurity(); 114 GenericValue userLogin = (GenericValue) context.get("userLogin"); 115 Locale locale = (Locale ) context.get("locale"); 116 117 String custRequestId = (String ) context.get("custRequestId"); 119 120 if (!CrmsfaSecurity.hasCasePermission(security, "_UPDATE", userLogin, custRequestId)) { 122 return UtilCommon.createAndLogServiceError("CrmErrorPermissionDenied", locale, module); 123 } 124 125 try { 127 Map serviceResult = dispatcher.runSync("createCustRequestNote", context); 128 if (ServiceUtil.isError(serviceResult)) { 129 return UtilCommon.createAndLogServiceError(serviceResult, "CrmErrorCreateNoteFail", locale, module); 130 } 131 } catch (GenericServiceException e) { 132 return UtilCommon.createAndLogServiceError(e, "CrmErrorCreateNoteFail", locale, module); 133 } 134 return ServiceUtil.returnSuccess(); 135 } 136 } 137 | Popular Tags |