Author: jacopoc
Date: Wed Jun 20 21:45:46 2007
New Revision: 549364

URL: http://svn.apache.org/viewvc?view=rev&rev=549364
Log:
Better handling of pagination in the search inventory items by labels screen.

Modified:
    
ofbiz/trunk/applications/product/webapp/facility/WEB-INF/actions/facility/findInventoryItemsByLabels.bsh
    ofbiz/trunk/applications/product/webapp/facility/facility/FacilityForms.xml
    
ofbiz/trunk/applications/product/webapp/facility/facility/searchInventoryItemsByLabelsForm.ftl

Modified: 
ofbiz/trunk/applications/product/webapp/facility/WEB-INF/actions/facility/findInventoryItemsByLabels.bsh
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/facility/WEB-INF/actions/facility/findInventoryItemsByLabels.bsh?view=diff&rev=549364&r1=549363&r2=549364
==============================================================================
--- 
ofbiz/trunk/applications/product/webapp/facility/WEB-INF/actions/facility/findInventoryItemsByLabels.bsh
 (original)
+++ 
ofbiz/trunk/applications/product/webapp/facility/WEB-INF/actions/facility/findInventoryItemsByLabels.bsh
 Wed Jun 20 21:45:46 2007
@@ -26,6 +26,7 @@
 import org.ofbiz.entity.model.DynamicViewEntity;
 import org.ofbiz.entity.model.ModelKeyMap;
 import org.ofbiz.entity.transaction.*;
+import org.ofbiz.entity.util.EntityFindOptions;
 import org.ofbiz.entity.util.EntityListIterator;
 
 String facilityId = parameters.get("facilityId");
@@ -61,9 +62,31 @@
 List inventoryItems = null;
 if (andCondition.size() > 1) {
     try {
+        EntityFindOptions findOpts = new EntityFindOptions(true, 
EntityFindOptions.TYPE_SCROLL_INSENSITIVE, EntityFindOptions.CONCUR_READ_ONLY, 
true);
         beganTransaction = TransactionUtil.begin();
-        inventoryItemsEli = 
delegator.findListIteratorByCondition(inventoryItemAndLabelsView, new 
EntityConditionList(andCondition, EntityOperator.AND), null, null, null, null);
-        inventoryItems = inventoryItemsEli.getCompleteList();
+        inventoryItemsEli = 
delegator.findListIteratorByCondition(inventoryItemAndLabelsView, new 
EntityConditionList(andCondition, EntityOperator.AND), null, null, null, 
findOpts);
+
+        // get the indexes for the partial list
+        lowIndex = ((viewIndex * viewSize) + 1);
+        highIndex = (viewIndex - 1) * viewSize;
+
+        // attempt to get the full size
+        inventoryItemsEli.last();
+        inventoryItemsSize = inventoryItemsEli.currentIndex();
+        context.put("inventoryItemsSize", inventoryItemsSize);
+        if (highIndex > inventoryItemsSize) {
+            highIndex = inventoryItemsSize;
+        }
+
+        // get the partial list for this page
+        inventoryItemsEli.beforeFirst();
+        if (inventoryItemsSize > 0) {
+            inventoryItems = inventoryItemsEli.getPartialList(lowIndex, 
viewSize);
+        } else {
+            inventoryItems = new ArrayList();
+        }
+
+        // close the list iterator
         inventoryItemsEli.close();
     } catch (GenericEntityException e) {
         String errMsg = "Failure in operation, rolling back transaction";

Modified: 
ofbiz/trunk/applications/product/webapp/facility/facility/FacilityForms.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/facility/facility/FacilityForms.xml?view=diff&rev=549364&r1=549363&r2=549364
==============================================================================
--- ofbiz/trunk/applications/product/webapp/facility/facility/FacilityForms.xml 
(original)
+++ ofbiz/trunk/applications/product/webapp/facility/facility/FacilityForms.xml 
Wed Jun 20 21:45:46 2007
@@ -95,8 +95,8 @@
             <hyperlink 
target="TransferInventoryItem?facilityId=${facilityId}&amp;inventoryItemId=${inventoryItemId}"
 description="${uiLabelMap.ProductTransfer}"/>
         </field>
     </form>
-    <form name="ListFacilityInventoryItemsNoLocations" type="list"  target="" 
title="" list-name="inventoryItems" 
-        paginate-target="SearchInventoryItemsByLabels">
+    <form name="ListFacilityInventoryItemsNoLocations" type="list"  target="" 
title="" list-name="inventoryItems"
+         override-list-size="${inventoryItemsSize}" 
paginate-target="SearchInventoryItemsByLabels">
         <field name="inventoryItemId" widget-style="buttontext">
             <hyperlink 
target="EditInventoryItem?inventoryItemId=${inventoryItemId}&amp;facilityId=${facilityId}"
 description="${inventoryItemId}"/>
         </field>

Modified: 
ofbiz/trunk/applications/product/webapp/facility/facility/searchInventoryItemsByLabelsForm.ftl
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/facility/facility/searchInventoryItemsByLabelsForm.ftl?view=diff&rev=549364&r1=549363&r2=549364
==============================================================================
--- 
ofbiz/trunk/applications/product/webapp/facility/facility/searchInventoryItemsByLabelsForm.ftl
 (original)
+++ 
ofbiz/trunk/applications/product/webapp/facility/facility/searchInventoryItemsByLabelsForm.ftl
 Wed Jun 20 21:45:46 2007
@@ -30,7 +30,7 @@
       <select name="inventoryItemLabelId_${index}">
         <option></option>
         <#list labels as label>
-        <option value="${label.inventoryItemLabelId}" <#if 
parameters["inventoryItemLabelId_" + 
index]?has_content>selected</#if>>${label.description?if_exists} 
[${label.inventoryItemLabelId}]</option>
+        <option value="${label.inventoryItemLabelId}" <#if 
parameters["inventoryItemLabelId_" + index]?has_content && 
parameters["inventoryItemLabelId_" + index] == 
label.inventoryItemLabelId>selected</#if>>${label.description?if_exists} 
[${label.inventoryItemLabelId}]</option>
         </#list>
       </select>
       </td>


Reply via email to