Author: jonesde
Date: Fri Apr 13 12:07:22 2007 New Revision: 528595 URL: http://svn.apache.org/viewvc?view=rev&rev=528595 Log: A few improvements/fixes for the product search stuff; now processes feature and feature category parameters correctly, and outputs them in search strings correctly as well; also inclues patch from Anil Patel in OFBIZ-886 to add output of supplier constraint in search parameters string Modified: ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductSearch.java ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductSearchSession.java ofbiz/trunk/applications/product/webapp/catalog/find/advancedsearch.ftl ofbiz/trunk/applications/product/webapp/catalog/find/keywordsearch.ftl Modified: ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductSearch.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductSearch.java?view=diff&rev=528595&r1=528594&r2=528595 ============================================================================== --- ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductSearch.java (original) +++ ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductSearch.java Fri Apr 13 12:07:22 2007 @@ -902,6 +902,13 @@ ppBuf.append(productFeatureType.getString("description") + ": "); ppBuf.append(productFeature.getString("description")); } + if (this.exclude != null) { + if (Boolean.TRUE.equals(this.exclude)) { + ppBuf.append(" (Exclude)"); + } else { + ppBuf.append(" (Always Include)"); + } + } return (ppBuf.toString()); } @@ -973,6 +980,13 @@ } } + if (this.exclude != null) { + if (Boolean.TRUE.equals(this.exclude)) { + ppBuf.append(" (Exclude)"); + } else { + ppBuf.append(" (Always Include)"); + } + } return (ppBuf.toString()); } Modified: ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductSearchSession.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductSearchSession.java?view=diff&rev=528595&r1=528594&r2=528595 ============================================================================== --- ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductSearchSession.java (original) +++ ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductSearchSession.java Fri Apr 13 12:07:22 2007 @@ -513,12 +513,13 @@ Iterator parameterNameIter = parameters.keySet().iterator(); while (parameterNameIter.hasNext()) { String parameterName = (String) parameterNameIter.next(); - if (parameterName.startsWith("SEARCH_FEAT")) { + if (parameterName.startsWith("SEARCH_FEAT") && !parameterName.startsWith("SEARCH_FEAT_EXC")) { String productFeatureId = (String) parameters.get(parameterName); if (productFeatureId != null && productFeatureId.length() > 0) { - String paramNameExt = parameterName.substring("SEARCH_FEAT".length() + 1); + String paramNameExt = parameterName.substring("SEARCH_FEAT".length()); String searchCategoryExc = (String) parameters.get("SEARCH_FEAT_EXC" + paramNameExt); Boolean exclude = UtilValidate.isEmpty(searchCategoryExc) ? null : new Boolean(!"N".equals(searchCategoryExc)); + //Debug.logInfo("parameterName=" + parameterName + ", paramNameExt=" + paramNameExt + ", searchCategoryExc=" + searchCategoryExc + ", exclude=" + exclude, module); searchAddConstraint(new ProductSearch.FeatureConstraint(productFeatureId, exclude), session); } } @@ -535,10 +536,10 @@ Iterator parameterProdFeatureCatNameIter = parameters.keySet().iterator(); while (parameterProdFeatureCatNameIter.hasNext()) { String parameterName = (String) parameterProdFeatureCatNameIter.next(); - if (parameterName.startsWith("SEARCH_PROD_FEAT_CAT")) { + if (parameterName.startsWith("SEARCH_PROD_FEAT_CAT") && !parameterName.startsWith("SEARCH_PROD_FEAT_CAT_EXC")) { String productFeatureCategoryId = (String) parameters.get(parameterName); if (productFeatureCategoryId != null && productFeatureCategoryId.length() > 0) { - String paramNameExt = parameterName.substring("SEARCH_PROD_FEAT_CAT".length() + 1); + String paramNameExt = parameterName.substring("SEARCH_PROD_FEAT_CAT".length()); String searchProdFeatureCategoryExc = (String) parameters.get("SEARCH_PROD_FEAT_CAT_EXC" + paramNameExt); Boolean exclude = UtilValidate.isEmpty(searchProdFeatureCategoryExc) ? null : new Boolean(!"N".equals(searchProdFeatureCategoryExc)); searchAddConstraint(new ProductSearch.ProductFeatureCategoryConstraint(productFeatureCategoryId, exclude), session); @@ -728,6 +729,7 @@ Iterator constraintIter = constraintList.iterator(); int categoriesCount = 0; int featuresCount = 0; + int featureCategoriesCount = 0; int keywordsCount = 0; boolean isNotFirst = false; while (constraintIter.hasNext()) { @@ -768,7 +770,7 @@ searchParamString.append(fc.productFeatureId); if (fc.exclude != null) { searchParamString.append("&SEARCH_FEAT_EXC"); - searchParamString.append(categoriesCount); + searchParamString.append(featuresCount); searchParamString.append("="); searchParamString.append(fc.exclude.booleanValue() ? "Y" : "N"); } @@ -776,6 +778,24 @@ } else if (psc instanceof ProductSearch.FeatureSetConstraint) { ProductSearch.FeatureSetConstraint fsc = (ProductSearch.FeatureSetConstraint) psc; */ + } else if (psc instanceof ProductSearch.ProductFeatureCategoryConstraint) { + ProductSearch.ProductFeatureCategoryConstraint pfcc = (ProductSearch.ProductFeatureCategoryConstraint) psc; + featureCategoriesCount++; + if (isNotFirst) { + searchParamString.append("&"); + } else { + isNotFirst = true; + } + searchParamString.append("SEARCH_PROD_FEAT_CAT"); + searchParamString.append(featureCategoriesCount); + searchParamString.append("="); + searchParamString.append(pfcc.productFeatureCategoryId); + if (pfcc.exclude != null) { + searchParamString.append("&SEARCH_PROD_FEAT_CAT_EXC"); + searchParamString.append(featureCategoriesCount); + searchParamString.append("="); + searchParamString.append(pfcc.exclude.booleanValue() ? "Y" : "N"); + } } else if (psc instanceof ProductSearch.KeywordConstraint) { ProductSearch.KeywordConstraint kc = (ProductSearch.KeywordConstraint) psc; keywordsCount++; @@ -810,6 +830,18 @@ if (lprc.lowPrice != null) searchParamString.append(lprc.lowPrice); searchParamString.append("_"); if (lprc.highPrice != null) searchParamString.append(lprc.highPrice); + } + } else if (psc instanceof ProductSearch.SupplierConstraint) { + ProductSearch.SupplierConstraint suppc = (ProductSearch.SupplierConstraint) psc; + if (suppc.supplierPartyId != null) { + if (isNotFirst) { + searchParamString.append("&"); + } else { + isNotFirst = true; + } + searchParamString.append("SEARCH_SUPPLIER_ID"); + searchParamString.append("="); + searchParamString.append(suppc.supplierPartyId); } } } Modified: ofbiz/trunk/applications/product/webapp/catalog/find/advancedsearch.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/find/advancedsearch.ftl?view=diff&rev=528595&r1=528594&r2=528595 ============================================================================== --- ofbiz/trunk/applications/product/webapp/catalog/find/advancedsearch.ftl (original) +++ ofbiz/trunk/applications/product/webapp/catalog/find/advancedsearch.ftl Fri Apr 13 12:07:22 2007 @@ -37,7 +37,7 @@ </tr> <#else> <tr> - <td align="right" valign="middle"> + <td align="right" valign="top"> <div class="tabletext">${uiLabelMap.ProductCatalog}:</div> </td> <td valign="middle"> @@ -56,7 +56,7 @@ </td> </tr> <tr> - <td align="right" valign="middle"> + <td align="right" valign="top"> <div class="tabletext">${uiLabelMap.ProductCategory}:</div> </td> <td valign="middle"> @@ -74,7 +74,7 @@ </tr> </#if> <tr> - <td align="right" valign="middle"> + <td align="right" valign="top"> <div class="tabletext">${uiLabelMap.ProductKeywords}:</div> </td> <td valign="middle"> @@ -86,7 +86,7 @@ </td> </tr> <tr> - <td align="right" valign="middle"> + <td align="right" valign="top"> <div class="tabletext">${uiLabelMap.ProductFeatureCategory} ${uiLabelMap.CommonIds}:</div> </td> <td valign="middle"> @@ -112,7 +112,7 @@ </tr> <tr> - <td align="right" valign="middle"> + <td align="right" valign="top"> <div class="tabletext">${uiLabelMap.ProductFeatures} ${uiLabelMap.CommonIds}:</div> </td> <td valign="middle"> @@ -137,7 +137,7 @@ </td> </tr> <tr> - <td align="right" valign="middle"> + <td align="right" valign="top"> <div>${uiLabelMap.ListPriceRange}:</div> </td> <td valign="middle"> @@ -217,7 +217,7 @@ </#list> <div class="tabletext">${uiLabelMap.CommonSortedBy}: ${searchSortOrderString}</div> <div class="tabletext"> - ${uiLabelMap.ProductNewSearch}<input type="radio" name="clearSearch" value="Y" checked/> + ${uiLabelMap.ProductNewSearch}<input type="radio" name="clearSearch" value="Y" checked="checked"/> ${uiLabelMap.ProductRefineSearch}<input type="radio" name="clearSearch" value="N"/> </div> </td> Modified: ofbiz/trunk/applications/product/webapp/catalog/find/keywordsearch.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/find/keywordsearch.ftl?view=diff&rev=528595&r1=528594&r2=528595 ============================================================================== --- ofbiz/trunk/applications/product/webapp/catalog/find/keywordsearch.ftl (original) +++ ofbiz/trunk/applications/product/webapp/catalog/find/keywordsearch.ftl Fri Apr 13 12:07:22 2007 @@ -188,8 +188,8 @@ <div class="tabletext"> <form method="post" action="" name="searchShowParams"> <#assign searchParams = Static["org.ofbiz.product.product.ProductSearchSession"].makeSearchParametersString(session)> - <b>Plain Search Parameters:</b><input type="text" size="60" name="searchParameters" value="${searchParams}" class="inputBox"> - <b>HTML Search Parameters:</b><input type="text" size="60" name="searchParameters" value="${searchParams?html}" class="inputBox"> + <div><b>Plain Search Parameters:</b><input type="text" size="60" name="searchParameters" value="${searchParams}" class="inputBox"></div> + <div><b>HTML Search Parameters:</b><input type="text" size="60" name="searchParameters" value="${searchParams?html}" class="inputBox"></div> <input type="hidden" name="clearSearch" value="N"> </form> </div> |
Free forum by Nabble | Edit this page |