Author: jleroux
Date: Fri Jan 19 12:36:22 2007 New Revision: 497947 URL: http://svn.apache.org/viewvc?view=rev&rev=497947 Log: This solves the pagination problem with filters on orders list and find order(s) I added a new (last) column "Filters" where are shown trigrams (3 letters) indicators for each filters. For instance So might be "Inv, Aut" and PO "Eta, Par, Rej" (in english, will be internationalised) This is commited in a CTR mode. Please let me know if you see any problems, thanks. Modified: ofbiz/trunk/applications/order/config/OrderUiLabels.properties ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/filterorderlist.bsh ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/findOrders.bsh ofbiz/trunk/applications/order/webapp/ordermgr/order/findOrders.ftl ofbiz/trunk/applications/order/webapp/ordermgr/order/orderlist.ftl Modified: ofbiz/trunk/applications/order/config/OrderUiLabels.properties URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/config/OrderUiLabels.properties?view=diff&rev=497947&r1=497946&r2=497947 ============================================================================== --- ofbiz/trunk/applications/order/config/OrderUiLabels.properties (original) +++ ofbiz/trunk/applications/order/config/OrderUiLabels.properties Fri Jan 19 12:36:22 2007 @@ -195,6 +195,7 @@ OrderErrorFacilityHaveNoAdress=Error : the facility does not have addresses OrderExemptAmount=Exempt Amount OrderExternalId=External ID +OrderFilterAuthProblems=Authorisation Problems OrderFilterInventoryProblems=Inventory problems OrderFilterOn=Filter on OrderFilterPOs=purchase orders @@ -234,8 +235,8 @@ OrderItemsReturned=Items Returned OrderItemsSubTotal=Items SubTotal OrderJurisdiction=Jurisdiction -OrderLinkedToOrderItem=Linked to order item OrderLinkedFromOrderItem=Linked from order item +OrderLinkedToOrderItem=Linked to order item OrderLinkedToQuote=Linked to quote OrderLinkedToRequirement=Linked to requirement OrderLookupOrder=Lookup Order(s) Modified: ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/filterorderlist.bsh URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/filterorderlist.bsh?view=diff&rev=497947&r1=497946&r2=497947 ============================================================================== --- ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/filterorderlist.bsh (original) +++ ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/filterorderlist.bsh Fri Jan 19 12:36:22 2007 @@ -21,10 +21,10 @@ import org.ofbiz.order.order.OrderReadHelper; import org.ofbiz.product.store.ProductStoreWorker; -orderHeaderList = context.remove("orderHeaderList"); +orderHeaderList = context.get("orderHeaderList"); productStore = ProductStoreWorker.getProductStore(request); -List filteredList = new ArrayList(); +List filterInventoryProblems = new ArrayList(); if ("Y".equals(requestParameters.get("filterInventoryProblems")) && UtilValidate.isNotEmpty(orderHeaderList)) { for (ohi = orderHeaderList.iterator(); ohi.hasNext();) { @@ -32,42 +32,48 @@ orderReadHelper = OrderReadHelper.getHelper(orderHeader); backorderQty = orderReadHelper.getOrderBackorderQuantityBd(); if (backorderQty.compareTo(new BigDecimal("0")) == 1) { - filteredList.add(orderHeader); + filterInventoryProblems.add(orderHeader.get("orderId")); } } } +List filterPOsOpenPastTheirETA = new ArrayList(); +List filterPOsWithRejectedItems = new ArrayList(); +List filterPartiallyReceivedPOs = new ArrayList(); + if (("Y".equals(requestParameters.get("filterPartiallyReceivedPOs")) || - "Y".equals(requestParameters.get("filterPOsOpenPastTheirETA")) || - "Y".equals(requestParameters.get("filterPOsWithRejectedItems"))) && - UtilValidate.isNotEmpty(orderHeaderList)) { + "Y".equals(requestParameters.get("filterPOsOpenPastTheirETA")) || + "Y".equals(requestParameters.get("filterPOsWithRejectedItems"))) && + UtilValidate.isNotEmpty(orderHeaderList)) { for (ohi = orderHeaderList.iterator(); ohi.hasNext();) { orderHeader = (GenericValue) ohi.next(); facilityId = orderHeader.getString("originFacilityId"); if (facilityId == null) { - facilityId = productStore.getString("inventoryFacilityId"); + facilityId = productStore.getString("inventoryFacilityId"); } orderReadHelper = OrderReadHelper.getHelper(orderHeader); if ("PURCHASE_ORDER".equals(orderHeader.getString("orderTypeId"))) { if (orderReadHelper.getRejectedOrderItems() && "Y".equals(requestParameters.get("filterPOsWithRejectedItems"))) { - filteredList.add(orderHeader); + filterPOsWithRejectedItems.add(orderHeader.get("orderId")); continue; } if (orderReadHelper.getPastEtaOrderItems(orderHeader.get("orderId")) && "Y".equals(requestParameters.get("filterPOsOpenPastTheirETA"))) { - filteredList.add(orderHeader); + filterPOsOpenPastTheirETA.add(orderHeader.get("orderId")); continue; } if (orderReadHelper.getPartiallyReceivedItems() && "Y".equals(requestParameters.get("filterPartiallyReceivedPOs"))) { - filteredList.add(orderHeader); + filterPartiallyReceivedPOs.add(orderHeader.get("orderId")); continue; } } } } +List filterAuthProblems = new ArrayList(); + if ("Y".equals(requestParameters.get("filterAuthProblems")) && UtilValidate.isNotEmpty(orderHeaderList)) { for (ohi = orderHeaderList.iterator(); ohi.hasNext();) { orderHeader = (GenericValue) ohi.next(); @@ -76,18 +82,13 @@ for (Iterator ppi = paymentPrefList.iterator(); ppi.hasNext();) { paymentPref = (GenericValue) ppi.next(); if ("PAYMENT_NOT_AUTH".equals(paymentPref.getString("statusId"))) { - filteredList.add(orderHeader); + filterAuthProblems.add(orderHeader.get("orderId")); } - } + } } } - -if (("Y".equals(requestParameters.get("filterPartiallyReceivedPOs")) || - "Y".equals(requestParameters.get("filterPOsOpenPastTheirETA")) || - "Y".equals(requestParameters.get("filterPOsWithRejectedItems")) || - "Y".equals(requestParameters.get("filterAuthProblems")) || - "Y".equals(requestParameters.get("filterInventoryProblems")))) { - orderHeaderList = filteredList; -} - -context.put("orderHeaderList", orderHeaderList); +context.put("filterInventoryProblems", filterInventoryProblems); +context.put("filterPOsWithRejectedItems", filterPOsWithRejectedItems); +context.put("filterPOsOpenPastTheirETA", filterPOsOpenPastTheirETA); +context.put("filterPartiallyReceivedPOs", filterPartiallyReceivedPOs); +context.put("filterAuthProblems", filterAuthProblems); \ No newline at end of file Modified: ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/findOrders.bsh URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/findOrders.bsh?view=diff&rev=497947&r1=497946&r2=497947 ============================================================================== --- ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/findOrders.bsh (original) +++ ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/findOrders.bsh Fri Jan 19 12:36:22 2007 @@ -383,59 +383,74 @@ } productStore = ProductStoreWorker.getProductStore(request); - List filteredList = new ArrayList(); - + List filterInventoryProblems = new ArrayList(); + if ("Y".equals(requestParameters.get("filterInventoryProblems")) && UtilValidate.isNotEmpty(orderHeaderList)) { - for (ohi = orderHeaderList.iterator(); ohi.hasNext();) { - orderHeader = (GenericValue) ohi.next(); - orderReadHelper = OrderReadHelper.getHelper(orderHeader); - backorderQty = orderReadHelper.getOrderBackorderQuantityBd(); - if (backorderQty.compareTo(new BigDecimal("0")) == 1) { - filteredList.add(orderHeader); - } - } - } + paramList = paramList + "&filterInventoryProblems=" + "Y"; + for (ohi = orderHeaderList.iterator(); ohi.hasNext();) { + orderHeader = (GenericValue) ohi.next(); + orderReadHelper = OrderReadHelper.getHelper(orderHeader); + backorderQty = orderReadHelper.getOrderBackorderQuantityBd(); + if (backorderQty.compareTo(new BigDecimal("0")) == 1) { + filterInventoryProblems.add(orderHeader.get("orderId")); + } + } + } + List filterPOsOpenPastTheirETA = new ArrayList(); + List filterPOsWithRejectedItems = new ArrayList(); + List filterPartiallyReceivedPOs = new ArrayList(); + + if ("Y".equals(requestParameters.get("filterPOsWithRejectedItems"))) { + paramList = paramList + "&filterPOsWithRejectedItems=" + "Y"; + } + if ("Y".equals(requestParameters.get("filterPOsOpenPastTheirETA"))) { + paramList = paramList + "&filterPOsOpenPastTheirETA=" + "Y"; + } + if ("Y".equals(requestParameters.get("filterPartiallyReceivedPOs"))) { + paramList = paramList + "&filterPartiallyReceivedPOs=" + "Y"; + } + if (("Y".equals(requestParameters.get("filterPartiallyReceivedPOs")) || - "Y".equals(requestParameters.get("filterPOsOpenPastTheirETA")) || - "Y".equals(requestParameters.get("filterPOsWithRejectedItems"))) && - UtilValidate.isNotEmpty(orderHeaderList)) { + "Y".equals(requestParameters.get("filterPOsOpenPastTheirETA")) || + "Y".equals(requestParameters.get("filterPOsWithRejectedItems"))) && + UtilValidate.isNotEmpty(orderHeaderList)) { for (ohi = orderHeaderList.iterator(); ohi.hasNext();) { orderHeader = (GenericValue) ohi.next(); facilityId = orderHeader.getString("originFacilityId"); if (facilityId == null) { - facilityId = productStore.getString("inventoryFacilityId"); + facilityId = productStore.getString("inventoryFacilityId"); } orderReadHelper = OrderReadHelper.getHelper(orderHeader); if ("PURCHASE_ORDER".equals(orderHeader.getString("orderTypeId"))) { if (orderReadHelper.getRejectedOrderItems() && - "Y".equals(requestParameters.get("filterPOsWithRejectedItems"))) { - filteredList.add(orderHeader); - continue; - } + "Y".equals(requestParameters.get("filterPOsWithRejectedItems"))) { + filterPOsWithRejectedItems.add(orderHeader.get("orderId")); + paramList = paramList + "&filterPOsWithRejectedItems=" + "Y"; + continue; + } if (orderReadHelper.getPastEtaOrderItems(orderHeader.get("orderId")) && - "Y".equals(requestParameters.get("filterPOsOpenPastTheirETA"))) { - filteredList.add(orderHeader); + "Y".equals(requestParameters.get("filterPOsOpenPastTheirETA"))) { + filterPOsOpenPastTheirETA.add(orderHeader.get("orderId")); continue; } if (orderReadHelper.getPartiallyReceivedItems() && "Y".equals(requestParameters.get("filterPartiallyReceivedPOs"))) { - filteredList.add(orderHeader); + filterPartiallyReceivedPOs.add(orderHeader.get("orderId")); + paramList = paramList + "&filterPartiallyReceivedPOs=" + "Y"; continue; - } } } } - - if (("Y".equals(requestParameters.get("filterPartiallyReceivedPOs")) || - "Y".equals(requestParameters.get("filterPOsOpenPastTheirETA")) || - "Y".equals(requestParameters.get("filterPOsWithRejectedItems")) || - "Y".equals(requestParameters.get("filterInventoryProblems")))) { - orderHeaderList = filteredList; } - + + context.put("filterInventoryProblems", filterInventoryProblems); + context.put("filterPOsWithRejectedItems", filterPOsWithRejectedItems); + context.put("filterPOsOpenPastTheirETA", filterPOsOpenPastTheirETA); + context.put("filterPartiallyReceivedPOs", filterPartiallyReceivedPOs); + context.put("orderHeaderList", orderHeaderList); - context.put("orderHeaderListSize", orderHeaderListSize); // TODO : orderHeaderListSize here is not reactualized. Date from "if user doesn't have it, only SALES_ORDER" comment above... + context.put("orderHeaderListSize", orderHeaderListSize); // TODO : orderHeaderListSize here is not reactualized. Date from "if user doesn't have it, only SALES_ORDER" comment above... if (lookupErrorMessage != null) { context.put("lookupErrorMessage", lookupErrorMessage); @@ -445,4 +460,3 @@ context.put("paramList", paramList); context.put("highIndex", highIndex); context.put("lowIndex", lowIndex); - Modified: ofbiz/trunk/applications/order/webapp/ordermgr/order/findOrders.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/order/findOrders.ftl?view=diff&rev=497947&r1=497946&r2=497947 ============================================================================== --- ofbiz/trunk/applications/order/webapp/ordermgr/order/findOrders.ftl (original) +++ ofbiz/trunk/applications/order/webapp/ordermgr/order/findOrders.ftl Fri Jan 19 12:36:22 2007 @@ -218,7 +218,7 @@ </td> </tr> <tr> - <td width='25%' align='right'><div class='tableheadtext'>${uiLabelMap.CommonStatus}</div></td> + <td width='25%' align='right'><div class='tableheadtext'>${uiLabelMap.CommonStatus}</div></td> <td width='5%'> </td> <td> <select name='orderStatusId' class='selectBox'> @@ -280,8 +280,8 @@ <table border='0' cellspacing='0' cellpadding='0'> <tr> <td nowrap> - <input type="checkbox" name="filterInventoryProblems" value="Y" - <#if requestParameters.filterInventoryProblems?default("N") == "Y">checked="checked"</#if> /> + <input type="checkbox" name="filterInventoryProblems" value="Y" + <#if requestParameters.filterInventoryProblems?default("N") == "Y">checked="checked"</#if> /> </td> </tr> </table> @@ -295,8 +295,8 @@ <table border='0' cellspacing='0' cellpadding='0'> <tr> <td nowrap> - <input type="checkbox" name="filterPartiallyReceivedPOs" value="Y" - <#if requestParameters.filterPartiallyReceivedPOs?default("N") == "Y">checked="checked"</#if> /> + <input type="checkbox" name="filterPartiallyReceivedPOs" value="Y" + <#if requestParameters.filterPartiallyReceivedPOs?default("N") == "Y">checked="checked"</#if> /> </td> </tr> </table> @@ -311,8 +311,8 @@ <table border='0' cellspacing='0' cellpadding='0'> <tr> <td nowrap> - <input type="checkbox" name="filterPOsOpenPastTheirETA" value="Y" - <#if requestParameters.filterPOsOpenPastTheirETA?default("N") == "Y">checked="checked"</#if> /> + <input type="checkbox" name="filterPOsOpenPastTheirETA" value="Y" + <#if requestParameters.filterPOsOpenPastTheirETA?default("N") == "Y">checked="checked"</#if> /> </td> </tr> </table> @@ -327,8 +327,8 @@ <table border='0' cellspacing='0' cellpadding='0'> <tr> <td nowrap> - <input type="checkbox" name="filterPOsWithRejectedItems" value="Y" - <#if requestParameters.filterPOsWithRejectedItems?default("N") == "Y">checked="checked"</#if> /> + <input type="checkbox" name="filterPOsWithRejectedItems" value="Y" + <#if requestParameters.filterPOsWithRejectedItems?default("N") == "Y">checked="checked"</#if> /> </td> </tr> </table> @@ -420,7 +420,12 @@ <td width="10%" align="right"><div class="tableheadtext">${uiLabelMap.OrderRemainingSubTotal}</div></td> <td width="10%" align="right"><div class="tableheadtext">${uiLabelMap.OrderOrderTotal}</div></td> <td width="5%" align="left"><div class="tableheadtext"> </div></td> - <td width="20%" align="left"><div class="tableheadtext">${uiLabelMap.CommonStatus}</div></td> + <#if filterInventoryProblems?has_content || filterPOsOpenPastTheirETA?has_content || filterPOsWithRejectedItems?has_content || filterPartiallyReceivedPOs?has_content> + <td width="15%" align="left"><div class="tableheadtext">${uiLabelMap.CommonStatus}</div></td> + <td width="5%"><div class="tabletext"><b>${uiLabelMap.CommonFilter}</b></div></td> + <#else> + <td width="20%" align="left"><div class="tableheadtext">${uiLabelMap.CommonStatus}</div></td> + </#if> <td width="20%" align="left"><div class="tableheadtext">${uiLabelMap.OrderDate}</div></td> <td width="5%" align="left"><div class="tableheadtext">${uiLabelMap.PartyPartyId}</div></td> <td width="10%"> </td> @@ -488,6 +493,22 @@ <td> </td> <td><div class="tabletext">${statusItem.get("description",locale)?default(statusItem.statusId?default("N/A"))}</div></td> + </td> + <td class="tabletext"> + <#if filterInventoryProblems.contains(orderHeader.orderId)> + Inv + </#if> + <#if filterPOsOpenPastTheirETA.contains(orderHeader.orderId)> + ETA + </#if> + <#if filterPOsWithRejectedItems.contains(orderHeader.orderId)> + Rej + </#if> + <#if filterPartiallyReceivedPOs.contains(orderHeader.orderId)> + Part + </#if> + </td> + <td><div class="tabletext">${orderHeader.getString("orderDate")}</div></td> <td> <#if partyId != "_NA_"> Modified: ofbiz/trunk/applications/order/webapp/ordermgr/order/orderlist.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/order/orderlist.ftl?view=diff&rev=497947&r1=497946&r2=497947 ============================================================================== --- ofbiz/trunk/applications/order/webapp/ordermgr/order/orderlist.ftl (original) +++ ofbiz/trunk/applications/order/webapp/ordermgr/order/orderlist.ftl Fri Jan 19 12:36:22 2007 @@ -16,21 +16,21 @@ --> <script type="text/javascript"> - var checkBoxNameStart = "view"; - var formName = "findorder"; + var checkBoxNameStart = "view"; + var formName = "findorder"; - function setCheckboxes() { - // This would be clearer with camelCase variable names - var allCheckbox = document.forms[formName].elements[checkBoxNameStart + "all"]; - for(i = 0;i < document.forms[formName].elements.length;i++) { - var elem = document.forms[formName].elements[i]; - if (elem.name.indexOf(checkBoxNameStart) == 0 && elem.name.indexOf("_") < 0 && elem.type == "checkbox") { - elem.checked = allCheckbox.checked; - } - } - } - + function setCheckboxes() { + // This would be clearer with camelCase variable names + var allCheckbox = document.forms[formName].elements[checkBoxNameStart + "all"]; + for(i = 0;i < document.forms[formName].elements.length;i++) { + var elem = document.forms[formName].elements[i]; + if (elem.name.indexOf(checkBoxNameStart) == 0 && elem.name.indexOf("_") < 0 && elem.type == "checkbox") { + elem.checked = allCheckbox.checked; + } + } + } + </script> <table border="0" width="100%" cellspacing="0" cellpadding="0" class="boxoutside"> @@ -144,9 +144,18 @@ <td width="10%"> <div class="tabletext"><b>${uiLabelMap.OrderTrackingCode}</b></div> </td> - <td width="15%"> - <div class="tabletext"><b>${uiLabelMap.CommonStatus}</b></div> - </td> + <#if filterInventoryProblems?has_content || filterAuthProblems?has_content || filterPOsOpenPastTheirETA?has_content || filterPOsWithRejectedItems?has_content || filterPartiallyReceivedPOs?has_content> + <td width="10%"> + <div class="tabletext"><b>${uiLabelMap.CommonStatus}</b></div> + </td> + <td width="5%"> + <div class="tabletext"><b>${uiLabelMap.CommonFilter}</b></div> + </td> + <#else> + <td width="15%"> + <div class="tabletext"><b>${uiLabelMap.CommonStatus}</b></div> + </td> + </#if> </tr> <#list orderHeaderList as orderHeader> <#assign status = orderHeader.getRelatedOneCache("StatusItem")> @@ -161,7 +170,7 @@ <#if billFromParty?has_content> <#assign billFrom = Static["org.ofbiz.party.party.PartyHelper"].getPartyName(billFromParty, true)?if_exists> </#if> - <tr><td colspan="8"><hr class="sepbar"/></td></tr> + <tr><td colspan="9"><hr class="sepbar"/></td></tr> <tr> <td> <div class="tabletext">${orderHeader.orderDate.toString()}</div> @@ -198,6 +207,23 @@ </td> <td class="tabletext"> ${orderHeader.getRelatedOneCache("StatusItem").get("description",locale)} + </td> + <td class="tabletext"> + <#if filterInventoryProblems.contains(orderHeader.orderId)> + Inv + </#if> + <#if filterAuthProblems.contains(orderHeader.orderId)> + Aut + </#if> + <#if filterPOsOpenPastTheirETA.contains(orderHeader.orderId)> + ETA + </#if> + <#if filterPOsWithRejectedItems.contains(orderHeader.orderId)> + Rej + </#if> + <#if filterPartiallyReceivedPOs.contains(orderHeader.orderId)> + Part + </#if> </td> </tr> </#list> |
Free forum by Nabble | Edit this page |