|
Author: jleroux
Date: Fri Jul 2 11:12:36 2010 New Revision: 959951 URL: http://svn.apache.org/viewvc?rev=959951&view=rev Log: New getAssociatedProductsList service to help dynamically populate a products dropdown given a product category id from a change in another dropdown, possibly sorted on sequenceNum. As they are no such examples in OFBiz yet, I will later create an example of use in Widget form Examples which of course needs some javascript (it's for now based on the same than for country/states) At term I would like to generalize and have it embedded in OFBiz widgets, will see even later... I will also consider Anil's proposition: https://code.google.com/p/ue-protoui/source/browse/trunk/src/DependentSelect.js Modified: ofbiz/trunk/applications/product/script/org/ofbiz/product/category/CategoryServices.xml ofbiz/trunk/applications/product/servicedef/services_view.xml Modified: ofbiz/trunk/applications/product/script/org/ofbiz/product/category/CategoryServices.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/product/category/CategoryServices.xml?rev=959951&r1=959950&r2=959951&view=diff ============================================================================== --- ofbiz/trunk/applications/product/script/org/ofbiz/product/category/CategoryServices.xml (original) +++ ofbiz/trunk/applications/product/script/org/ofbiz/product/category/CategoryServices.xml Fri Jul 2 11:12:36 2010 @@ -840,4 +840,29 @@ under the License. <field-to-result field="hasPermission"/> <field-to-result field="failMessage"/> </simple-method> + + <!-- To help dynamically populate a products dropdown given a product category id from a change in another dropdown, possibly sorted on sequenceNum --> + <simple-method method-name="getAssociatedProductsList" short-description="Set the product options for selected product category" login-required="false"> + <set field="parameters.categoryId" from-field="parameters.productCategoryId"/> + <set-service-fields service-name="getProductCategoryMembers" map="parameters" to-map="getProductCategoryMembersMap"/> + <call-service service-name="getProductCategoryMembers" in-map-name="getProductCategoryMembersMap"> + <result-to-field result-name="categoryMembers" field="productsList"/> + </call-service> + <order-map-list list="productsList"> + <order-by field-name="sequenceNum"/> + </order-map-list> + <iterate list="productsList" entry="productMember"> + <entity-one entity-name="Product" value-field="product"> + <field-map field-name="productId" from-field="productMember.productId"/> + </entity-one> + <set field="productName" value="${product.internalName}: ${product.productId}"/> + <field-to-list list="products" field="productName"/> + </iterate> + <if-empty field="products"> + <set field="noOption" value="No products: _NA_"/> + <field-to-list list="products" field="noOption"/> + </if-empty> + <field-to-result field="products"/> + </simple-method> + </simple-methods> Modified: ofbiz/trunk/applications/product/servicedef/services_view.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/servicedef/services_view.xml?rev=959951&r1=959950&r2=959951&view=diff ============================================================================== --- ofbiz/trunk/applications/product/servicedef/services_view.xml (original) +++ ofbiz/trunk/applications/product/servicedef/services_view.xml Fri Jul 2 11:12:36 2010 @@ -116,6 +116,13 @@ under the License. <attribute name="category" type="org.ofbiz.entity.GenericValue" mode="OUT"/> <attribute name="categoryMembers" type="java.util.Collection" mode="OUT"/> </service> + + <service name="getAssociatedProductsList" engine="simple" auth="false" + location="component://product/script/org/ofbiz/product/category/CategoryServices.xml" invoke="getAssociatedProductsList"> + <attribute name="productCategoryId" mode="IN" type="String" optional="false"/> + <attribute name="products" mode="OUT" type="java.util.List"/> + </service> + <service name="getPreviousNextProducts" engine="java" location="org.ofbiz.product.category.CategoryServices" invoke="getPreviousNextProducts"> <description>Gets the previous and next product Ids.</description> |
| Free forum by Nabble | Edit this page |
