1 16 package com.opensourcestrategies.crmsfa.ajax; 17 18 import java.util.*; 19 import java.io.UnsupportedEncodingException ; 20 import javax.servlet.http.*; 21 22 import org.ofbiz.base.util.*; 23 import org.ofbiz.entity.*; 24 import org.ofbiz.entity.condition.*; 25 import org.ofbiz.entity.util.*; 26 import org.ofbiz.entity.transaction.*; 27 import org.ofbiz.service.*; 28 29 34 public class AjaxEvents { 35 36 public static final String module = AjaxEvents.class.getName(); 37 38 39 public static final int DEFAULT_AUTOCOMPLETE_RESULTS_SIZE = 10; 40 41 46 public static String autocompleteAccounts(HttpServletRequest request, HttpServletResponse response) { 47 GenericDelegator delegator = (GenericDelegator) request.getAttribute("delegator"); 48 49 String accountName = null; 51 try { 52 accountName = new String (request.getParameter("accountName").getBytes("iso-8859-1"), "UTF-8"); 53 } catch (UnsupportedEncodingException e) { 54 } 55 if (accountName == null || accountName.trim().length() == 0) return "success"; 56 57 try { 58 List conditions = UtilMisc.toList( 60 new EntityExpr("roleTypeId", EntityOperator.EQUALS, "ACCOUNT"), 61 new EntityExpr("groupName", true, EntityOperator.LIKE, "%" + accountName.trim() + "%", true)); 62 EntityConditionList conditionList = new EntityConditionList(conditions, EntityOperator.AND); 63 List accounts = delegator.findByCondition("PartyRoleAndPartyDetail", conditionList, UtilMisc.toList("partyId", "groupName"), UtilMisc.toList("groupName")); 64 65 request.setAttribute("accounts", accounts); 67 return "success"; 68 } catch (GenericEntityException e) { 69 Debug.logError(e, e.getMessage(), module); 70 return "error"; 71 } 72 } 73 74 private static EntityCondition accountOrProspectRoleCondition = new EntityConditionList( UtilMisc.toList( 76 new EntityExpr("roleTypeIdFrom", EntityOperator.EQUALS, "ACCOUNT"), 77 new EntityExpr("roleTypeIdFrom", EntityOperator.EQUALS, "PROSPECT") 78 ), EntityOperator.OR); 79 private static EntityFindOptions entityFindOptions = new EntityFindOptions(true, EntityFindOptions.TYPE_FORWARD_ONLY, EntityFindOptions.CONCUR_READ_ONLY, true); 80 private static List partyNameFields = UtilMisc.toList("partyId", "displayName"); 81 private static List partyNameOrderBy = UtilMisc.toList("displayName"); 82 83 88 public static String autocompleteAccountsOrLeads(HttpServletRequest request, HttpServletResponse response) { 89 GenericDelegator delegator = (GenericDelegator) request.getAttribute("delegator"); 90 HttpSession session = request.getSession(); 91 GenericValue userLogin = (GenericValue) session.getAttribute("userLogin"); 92 if (delegator == null || userLogin == null) return "error"; 93 94 String partyName = null; 96 try { 97 partyName = new String (request.getParameter("partyName").getBytes("iso-8859-1"), "UTF-8"); 98 } catch (UnsupportedEncodingException e) { 99 Debug.logError(e, e.getMessage()); 100 } 101 if (partyName == null || partyName.trim().length() == 0) return "success"; 102 103 partyName = partyName.trim().toUpperCase(); 105 106 try { 107 EntityCondition conditions = new EntityConditionList( UtilMisc.toList( 109 new EntityExpr("partyIdTo", EntityOperator.EQUALS, userLogin.get("partyId")), 110 EntityUtil.getFilterByDateExpr(), 111 accountOrProspectRoleCondition 112 ), EntityOperator.AND); 113 114 TransactionUtil.begin(); 116 EntityListIterator iterator = delegator.findListIteratorByCondition("PartyFromSummaryByRelationship", conditions, null, 117 partyNameFields, partyNameOrderBy, entityFindOptions); 118 119 ArrayList parties = new ArrayList(); 121 GenericValue party = null; 122 String searchString = null; 123 int results = 0; 124 while ((party = (GenericValue) iterator.next()) != null) { 125 searchString = party.getString("displayName").toUpperCase(); 126 if (searchString.indexOf(partyName) > -1) { 127 parties.add(party); 128 results += 1; 129 } 130 if (results >= DEFAULT_AUTOCOMPLETE_RESULTS_SIZE) 131 break; 132 } 133 134 iterator.close(); 136 TransactionUtil.commit(); 137 138 request.setAttribute("parties", parties); 140 return "success"; 141 } catch (GenericEntityException e) { 142 Debug.logError(e, module); 143 return "error"; 144 } 145 } 146 } 147 | Popular Tags |