To be clear, I'd like to introduce a dependent dropdows mechanism in widgets. I'm quite sure it's not easy, not sure it's even feasible at this stage...
Jacques From: <[email protected]>
Author: jleroux Date: Thu Jul 1 14:05:21 2010 New Revision: 959673 URL: http://svn.apache.org/viewvc?rev=959673&view=rev Log: Adds a getAssociatedProductsList method. I will certainly add the companions service and request later in the Product application. I have also the vague desire to generalize this more, as I have been able to quickly use it in a widget form following the Freemarker way already used. Modified: ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonWorkers.java Modified: ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonWorkers.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonWorkers.java?rev=959673&r1=959672&r2=959673&view=diff ============================================================================== --- ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonWorkers.java (original) +++ ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonWorkers.java Thu Jul 1 14:05:21 2010 @@ -33,6 +33,7 @@ import org.ofbiz.entity.GenericValue; import org.ofbiz.entity.condition.EntityCondition; import org.ofbiz.entity.condition.EntityExpr; import org.ofbiz.entity.condition.EntityOperator; +import org.ofbiz.entity.util.EntityUtil; /** * Common Workers @@ -135,6 +136,35 @@ public class CommonWorkers { return geoList; } + public static List<GenericValue> getAssociatedProductsList(Delegator delegator, String productCategoryId) { + return getAssociatedProductsList(delegator, productCategoryId, null); + } + + /** + * Returns a list of active related products for a product category + */ + public static List<GenericValue> getAssociatedProductsList(Delegator delegator, String productCategoryId, String listOrderBy) { + List<GenericValue> products = FastList.newInstance(); + if (UtilValidate.isNotEmpty(productCategoryId)) { + EntityCondition productsFindCond = EntityCondition.makeCondition( + EntityCondition.makeCondition("productCategoryId", productCategoryId)); + + if (UtilValidate.isEmpty(listOrderBy)) { + listOrderBy = "sequenceNum"; + } + List<String> sortList = UtilMisc.toList(listOrderBy); + + try { + products = delegator.findList("ProductCategoryMember", productsFindCond, null, sortList, null, true); + products = EntityUtil.filterByDate(products); + } catch (GenericEntityException e) { + Debug.logError(e, "Cannot lookup ProductCategoryMember", module); + } + } + + return products; + } + /** * A generic method to be used on Type enities, e.g. ProductType. Recurse to the root level in the type hierarchy * and checks if the specified type childType has parentType as its parent somewhere in the hierarchy.
