Author: jleroux
Date: Thu Sep 19 10:17:46 2013
New Revision: 1524676
URL:
http://svn.apache.org/r1524676Log:
A modified patch from Anahita Goljahani for "Overview of Bills of Material doesn't paginate"
https://issues.apache.org/jira/browse/OFBIZ-5324When having more than 20 BoM's in Manufacturing the overview doesn't paginate.
jleroux; I'm not quite sure why an orderBy was necessary but it works and is a simple enough solution. I refactored things a bit and kept find instead of proposed findList. So this just add an orderBy to the find
Modified:
ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/bom/FindProductBom.groovy
Modified: ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/bom/FindProductBom.groovy
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/bom/FindProductBom.groovy?rev=1524676&r1=1524675&r2=1524676&view=diff==============================================================================
--- ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/bom/FindProductBom.groovy (original)
+++ ofbiz/trunk/applications/manufacturing/webapp/manufacturing/WEB-INF/actions/bom/FindProductBom.groovy Thu Sep 19 10:17:46 2013
@@ -20,17 +20,16 @@
import org.ofbiz.base.util.*;
import org.ofbiz.entity.util.*;
import org.ofbiz.entity.condition.*;
-import javolution.util.FastList;
-import javolution.util.FastSet;
-import javolution.util.FastMap;
+
+fieldToSelect = ["productId", "internalName", "productAssocTypeId"] as Set;
+orderBy = ["productId", "productAssocTypeId"];
if (!parameters.productId && !parameters.productIdTo && !parameters.productAssocTypeId) {
cond = EntityCondition.makeCondition([EntityCondition.makeCondition("productAssocTypeId", EntityOperator.EQUALS, "ENGINEER_COMPONENT"),
EntityCondition.makeCondition("productAssocTypeId", EntityOperator.EQUALS, "MANUF_COMPONENT")
], EntityOperator.OR);
findOpts = new EntityFindOptions(true, EntityFindOptions.TYPE_SCROLL_INSENSITIVE, EntityFindOptions.CONCUR_READ_ONLY, true);
- fieldToSelect = UtilMisc.toSet("productId","internalName","productAssocTypeId");
- bomListIterator = delegator.find("ProductAndAssoc", cond, null, fieldToSelect, null, findOpts);
+ bomListIterator = delegator.find("ProductAndAssoc", cond, null, fieldToSelect, orderBy, findOpts);
} else {
condList = [];
if (parameters.productId) {
@@ -52,7 +51,6 @@ if (!parameters.productId && !parameters
}
cond = EntityCondition.makeCondition(condList, EntityOperator.AND);
findOpts = new EntityFindOptions(true, EntityFindOptions.TYPE_SCROLL_INSENSITIVE, EntityFindOptions.CONCUR_READ_ONLY, true);
- fieldToSelect = UtilMisc.toSet("productId","internalName","productAssocTypeId");
- bomListIterator = delegator.find("ProductAndAssoc", cond, null, fieldToSelect, null, findOpts);
+ bomListIterator = delegator.find("ProductAndAssoc", cond, null, fieldToSelect, orderBy, findOpts);
}
context.ListProductBom = bomListIterator;