This is an automated email from the ASF dual-hosted git repository.
jleroux pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git The following commit(s) were added to refs/heads/trunk by this push: new e259170 Improved: Improvement on Find BOM screen (OFBIZ-12179) e259170 is described below commit e259170b77f73e8320b8ab7e23b158dab48a2dc9 Author: Jacques Le Roux <[hidden email]> AuthorDate: Thu Feb 18 11:56:43 2021 +0100 Improved: Improvement on Find BOM screen (OFBIZ-12179) While exploring the manufacturing code I observed on the find screen BOM type is set hardcoded. We can improve it by using the entity-option tag to allow all ProductAssocType with parentTypeId equals "PRODUCT_COMPONENT". Thanks: Nameet Jain --- applications/manufacturing/groovyScripts/bom/FindProductBom.groovy | 6 +++--- applications/manufacturing/widget/manufacturing/BomForms.xml | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/applications/manufacturing/groovyScripts/bom/FindProductBom.groovy b/applications/manufacturing/groovyScripts/bom/FindProductBom.groovy index 9d5f5a4..9cfd85d 100644 --- a/applications/manufacturing/groovyScripts/bom/FindProductBom.groovy +++ b/applications/manufacturing/groovyScripts/bom/FindProductBom.groovy @@ -17,6 +17,7 @@ * under the License. */ +import org.apache.ofbiz.entity.util.EntityUtil import org.apache.ofbiz.entity.condition.EntityCondition import org.apache.ofbiz.entity.condition.EntityOperator @@ -33,9 +34,8 @@ if (parameters.productAssocTypeId) { cond = EntityCondition.makeCondition("productAssocTypeId", EntityOperator.EQUALS, parameters.productAssocTypeId) condList.add(cond) } else { - cond = EntityCondition.makeCondition([EntityCondition.makeCondition("productAssocTypeId", EntityOperator.EQUALS, "ENGINEER_COMPONENT"), - EntityCondition.makeCondition("productAssocTypeId", EntityOperator.EQUALS, "MANUF_COMPONENT") - ], EntityOperator.OR) + bomAssocTypeIds = EntityUtil.getFieldListFromEntityList(select("productAssocTypeId").from("ProductAssocType").where("parentTypeId", "PRODUCT_COMPONENT").queryList(), "productAssocTypeId", true) + cond = EntityCondition.makeCondition("productAssocTypeId", EntityOperator.IN, bomAssocTypeIds) condList.add(cond) } bomListIterator = select("productId", "internalName", "productAssocTypeId") diff --git a/applications/manufacturing/widget/manufacturing/BomForms.xml b/applications/manufacturing/widget/manufacturing/BomForms.xml index 7dbe74e..777a87e 100644 --- a/applications/manufacturing/widget/manufacturing/BomForms.xml +++ b/applications/manufacturing/widget/manufacturing/BomForms.xml @@ -136,8 +136,9 @@ under the License. <field name="productIdTo" title="${uiLabelMap.ProductProductIdTo}"><lookup target-form-name="LookupProduct"/></field> <field name="productAssocTypeId" title="${uiLabelMap.ManufacturingBomType}"> <drop-down allow-empty="true"> - <option key="MANUF_COMPONENT" description="${uiLabelMap.ManufacturingBillOfMaterials}"/> - <option key="ENGINEER_COMPONENT" description="${uiLabelMap.ManufacturingEngineeringBillOfMaterials}"/> + <entity-options entity-name="ProductAssocType" description="${description}"> + <entity-constraint name="parentTypeId" operator="equals" value="PRODUCT_COMPONENT"/> + </entity-options> </drop-down> </field> <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field> |
Free forum by Nabble | Edit this page |