svn commit: r549364 - in /ofbiz/trunk/applications/product/webapp/facility: WEB-INF/actions/facility/findInventoryItemsByLabels.bsh facility/FacilityForms.xml facility/searchInventoryItemsByLabelsForm.ftl

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r549364 - in /ofbiz/trunk/applications/product/webapp/facility: WEB-INF/actions/facility/findInventoryItemsByLabels.bsh facility/FacilityForms.xml facility/searchInventoryItemsByLabelsForm.ftl

jacopoc
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>