svn commit: r525223 - in /ofbiz/trunk/applications/product: config/ servicedef/ src/org/ofbiz/shipment/shipment/ webapp/catalog/WEB-INF/ webapp/catalog/WEB-INF/actions/store/ webapp/catalog/store/ widget/catalog/

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

svn commit: r525223 - in /ofbiz/trunk/applications/product: config/ servicedef/ src/org/ofbiz/shipment/shipment/ webapp/catalog/WEB-INF/ webapp/catalog/WEB-INF/actions/store/ webapp/catalog/store/ widget/catalog/

jacopoc
Author: jacopoc
Date: Tue Apr  3 10:57:22 2007
New Revision: 525223

URL: http://svn.apache.org/viewvc?view=rev&rev=525223
Log:
Refactored into a new screen (based on widgets) all the forms to edit and view the product store shipping estimates.
Also modified the createShippingEstimate service to better handle recent changes to data model and quantityBreaks.

Modified:
    ofbiz/trunk/applications/product/config/ProductUiLabels.properties
    ofbiz/trunk/applications/product/servicedef/services_shipment.xml
    ofbiz/trunk/applications/product/src/org/ofbiz/shipment/shipment/ShipmentServices.java
    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/store/EditProductStoreShipSetup.bsh
    ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml
    ofbiz/trunk/applications/product/webapp/catalog/store/EditProductStoreShipSetup.ftl
    ofbiz/trunk/applications/product/webapp/catalog/store/ProductStoreForms.xml
    ofbiz/trunk/applications/product/webapp/catalog/store/ProductStoreTabBar.ftl
    ofbiz/trunk/applications/product/widget/catalog/StoreScreens.xml

Modified: ofbiz/trunk/applications/product/config/ProductUiLabels.properties
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/config/ProductUiLabels.properties?view=diff&rev=525223&r1=525222&r2=525223
==============================================================================
--- ofbiz/trunk/applications/product/config/ProductUiLabels.properties (original)
+++ ofbiz/trunk/applications/product/config/ProductUiLabels.properties Tue Apr  3 10:57:22 2007
@@ -1362,7 +1362,7 @@
 ProductVariantProductIds=Variant Product IDs
 ProductVariantProductInventorySummary=Variant Product Inventory Summary
 ProductVariants=Variants
-ProductViewEstimates=View Estimates
+ProductViewEstimates=Shipping Estimates
 ProductViewLabelImage=View Label Image
 ProductViewPermissionError=You do not have permission to view this page. ("CATALOG_VIEW" or "CATALOG_ADMIN" needed)
 ProductVirtualProduct=Is VIRTUAL Product ?

Modified: ofbiz/trunk/applications/product/servicedef/services_shipment.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/servicedef/services_shipment.xml?view=diff&rev=525223&r1=525222&r2=525223
==============================================================================
--- ofbiz/trunk/applications/product/servicedef/services_shipment.xml (original)
+++ ofbiz/trunk/applications/product/servicedef/services_shipment.xml Tue Apr  3 10:57:22 2007
@@ -559,8 +559,7 @@
     <service name="createShipmentEstimate" engine="java"
                 location="org.ofbiz.shipment.shipment.ShipmentServices" invoke="createShipmentEstimate" auth="true">
         <description>Create Shipment Estimate</description>
-        <attribute name="shipMethod" type="String" mode="IN" optional="false"/>
-        <attribute name="productStoreId" type="String" mode="IN" optional="false"/>
+        <attribute name="productStoreShipMethId" type="String" mode="IN" optional="false"/>
         <attribute name="toGeo" type="String" mode="IN" optional="true"/>
         <attribute name="fromGeo" type="String" mode="IN" optional="true"/>
         <attribute name="partyId" type="String" mode="IN" optional="true"/>
@@ -573,14 +572,17 @@
         <attribute name="featurePrice" type="Double" mode="IN" optional="true"/>
         <attribute name="oversizeUnit" type="Double" mode="IN" optional="true"/>
         <attribute name="oversizePrice" type="Double" mode="IN" optional="true"/>
+        <attribute name="weightBreakId" type="String" mode="IN" optional="true"/>
         <attribute name="wmin" type="Double" mode="IN" optional="true"/>
         <attribute name="wmax" type="Double" mode="IN" optional="true"/>
         <attribute name="wprice" type="Double" mode="IN" optional="true"/>
         <attribute name="wuom" type="String" mode="IN" optional="true"/>
+        <attribute name="quantityBreakId" type="String" mode="IN" optional="true"/>
         <attribute name="qmin" type="Double" mode="IN" optional="true"/>
         <attribute name="qmax" type="Double" mode="IN" optional="true"/>
         <attribute name="qprice" type="Double" mode="IN" optional="true"/>
         <attribute name="quom" type="String" mode="IN" optional="true"/>
+        <attribute name="priceBreakId" type="String" mode="IN" optional="true"/>
         <attribute name="pmin" type="Double" mode="IN" optional="true"/>
         <attribute name="pmax" type="Double" mode="IN" optional="true"/>
         <attribute name="pprice" type="Double" mode="IN" optional="true"/>

Modified: ofbiz/trunk/applications/product/src/org/ofbiz/shipment/shipment/ShipmentServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/shipment/shipment/ShipmentServices.java?view=diff&rev=525223&r1=525222&r2=525223
==============================================================================
--- ofbiz/trunk/applications/product/src/org/ofbiz/shipment/shipment/ShipmentServices.java (original)
+++ ofbiz/trunk/applications/product/src/org/ofbiz/shipment/shipment/ShipmentServices.java Tue Apr  3 10:57:22 2007
@@ -50,17 +50,24 @@
         GenericDelegator delegator = dctx.getDelegator();
         List storeAll = new ArrayList();
 
-        String shipMethodAndParty = (String) context.get("shipMethod");
-        List shipMethodSplit = StringUtil.split(shipMethodAndParty, "|");
+        String productStoreShipMethId = (String)context.get("productStoreShipMethId");
+
+        GenericValue productStoreShipMeth = null;
+        try {
+            productStoreShipMeth = delegator.findByPrimaryKey("ProductStoreShipmentMeth", UtilMisc.toMap("productStoreShipMethId", productStoreShipMethId));
+        } catch (GenericEntityException e) {
+            return ServiceUtil.returnError("Problem retrieving ProductStoreShipmentMeth entry with id [" + productStoreShipMethId + "]: " + e.toString());
+        }
+
 
         // Create the basic entity.
         GenericValue estimate = delegator.makeValue("ShipmentCostEstimate", null);
 
         estimate.set("shipmentCostEstimateId", delegator.getNextSeqId("ShipmentCostEstimate"));
-        estimate.set("shipmentMethodTypeId", shipMethodSplit.get(1));
-        estimate.set("carrierPartyId", shipMethodSplit.get(0));
+        estimate.set("shipmentMethodTypeId", productStoreShipMeth.getString("shipmentMethodTypeId"));
+        estimate.set("carrierPartyId", productStoreShipMeth.getString("partyId"));
         estimate.set("carrierRoleTypeId", "CARRIER");
-        estimate.set("productStoreId", context.get("productStoreId"));
+        estimate.set("productStoreId", productStoreShipMeth.getString("productStoreId"));
         estimate.set("geoIdTo", context.get("toGeo"));
         estimate.set("geoIdFrom", context.get("fromGeo"));
         estimate.set("partyId", context.get("partyId"));
@@ -73,6 +80,15 @@
         estimate.set("oversizePrice", context.get("oversizePrice"));
         estimate.set("featurePercent", context.get("featurePercent"));
         estimate.set("featurePrice", context.get("featurePrice"));
+        estimate.set("weightBreakId", context.get("weightBreakId"));
+        estimate.set("weightUnitPrice", (Double)context.get("wprice"));
+        estimate.set("weightUomId", context.get("wuom"));
+        estimate.set("quantityBreakId", context.get("quantityBreakId"));
+        estimate.set("quantityUnitPrice", (Double)context.get("qprice"));
+        estimate.set("quantityUomId", context.get("quom"));
+        estimate.set("priceBreakId", context.get("priceBreakId"));
+        estimate.set("priceUnitPrice", (Double)context.get("pprice"));
+        estimate.set("priceUomId", context.get("puom"));
         storeAll.add(estimate);
 
         if (!applyQuantityBreak(context, result, storeAll, delegator, estimate, "w", "weight", "Weight")) {

Modified: ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/store/EditProductStoreShipSetup.bsh
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/store/EditProductStoreShipSetup.bsh?view=diff&rev=525223&r1=525222&r2=525223
==============================================================================
--- ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/store/EditProductStoreShipSetup.bsh (original)
+++ ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/store/EditProductStoreShipSetup.bsh Tue Apr  3 10:57:22 2007
@@ -21,15 +21,6 @@
 import org.ofbiz.entity.condition.*;
 import org.ofbiz.base.util.*;
 
-shipmentCostEstimateId = request.getParameter("shipmentCostEstimateId");
-if (shipmentCostEstimateId != null) {
-    shipmentCostEstimate = delegator.findByPrimaryKey("ShipmentCostEstimate", UtilMisc.toMap("shipmentCostEstimateId", shipmentCostEstimateId));
-    context.put("shipEstimate", shipmentCostEstimate);
-}
-
-estimates = delegator.findByAnd("ShipmentCostEstimate", UtilMisc.toMap("productStoreId", productStoreId), UtilMisc.toList("geoIdFrom", "shipmentMethodTypeId", "geoIdTo"));
-context.put("estimates", estimates);  
-
 geos = delegator.findAll("Geo", UtilMisc.toList("geoTypeId", "geoName"));
 context.put("geoList", geos);
 
@@ -44,13 +35,6 @@
 
 roleTypes = delegator.findAll("RoleType", UtilMisc.toList("description"));
 context.put("roleTypes", roleTypes);
-        
-exprs = UtilMisc.toList(new EntityExpr("uomTypeId", EntityOperator.NOT_EQUAL, "CURRENCY_MEASURE"));        
-quantityUoms = delegator.findByAnd("Uom", exprs, UtilMisc.toList("description"));
-context.put("quantityUoms", quantityUoms);
-        
-weightUoms = delegator.findByAnd("Uom", UtilMisc.toMap("uomTypeId", "WEIGHT_MEASURE"), UtilMisc.toList("description"));
-context.put("weightUoms", weightUoms);
 
 editCarrier = request.getParameter("editCarrierShipmentMethodId");
 carrierShipmentMethod = new HashMap();
@@ -67,4 +51,3 @@
     shipmentMethodType = delegator.findByPrimaryKey("ShipmentMethodType", UtilMisc.toMap("shipmentMethodTypeId", editMethod));
 }
 context.put("shipmentMethodType", shipmentMethodType);
-

Modified: ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml?view=diff&rev=525223&r1=525222&r2=525223
==============================================================================
--- ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/controller.xml Tue Apr  3 10:57:22 2007
@@ -1860,17 +1860,21 @@
         <security https="true" auth="true"/>
         <response name="success" type="view" value="EditProductStoreShipSetup"/>
     </request-map>
+    <request-map uri="EditProductStoreShipmentCostEstimates">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="EditProductStoreShipmentCostEstimates"/>
+    </request-map>
     <request-map uri="storeCreateShipRate">
         <security https="true" auth="true"/>
         <event type="service" invoke="createShipmentEstimate"/>
-        <response name="success" type="view" value="EditProductStoreShipSetup"/>
-        <response name="error" type="view" value="EditProductStoreShipSetup"/>
+        <response name="success" type="view" value="EditProductStoreShipmentCostEstimates"/>
+        <response name="error" type="view" value="EditProductStoreShipmentCostEstimates"/>
     </request-map>
     <request-map uri="storeRemoveShipRate">
         <security https="true" auth="true"/>
         <event type="service" invoke="removeShipmentEstimate"/>
-        <response name="success" type="view" value="EditProductStoreShipSetup"/>
-        <response name="error" type="view" value="EditProductStoreShipSetup"/>
+        <response name="success" type="view" value="EditProductStoreShipmentCostEstimates"/>
+        <response name="error" type="view" value="EditProductStoreShipmentCostEstimates"/>
     </request-map>
     <request-map uri="storeCreateShipMeth">
         <security https="true" auth="true"/>
@@ -2393,6 +2397,7 @@
     <view-map name="EditProductStorePromos" type="screen" page="component://product/widget/catalog/StoreScreens.xml#EditProductStorePromos"/>
     <view-map name="EditProductStoreCatalogs" type="screen" page="component://product/widget/catalog/StoreScreens.xml#EditProductStoreCatalogs"/>
     <view-map name="EditProductStoreShipSetup" type="screen" page="component://product/widget/catalog/StoreScreens.xml#EditProductStoreShipSetup"/>
+    <view-map name="EditProductStoreShipmentCostEstimates" type="screen" page="component://product/widget/catalog/StoreScreens.xml#EditProductStoreShipmentCostEstimates"/>
     <view-map name="EditProductStoreSurveys" type="screen" page="component://product/widget/catalog/StoreScreens.xml#EditProductStoreSurveys"/>
     <view-map name="EditProductStoreTaxSetup" type="screen" page="component://product/widget/catalog/StoreScreens.xml#EditProductStoreTaxSetup"/>
     <view-map name="EditProductStorePaySetup" type="screen" page="component://product/widget/catalog/StoreScreens.xml#EditProductStorePaySetup"/>

Modified: ofbiz/trunk/applications/product/webapp/catalog/store/EditProductStoreShipSetup.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/store/EditProductStoreShipSetup.ftl?view=diff&rev=525223&r1=525222&r2=525223
==============================================================================
--- ofbiz/trunk/applications/product/webapp/catalog/store/EditProductStoreShipSetup.ftl (original)
+++ ofbiz/trunk/applications/product/webapp/catalog/store/EditProductStoreShipSetup.ftl Tue Apr  3 10:57:22 2007
@@ -54,425 +54,9 @@
 // -->
 </script>
 
-  <#if !requestParameters.createNew?exists || requestParameters.createNew != "Y">
-    <a href="<@ofbizUrl>EditProductStoreShipSetup?viewProductStoreId=${productStoreId}&createNew=Y</@ofbizUrl>" class="buttontext">[${uiLabelMap.ProductNewShipmentEstimate}]</a>
-  </#if>
-  <#if !requestParameters.newShipMethod?exists || requestParameters.newShipMethod != "Y">
-    <a href="<@ofbizUrl>EditProductStoreShipSetup?viewProductStoreId=${productStoreId}&newShipMethod=Y</@ofbizUrl>" class="buttontext">[${uiLabelMap.ProductNewShipmentMethod}]</a>
-  </#if>
-  <#if requestParameters.newShipMethod?default("N") == "Y" || requestParameters.createNew?default("N") == "Y">
-    <a href="<@ofbizUrl>EditProductStoreShipSetup?viewProductStoreId=${productStoreId}</@ofbizUrl>" class="buttontext">[${uiLabelMap.ProductViewEstimates}]</a>
-  </#if>
-  <br/>
-  <br/>
 <#-- Shipping Setup From Catalog->Store->Shipping-->
-  <#if !requestParameters.createNew?exists && !requestParameters.newShipMethod?exists>
-    <table border="1" cellpadding="2" cellspacing="0">
-      <tr>
-        <td nowrap><div class="tableheadtext">${uiLabelMap.ProductEstimateId}</div></td>
-        <td nowrap><div class="tableheadtext">${uiLabelMap.ProductMethod}</div></td>
-        <td nowrap><div class="tableheadtext">${uiLabelMap.CommonTo}</div></td>
-        <td nowrap><div class="tableheadtext">${uiLabelMap.PartyParty}</div></td>
-        <td nowrap><div class="tableheadtext">${uiLabelMap.PartyRole}</div></td>
-        <td nowrap><div class="tableheadtext">${uiLabelMap.ProductBase}%</div></td>
-        <td nowrap><div class="tableheadtext">${uiLabelMap.ProductBasePrc}</div></td>
-        <td nowrap><div class="tableheadtext">${uiLabelMap.ProductItemPrc}</div></td>
-        <td nowrap><div class="tableheadtext">&nbsp;</div></td>
-      </tr>
-      <#list estimates as estimate>
-        <#assign weightValue = estimate.getRelatedOne("WeightQuantityBreak")?if_exists>
-        <#assign quantityValue = estimate.getRelatedOne("QuantityQuantityBreak")?if_exists>
-        <#assign priceValue = estimate.getRelatedOne("PriceQuantityBreak")?if_exists>
-        <tr>
-          <td><div class="tabletext">${estimate.shipmentCostEstimateId}</div></td>
-          <td><div class="tabletext">${estimate.shipmentMethodTypeId}&nbsp;(${estimate.carrierPartyId})</div></td>
-          <td><div class="tabletext">${estimate.geoIdTo?default("${uiLabelMap.CommonAll}")}</div></td>
-          <td><div class="tabletext">${estimate.partyId?default("${uiLabelMap.CommonAll}")}</div></td>
-          <td><div class="tabletext">${estimate.roleTypeId?default("${uiLabelMap.CommonAll}")}</div></td>
-          <td><div class="tabletext">${estimate.orderPricePercent?default(0)?string.number}%</div></td>
-          <td><div class="tabletext">${estimate.orderFlatPrice?default(0)}</div></td>
-          <td><div class="tabletext">${estimate.orderItemFlatPrice?default(0)}</div></td>
-          <td align="center">
-            <div class="tabletext"><#if security.hasEntityPermission("SHIPRATE", "_DELETE", session)><a href="<@ofbizUrl>storeRemoveShipRate?viewProductStoreId=${productStoreId}&shipmentCostEstimateId=${estimate.shipmentCostEstimateId}</@ofbizUrl>" class="buttontext">[${uiLabelMap.CommonDelete}]</a></#if> <a href="<@ofbizUrl>EditProductStoreShipSetup?viewProductStoreId=${productStoreId}&shipmentCostEstimateId=${estimate.shipmentCostEstimateId}</@ofbizUrl>" class="buttontext">[${uiLabelMap.CommonView}]</a></div>
-          </td>
-        </tr>
-      </#list>
-    </table>
-  </#if>
-
-  <#if shipEstimate?has_content>
-    <#assign estimate = shipEstimate>
-    <#assign weightValue = estimate.getRelatedOne("WeightQuantityBreak")?if_exists>
-    <#assign quantityValue = estimate.getRelatedOne("QuantityQuantityBreak")?if_exists>
-    <#assign priceValue = estimate.getRelatedOne("PriceQuantityBreak")?if_exists>
-    <br/>
-      <table cellspacing="2" cellpadding="2">
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductShipmentMethod}</span></td>
-          <td><span class="tabletext">${estimate.shipmentMethodTypeId}&nbsp;(${estimate.carrierPartyId})</span></td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductFromGeo}</span></td>
-          <td><span class="tabletext">${estimate.geoIdFrom?default("${uiLabelMap.CommonAll}")}</span></td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductToGeo}</span></td>
-          <td><span class="tabletext">${estimate.geoIdTo?default("${uiLabelMap.CommonAll}")}</span></td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.PartyParty}</span></td>
-          <td><span class="tabletext">${estimate.partyId?default("${uiLabelMap.CommonAll}")}</span></td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.PartyRole}</span></td>
-          <td><span class="tabletext">${estimate.roleTypeId?default("${uiLabelMap.CommonAll}")}</span></td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr><td colspan="3"><hr class="sepbar"></td></tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductFlatBasePercent}</span></td>
-          <td>
-            <span class="tabletext">${estimate.orderPricePercent?default(0)?string.number}%</span>
-            <span class="tabletext"> - ${uiLabelMap.ProductShipamountOrderTotalPercent}</span>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductFlatBasePrice}</span></td>
-          <td>
-            <span class="tabletext">${estimate.orderFlatPrice?default(0)}</span>
-            <span class="tabletext"> - ${uiLabelMap.ProductShipamountPrice}</span>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductFlatItemPrice}</span></td>
-          <td>
-            <span class="tabletext">${estimate.orderItemFlatPrice?default(0)}</span>
-            <span class="tabletext"> - ${uiLabelMap.ProductShipamountTotalQuantityPrice}</span>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr><td colspan="3"><hr class="sepbar"></td></tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductFeatureGroup}</span></td>
-          <td>
-            <span class="tabletext">${estimate.productFeatureGroupId?default("${uiLabelMap.CommonNA}")}</span>
-            <span class="tabletext"> - ${uiLabelMap.ProductFeatureMessage}</span>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductFeaturePerFeaturePercent}</span></td>
-          <td>
-            <span class="tabletext">${estimate.featurePercent?default(0)?string.number}%</span>
-            <span class="tabletext"> - ${uiLabelMap.ProductShipamount} : ${uiLabelMap.ProductShipamount} + ((${uiLabelMap.ProductOrderTotal} * ${uiLabelMap.ProductPercent}) * ${uiLabelMap.ProductTotalFeaturesApplied})</span>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductFeaturePerFeaturePrice}</span></td>
-          <td>
-            <span class="tabletext">${estimate.featurePrice?default(0)}</span>
-            <span class="tabletext"> - ${uiLabelMap.ProductShipamount} : ${uiLabelMap.ProductShipamount} + (${uiLabelMap.ProductPrice} * ${uiLabelMap.ProductTotalFeaturesApplied})</span>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr><td colspan="3"><hr class="sepbar"></td></tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductOversizeUnit}</span></td>
-          <td>
-            <span class="tabletext">${estimate.oversizeUnit?default("${uiLabelMap.CommonNA}")}</span>
-            <span class="tabletext"> - ${uiLabelMap.ProductEach} ((${uiLabelMap.ProductHeight} * 2) + (${uiLabelMap.ProductWidth} * 2) + ${uiLabelMap.ProductDept}) >= ${uiLabelMap.CommonThis} ${uiLabelMap.ProductAmount}</span>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductOversizeSurcharge}</span></td>
-          <td>
-            <span class="tabletext">${estimate.oversizePrice?default(0)}</span>
-            <span class="tabletext"> - ${uiLabelMap.ProductShipamount} : ${uiLabelMap.ProductShipamount} + (# ${uiLabelMap.ProductOversize} ${uiLabelMap.ProductProducts} * ${uiLabelMap.ProductSurcharge})</span>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr><td colspan="3"><hr class="sepbar"></td></tr>
-        <tr>
-          <td colspan="1"><span class="tableheadtext">${uiLabelMap.ProductWeight}</span></td>
-          <td colspan="2"><span class="tabletext">${uiLabelMap.ProductMinMax}</span></td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductMinMaxSpan}</span></td>
-          <td><span class="tabletext">${weightValue.fromQuantity?if_exists}-${weightValue.thruQuantity?if_exists}</span></td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductUnitOfMeasure}</span></td>
-          <td><span class="tabletext">${estimate.weightUomId?if_exists}</span></td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductPerUnitPrice}</span></td>
-          <td>
-            <span class="tabletext">${estimate.weightUnitPrice?default(0)}</span>
-            <span class="tabletext"> -${uiLabelMap.ProductOnlyAppliesWithinSpan}</span>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr><td colspan="3"><hr class="sepbar"></td></tr>
-        <tr>
-          <td colspan="1"><span class="tableheadtext">${uiLabelMap.ProductQuantity}</span></td>
-          <td colspan="2"><span class="tabletext">${uiLabelMap.ProductMinMax}</span></td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductMinMaxSpan}</span></td>
-          <td><span class="tabletext">${quantityValue.fromQuantity?if_exists}-${quantityValue.thruQuantity?if_exists}</span></td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductUnitOfMeasure}</span></td>
-          <td><span class="tabletext">${estimate.quantityUomId?if_exists}</span></td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductPerUnitPrice}</span></td>
-          <td>
-            <span class="tabletext">${estimate.quantityUnitPrice?default(0)}</span>
-            <span class="tabletext"> - ${uiLabelMap.ProductOnlyAppliesWithinSpan}</span>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr><td colspan="3"><hr class="sepbar"></td></tr>
-        <tr>
-          <td colspan="1"><span class="tableheadtext">${uiLabelMap.ProductPrice}</span></td>
-          <td colspan="2"><span class="tabletext">${uiLabelMap.ProductMinMax}</span></td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductMinMaxSpan}</span></td>
-          <td><span class="tabletext">${priceValue.fromQuantity?if_exists}-${priceValue.thruQuantity?if_exists}</span></td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductPerUnitPrice}</span></td>
-          <td>
-            <span class="tabletext">${estimate.priceUnitPrice?default(0)}</span>
-            <span class="tabletext"> - ${uiLabelMap.ProductOnlyAppliesWithinSpan}</span>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-      </table>
-  </#if>
 
-  <#if requestParameters.createNew?exists>
-    <div class="head2">${uiLabelMap.ProductNewShipmentEstimate} :</div>
-    <form name="addform" method="post" action="<@ofbizUrl>storeCreateShipRate</@ofbizUrl>">
-      <input type="hidden" name="viewProductStoreId" value="${productStoreId}">
-      <input type="hidden" name="productStoreId" value="${productStoreId}">
-      <table cellspacing="2" cellpadding="2">
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductShipmentMethod}</span></td>
-          <td>
-            <select name="shipMethod" class="selectBox">
-              <#list storeShipMethods as shipmentMethod>
-                <option value="${shipmentMethod.partyId}|${shipmentMethod.shipmentMethodTypeId}">${shipmentMethod.description} (${shipmentMethod.partyId})</option>
-              </#list>
-            </select>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductFromGeo}</span></td>
-          <td>
-            <select name="fromGeo" class="selectBox">
-              <option value="">${uiLabelMap.CommonAll}</option>
-              <#list geoList as geo>
-                <option value="${geo.geoId?if_exists}">${geo.geoName?if_exists}</option>
-              </#list>
-            </select>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductToGeo}</span></td>
-          <td>
-            <select name="toGeo" class="selectBox">
-              <option value="">${uiLabelMap.CommonAll}</option>
-              <#list geoList as geo>
-                <option value="${geo.geoId?if_exists}">${geo.geoName?if_exists}</option>
-              </#list>
-            </select>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.PartyParty}</span></td>
-          <td><input type="text" class="inputBox" name="partyId" size="6"></td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.PartyRole}</span></td>
-          <td><input type="text" class="inputBox" name="roleTyeId" size="6"></td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr><td colspan="3"><hr class="sepbar"></td></tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductFlatBasePercent}</span></td>
-          <td>
-            <input type="text" class="inputBox" name="flatPercent" value="0" size="5">
-            <span class="tabletext">${uiLabelMap.ProductShipamountOrderTotalPercent}</span>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductFlatBasePrice}</span></td>
-          <td>
-            <input type="text" class="inputBox" name="flatPrice" value="0.00" size="5">
-            <span class="tabletext">${uiLabelMap.ProductShipamountPrice}</span>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductFlatItemPrice}</span></td>
-          <td>
-            <input type="text" class="inputBox" name="flatItemPrice" value="0.00" size="5">
-            <span class="tabletext">${uiLabelMap.ProductShipamountTotalQuantityPrice}</span>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr><td colspan="3"><hr class="sepbar"></td></tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductFeatureGroup}</span></td>
-          <td>
-            <input type="text" class="inputBox" name="productFeatureGroupId" value="" size="15">
-            <span class="tabletext">${uiLabelMap.ProductFeatureMessage}</span>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductFeaturePerFeaturePercent}</span></td>
-          <td>
-            <input type="text" class="inputBox" name="featurePercent" value="0" size="5">
- <span class="tabletext">${uiLabelMap.ProductShipamount} : ${uiLabelMap.ProductShipamount} + ((${uiLabelMap.ProductOrderTotal} * ${uiLabelMap.ProductPercent}) * ${uiLabelMap.ProductTotalFeaturesApplied})</span>            
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductFeaturePerFeaturePrice}</span></td>
-          <td>
-            <input type="text" class="inputBox" name="featurePrice" value="0.00" size="5">
- <span class="tabletext">${uiLabelMap.ProductShipamount} : ${uiLabelMap.ProductShipamount} + (${uiLabelMap.ProductPrice} * ${uiLabelMap.ProductTotalFeaturesApplied})</span>            
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr><td colspan="3"><hr class="sepbar"></td></tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductOversizeUnit}</span></td>
-          <td>
-            <input type="text" class="inputBox" name="oversizeUnit" value="" size="5">
-            <span class="tabletext">${uiLabelMap.ProductEach} ((${uiLabelMap.ProductHeight} * 2) + (${uiLabelMap.ProductWidth} * 2) + ${uiLabelMap.ProductDept}) >= ${uiLabelMap.CommonThis} ${uiLabelMap.ProductAmount}</span>          
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductOversizeSurcharge}</span></td>
-          <td>
-            <input type="text" class="inputBox" name="oversizePrice" value="0.00" size="5">
- <span class="tabletext">${uiLabelMap.ProductShipamount} : ${uiLabelMap.ProductShipamount} + (# ${uiLabelMap.ProductOversize} ${uiLabelMap.ProductProducts} * ${uiLabelMap.ProductSurcharge})</span>            
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr><td colspan="3"><hr class="sepbar"></td></tr>
-        <tr>
-          <td colspan="1"><span class="tableheadtext">${uiLabelMap.ProductWeight}</span></td>
-          <td colspan="2"><span class="tabletext">${uiLabelMap.ProductMinMax}</span></td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductMinMaxSpan}</span></td>
-          <td>
-            <input type="text" class="inputBox" name="wmin" size="4"> - <input type="text" class="inputBox" name="wmax" size="4">
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductUnitOfMeasure}</span></td>
-          <td>
-            <select name="wuom" class="selectBox">
-              <#list weightUoms as uom>
-                <option value="${uom.uomId}">${uom.get("description",locale)}</option>
-              </#list>
-            </select>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductPerUnitPrice}</span></td>
-          <td>
-            <input type="text" class='inputBox' name="wprice" size="5">
-            <span class="tabletext">${uiLabelMap.ProductOnlyAppliesWithinSpan}</span>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr><td colspan="3"><hr class="sepbar"></td></tr>
-        <tr>
-          <td colspan="1"><span class="tableheadtext">${uiLabelMap.ProductQuantity}</span></td>
-          <td colspan="2"><span class="tabletext">${uiLabelMap.ProductMinMax}</span></td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductMinMaxSpan}</span></td>
-          <td><input type="text" class="inputBox" name="qmin" size="4"> - <input type="text" class="inputBox" name="qmax" size="4"></td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductUnitOfMeasure}</span></td>
-          <td>
-            <select name="quom" class="selectBox">
-              <#list quantityUoms as uom>
-                <option value="${uom.uomId}">${uom.get("description",locale)}</option>
-              </#list>
-            </select>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductPerUnitPrice}</span></td>
-          <td>
-            <input type="text" class='inputBox' name="qprice" size="5">
-            <span class="tabletext">${uiLabelMap.ProductOnlyAppliesWithinSpan}</span>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr><td colspan="3"><hr class="sepbar"></td></tr>
-        <tr>
-          <td colspan="1"><span class="tableheadtext">${uiLabelMap.ProductPrice}</span></td>
-          <td colspan="2"><span class="tabletext">${uiLabelMap.ProductMinMax}</span></td>
-        <tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductMinMaxSpan}</span></td>
-          <td><input type="text" class="inputBox" name="pmin" size="4"> - <input type="text" class="inputBox" name="pmax" size="4"></td>
-          <td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td align='right'><span class="tableheadtext">${uiLabelMap.ProductPerUnitPrice}</span></td>
-          <td>
-            <input type="text" class='inputBox' name="pprice" size="5">
-            <span class="tabletext">${uiLabelMap.ProductOnlyAppliesWithinSpan}</span>
-          </td>
-          <td>&nbsp;</td>
-        </tr>
-
-        <tr>
-          <td colspan="3">
-            <input type="submit" class="smallSubmit" value="${uiLabelMap.CommonAdd}">
-          </td>
-        </tr>
-      </table>
-    </form>
-  </#if>
 <#-- New Shippment Methods-->
-  <#if requestParameters.newShipMethod?exists>
     <div class="head2">${uiLabelMap.ProductStoreShipmentMethodAssociations}</div>
     <table border="1" cellpadding="2" cellspacing="0">
       <tr>
@@ -863,4 +447,3 @@
         </tr>
       </form>
     </table>
-  </#if>

Modified: ofbiz/trunk/applications/product/webapp/catalog/store/ProductStoreForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/store/ProductStoreForms.xml?view=diff&rev=525223&r1=525222&r2=525223
==============================================================================
--- ofbiz/trunk/applications/product/webapp/catalog/store/ProductStoreForms.xml (original)
+++ ofbiz/trunk/applications/product/webapp/catalog/store/ProductStoreForms.xml Tue Apr  3 10:57:22 2007
@@ -378,4 +378,213 @@
         </field>
         <field name="submitButton" title="${uiLabelMap.CommonSubmit}" widget-style="smallSubmit"><submit button-type="button"/></field>
     </form>
+    <form name="ListShipmentCostEstimates" target="" title="" type="list"  list-name="estimates"
+        paginate-target="EditProductStoreShipmentCostEstimates">
+        <auto-fields-entity entity-name="ShipmentCostEstimate" default-field-type="display"/>
+        <field name="productStoreId"><hidden/></field>
+        <field name="carrierRoleTypeId"><hidden/></field>
+        <field name="shipmentCostEstimateId" title="" widget-style="buttontext">
+            <hyperlink target="EditProductStoreShipmentCostEstimates?productStoreId=${productStoreId}&amp;shipmentCostEstimateId=${shipmentCostEstimateId}" description="${shipmentCostEstimateId}" also-hidden="false"/>
+        </field>
+        <field name="shipmentMethodTypeId" title="${uiLabelMap.ProductMethod}">
+            <display-entity entity-name="ShipmentMethodType" description="${description}" cache="true" also-hidden="true"/>
+        </field>
+        <field name="geoIdFrom">
+            <display-entity entity-name="Geo" key-field-name="geoId" description="${geoName} [${geoId}]"/>
+        </field>
+        <field name="geoIdTo">
+            <display-entity entity-name="Geo" key-field-name="geoId" description="${geoName} [${geoId}]"/>
+        </field>
+        <field name="weightBreakId">
+            <display-entity entity-name="QuantityBreak" key-field-name="quantityBreakId" description="${fromQuantity} - ${thruQuantity} [${quantityBreakId}]"/>
+        </field>
+        <field name="weightUomId" title="${uiLabelMap.ProductUnitOfMeasure}">
+            <display-entity entity-name="Uom" key-field-name="uomId" description="${description}"/>
+        </field>
+        <field name="quantityBreakId">
+            <display-entity entity-name="QuantityBreak" key-field-name="quantityBreakId" description="${fromQuantity} - ${thruQuantity} [${quantityBreakId}]"/>
+        </field>
+        <field name="quantityUomId" title="${uiLabelMap.ProductUnitOfMeasure}">
+            <display-entity entity-name="Uom" key-field-name="uomId" description="${description}"/>
+        </field>
+        <field name="priceBreakId">
+            <display-entity entity-name="QuantityBreak" key-field-name="quantityBreakId" description="${fromQuantity} - ${thruQuantity} [${quantityBreakId}]"/>
+        </field>
+        <field name="priceUomId" title="${uiLabelMap.ProductUnitOfMeasure}">
+            <display-entity entity-name="Uom" key-field-name="uomId" description="${description}"/>
+        </field>
+        <field name="deleteLink" title="" widget-style="buttontext">
+            <hyperlink target="storeRemoveShipRate?productStoreId=${productStoreId}&amp;shipmentCostEstimateId=${shipmentCostEstimateId}" description="${uiLabelMap.CommonRemove}" also-hidden="false"/>
+        </field>
+    </form>
+    <form name="AddShipmentCostEstimate" type="single" target="storeCreateShipRate" title="">
+        <field name="productStoreId"><hidden/></field>
+        <field name="productStoreShipMethId" title="${uiLabelMap.ProductShipmentMethod}">
+            <drop-down allow-empty="false">
+                <entity-options entity-name="ProductStoreShipmentMethView" description="${productStoreShipMethId} ${description} ${partyId}">
+                    <entity-constraint name="productStoreId" env-name="productStoreId"/>
+                    <entity-order-by field-name="sequenceNumber"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="fromGeo" title="${uiLabelMap.ProductFromGeo}">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="Geo" key-field-name="geoId" description="${geoName}">
+                    <entity-order-by field-name="geoTypeId"/>
+                    <entity-order-by field-name="geoName"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="toGeo" title="${uiLabelMap.ProductToGeo}">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="Geo" key-field-name="geoId" description="${geoName}">
+                    <entity-order-by field-name="geoTypeId"/>
+                    <entity-order-by field-name="geoName"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="partyId"><text/></field>
+        <field name="roleTypeId"><text/></field>
+        
+        <field name="FlatTitle" title=" " title-area-style="group-label"><display description=" " also-hidden="false"/></field>
+        <field name="flatPercent" title="${uiLabelMap.ProductFlatBasePercent}" tooltip="${uiLabelMap.ProductShipamountOrderTotalPercent}"><text/></field>
+        <field name="flatPrice" title="${uiLabelMap.ProductFlatBasePrice}" tooltip="${uiLabelMap.ProductShipamountPrice}"><text/></field>
+        <field name="flatItemPrice" title="${uiLabelMap.ProductFlatItemPrice}" tooltip="${uiLabelMap.ProductShipamountTotalQuantityPrice}"><text/></field>
+        
+        <field name="FeatureTitle" title=" " title-area-style="group-label"><display description=" " also-hidden="false"/></field>
+        <field name="productFeatureGroupId" title="${uiLabelMap.ProductFeatureGroup}" tooltip="${uiLabelMap.ProductFeatureMessage}"><text/></field>
+        <field name="featurePercent" title="${uiLabelMap.ProductFeaturePerFeaturePercent}" tooltip="${uiLabelMap.ProductShipamount} : ${uiLabelMap.ProductShipamount} + ((${uiLabelMap.ProductOrderTotal} * ${uiLabelMap.ProductPercent}) * ${uiLabelMap.ProductTotalFeaturesApplied})"><text/></field>
+        <field name="featurePrice" title="${uiLabelMap.ProductFeaturePerFeaturePrice}" tooltip="${uiLabelMap.ProductShipamount} : ${uiLabelMap.ProductShipamount} + (${uiLabelMap.ProductPrice} * ${uiLabelMap.ProductTotalFeaturesApplied})"><text/></field>
+
+        <field name="OversizeTitle" title=" " title-area-style="group-label"><display description=" " also-hidden="false"/></field>
+        <field name="oversizeUnit" title="${uiLabelMap.ProductOversizeUnit}" tooltip="${uiLabelMap.ProductEach} ((${uiLabelMap.ProductHeight} * 2) + (${uiLabelMap.ProductWidth} * 2) + ${uiLabelMap.ProductDept}) >= ${uiLabelMap.CommonThis} ${uiLabelMap.ProductAmount}"><text/></field>
+        <field name="oversizePrice" title="${uiLabelMap.ProductOversizeSurcharge}" tooltip="${uiLabelMap.ProductShipamount} : ${uiLabelMap.ProductShipamount} + (# ${uiLabelMap.ProductOversize} ${uiLabelMap.ProductProducts} * ${uiLabelMap.ProductSurcharge})"><text/></field>
+        
+        <field name="WeightTitle1" title="${uiLabelMap.ProductWeight}" title-area-style="group-label"><display description=" " also-hidden="false"/></field>
+        <field name="WeightTitle2" title=" " tooltip="${uiLabelMap.ProductMinMax}" title-area-style="group-label"><display description=" " also-hidden="false"/></field>
+        <field name="wmin" title="${uiLabelMap.ProductMin}"><text/></field>
+        <field name="wmax" title="${uiLabelMap.ProductMax}"><text/></field>
+        <field name="weightBreakId">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="QuantityBreak" key-field-name="quantityBreakId" description="${fromQuantity} - ${thruQuantity}">
+                    <entity-constraint name="quantityBreakTypeId" value="SHIP_WEIGHT"/>
+                    <entity-order-by field-name="fromQuantity"/>
+                </entity-options>
+            </drop-down>
+        </field>
+
+        <field name="wuom" title="${uiLabelMap.ProductUnitOfMeasure}">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="Uom" key-field-name="uomId" description="${description}">
+                    <entity-constraint name="uomTypeId" value="WEIGHT_MEASURE"/>
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="wprice" title="${uiLabelMap.ProductPerUnitPrice}" tooltip="${uiLabelMap.ProductOnlyAppliesWithinSpan}"><text/></field>
+        
+        <field name="QuantityTitle1" title="${uiLabelMap.ProductQuantity}" title-area-style="group-label"><display description=" " also-hidden="false"/></field>
+        <field name="QuantityTitle2" title=" " tooltip="${uiLabelMap.ProductMinMax}" title-area-style="group-label"><display description=" " also-hidden="false"/></field>
+        <field name="qmin" title="${uiLabelMap.ProductMin}"><text/></field>
+        <field name="qmax" title="${uiLabelMap.ProductMax}"><text/></field>
+        <field name="quantityBreakId">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="QuantityBreak" key-field-name="quantityBreakId" description="${fromQuantity} - ${thruQuantity}">
+                    <entity-constraint name="quantityBreakTypeId" value="SHIP_QUANTITY"/>
+                    <entity-order-by field-name="fromQuantity"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="quom" title="${uiLabelMap.ProductUnitOfMeasure}">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="Uom" key-field-name="uomId" description="${description}">
+                    <entity-constraint name="uomTypeId" operator="not-equals" value="CURRENCY_MEASURE"/>
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="qprice" title="${uiLabelMap.ProductPerUnitPrice}" tooltip="${uiLabelMap.ProductOnlyAppliesWithinSpan}"><text/></field>
+        
+        <field name="PriceTitle1" title="${uiLabelMap.ProductPrice}" title-area-style="group-label"><display description=" " also-hidden="false"/></field>
+        <field name="PriceTitle2" title=" " tooltip="${uiLabelMap.ProductMinMax}" title-area-style="group-label"><display description=" " also-hidden="false"/></field>
+        <field name="pmin" title="${uiLabelMap.ProductMin}"><text/></field>
+        <field name="pmax" title="${uiLabelMap.ProductMax}"><text/></field>
+        <field name="priceBreakId">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="QuantityBreak" key-field-name="quantityBreakId" description="${fromQuantity} - ${thruQuantity}">
+                    <entity-constraint name="quantityBreakTypeId" value="SHIP_PRICE"/>
+                    <entity-order-by field-name="fromQuantity"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="puom" title="${uiLabelMap.ProductUnitOfMeasure}">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="Uom" key-field-name="uomId" description="${description}">
+                    <entity-constraint name="uomTypeId" value="CURRENCY_MEASURE"/>
+                    <entity-order-by field-name="description"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="pprice" title="${uiLabelMap.ProductPerUnitPrice}" tooltip="${uiLabelMap.ProductOnlyAppliesWithinSpan}"><text/></field>
+        <field name="submitButton" title="${uiLabelMap.CommonSubmit}" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
+    <form name="ViewShipmentCostEstimate" type="single" title="" default-map-name="estimate">
+        <field name="shipmentCostEstimateId"><display/></field>
+        <field name="productStoreId"><hidden/></field>
+        <field name="shipmentMethodTypeId">
+            <display description="${estimate.shipmentMethodTypeId} (${estimate.carrierPartyId})"/>
+        </field>
+        <field name="geoIdFrom">
+            <display-entity entity-name="Geo" key-field-name="geoId" description="${geoName} [${geoId}]"/>
+        </field>
+        <field name="geoIdTo">
+            <display-entity entity-name="Geo" key-field-name="geoId" description="${geoName} [${geoId}]"/>
+        </field>
+        <field name="partyId"><display/></field>
+        <field name="roleTypeId"><display/></field>
+        
+        <field name="FlatTitle" title=" " title-area-style="group-label"><display description=" " also-hidden="false"/></field>
+        <field name="orderPricePercent" title="${uiLabelMap.ProductFlatBasePercent}" tooltip="${uiLabelMap.ProductShipamountOrderTotalPercent}"><display/></field>
+        <field name="orderFlatPrice" title="${uiLabelMap.ProductFlatBasePrice}" tooltip="${uiLabelMap.ProductShipamountPrice}"><display/></field>
+        <field name="orderItemFlatPrice" title="${uiLabelMap.ProductFlatItemPrice}" tooltip="${uiLabelMap.ProductShipamountTotalQuantityPrice}"><display/></field>
+        
+        <field name="FeatureTitle" title=" " title-area-style="group-label"><display description=" " also-hidden="false"/></field>
+        <field name="productFeatureGroupId" title="${uiLabelMap.ProductFeatureGroup}" tooltip="${uiLabelMap.ProductFeatureMessage}"><display/></field>
+        <field name="featurePercent" title="${uiLabelMap.ProductFeaturePerFeaturePercent}" tooltip="${uiLabelMap.ProductShipamount} : ${uiLabelMap.ProductShipamount} + ((${uiLabelMap.ProductOrderTotal} * ${uiLabelMap.ProductPercent}) * ${uiLabelMap.ProductTotalFeaturesApplied})"><display/></field>
+        <field name="featurePrice" title="${uiLabelMap.ProductFeaturePerFeaturePrice}" tooltip="${uiLabelMap.ProductShipamount} : ${uiLabelMap.ProductShipamount} + (${uiLabelMap.ProductPrice} * ${uiLabelMap.ProductTotalFeaturesApplied})"><display/></field>
+
+        <field name="OversizeTitle" title=" " title-area-style="group-label"><display description=" " also-hidden="false"/></field>
+        <field name="oversizeUnit" title="${uiLabelMap.ProductOversizeUnit}" tooltip="${uiLabelMap.ProductEach} ((${uiLabelMap.ProductHeight} * 2) + (${uiLabelMap.ProductWidth} * 2) + ${uiLabelMap.ProductDept}) >= ${uiLabelMap.CommonThis} ${uiLabelMap.ProductAmount}"><display/></field>
+        <field name="oversizePrice" title="${uiLabelMap.ProductOversizeSurcharge}" tooltip="${uiLabelMap.ProductShipamount} : ${uiLabelMap.ProductShipamount} + (# ${uiLabelMap.ProductOversize} ${uiLabelMap.ProductProducts} * ${uiLabelMap.ProductSurcharge})"><display/></field>
+        
+        <field name="WeightTitle1" title="${uiLabelMap.ProductWeight}" title-area-style="group-label"><display description=" " also-hidden="false"/></field>
+        <field name="WeightTitle2" title=" " tooltip="${uiLabelMap.ProductMinMax}" title-area-style="group-label"><display description=" " also-hidden="false"/></field>
+        <field name="weightBreakId">
+            <display-entity entity-name="QuantityBreak" key-field-name="quantityBreakId" description="${fromQuantity} - ${thruQuantity}"/>
+        </field>
+        <field name="weightUomId" title="${uiLabelMap.ProductUnitOfMeasure}">
+            <display-entity entity-name="Uom" key-field-name="uomId" description="${description}"/>
+        </field>
+        <field name="weightUnitPrice" title="${uiLabelMap.ProductPerUnitPrice}" tooltip="${uiLabelMap.ProductOnlyAppliesWithinSpan}"><display/></field>
+        
+        <field name="QuantityTitle1" title="${uiLabelMap.ProductQuantity}" title-area-style="group-label"><display description=" " also-hidden="false"/></field>
+        <field name="QuantityTitle2" title=" " tooltip="${uiLabelMap.ProductMinMax}" title-area-style="group-label"><display description=" " also-hidden="false"/></field>
+        <field name="quantityBreakId">
+            <display-entity entity-name="QuantityBreak" key-field-name="quantityBreakId" description="${fromQuantity} - ${thruQuantity}"/>
+        </field>
+        <field name="quantityUomId" title="${uiLabelMap.ProductUnitOfMeasure}">
+            <display-entity entity-name="Uom" key-field-name="uomId" description="${description}"/>
+        </field>
+        <field name="quantityUnitPrice" title="${uiLabelMap.ProductPerUnitPrice}" tooltip="${uiLabelMap.ProductOnlyAppliesWithinSpan}"><display/></field>
+        
+        <field name="PriceTitle1" title="${uiLabelMap.ProductPrice}" title-area-style="group-label"><display description=" " also-hidden="false"/></field>
+        <field name="PriceTitle2" title=" " tooltip="${uiLabelMap.ProductMinMax}" title-area-style="group-label"><display description=" " also-hidden="false"/></field>
+        <field name="priceBreakId">
+            <display-entity entity-name="QuantityBreak" key-field-name="quantityBreakId" description="${fromQuantity} - ${thruQuantity}"/>
+        </field>
+        <field name="priceUomId" title="${uiLabelMap.ProductUnitOfMeasure}">
+            <display-entity entity-name="Uom" key-field-name="uomId" description="${description}"/>
+        </field>
+        <field name="priceUnitPrice" title="${uiLabelMap.ProductPerUnitPrice}" tooltip="${uiLabelMap.ProductOnlyAppliesWithinSpan}"><display/></field>
+    </form>
 </forms>

Modified: ofbiz/trunk/applications/product/webapp/catalog/store/ProductStoreTabBar.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/store/ProductStoreTabBar.ftl?view=diff&rev=525223&r1=525222&r2=525223
==============================================================================
--- ofbiz/trunk/applications/product/webapp/catalog/store/ProductStoreTabBar.ftl (original)
+++ ofbiz/trunk/applications/product/webapp/catalog/store/ProductStoreTabBar.ftl Tue Apr  3 10:57:22 2007
@@ -27,6 +27,7 @@
       <a href="<@ofbizUrl>EditProductStoreWebSites?viewProductStoreId=${productStoreId}</@ofbizUrl>" class="${selectedClassMap.EditProductStoreWebSites?default(unselectedClassName)}">${uiLabelMap.ProductWebSites}</a>
       <!-- The tax stuff is in the Tax Authority area of the accounting manager, need to re-do this screen to list current tax entries and link to the accmgr screens <a href="<@ofbizUrl>EditProductStoreTaxSetup?productStoreId=${productStoreId}</@ofbizUrl>" class="${selectedClassMap.EditProductStoreTaxSetup?default(unselectedClassName)}">${uiLabelMap.ProductSalesTax}</a> -->
       <a href="<@ofbizUrl>EditProductStoreShipSetup?viewProductStoreId=${productStoreId}</@ofbizUrl>" class="${selectedClassMap.EditProductStoreShipSetup?default(unselectedClassName)}">${uiLabelMap.OrderShipping}</a>
+      <a href="<@ofbizUrl>EditProductStoreShipmentCostEstimates?productStoreId=${productStoreId}</@ofbizUrl>" class="${selectedClassMap.EditProductStoreShipmentCostEstimates?default(unselectedClassName)}">${uiLabelMap.ProductViewEstimates}</a>
       <a href="<@ofbizUrl>EditProductStorePaySetup?productStoreId=${productStoreId}</@ofbizUrl>" class="${selectedClassMap.EditProductStorePaySetup?default(unselectedClassName)}">${uiLabelMap.AccountingPayments}</a>
       <a href="<@ofbizUrl>EditProductStoreEmails?productStoreId=${productStoreId}</@ofbizUrl>" class="${selectedClassMap.EditProductStoreEmails?default(unselectedClassName)}">${uiLabelMap.CommonEmails}</a>
       <a href="<@ofbizUrl>EditProductStoreSurveys?productStoreId=${productStoreId}</@ofbizUrl>" class="${selectedClassMap.EditProductStoreSurveys?default(unselectedClassName)}">${uiLabelMap.CommonSurveys}</a>

Modified: ofbiz/trunk/applications/product/widget/catalog/StoreScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/widget/catalog/StoreScreens.xml?view=diff&rev=525223&r1=525222&r2=525223
==============================================================================
--- ofbiz/trunk/applications/product/widget/catalog/StoreScreens.xml (original)
+++ ofbiz/trunk/applications/product/widget/catalog/StoreScreens.xml Tue Apr  3 10:57:22 2007
@@ -224,6 +224,45 @@
             </widgets>
        </section>
     </screen>
+    <screen name="EditProductStoreShipmentCostEstimates">
+       <section>
+            <actions>
+                <set field="titleProperty" value="PageTitleEditProductStoreShipSetup"/>
+                <set field="headerItem" value="store"/>
+                <set field="tabButtonItem" value="EditProductStoreShipmentCostEstimates"/>
+                <set field="labelTitleProperty" value="ProductProductStoreShipmentSettings"/>
+
+                <set field="productStoreId" from-field="parameters.productStoreId"/>
+                <entity-one entity-name="ProductStore" value-name="productStore" auto-field-map="true"/>
+                <entity-condition entity-name="ShipmentCostEstimate" list-name="estimates">
+                    <condition-expr field-name="productStoreId" env-name="productStoreId"/>
+                    <order-by field-name="geoIdFrom"/>
+                    <order-by field-name="shipmentMethodTypeId"/>
+                    <order-by field-name="geoIdTo"/>
+                </entity-condition>
+                <entity-one entity-name="ShipmentCostEstimate" value-name="estimate" auto-field-map="true"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="CommonProductStoreDecorator" location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <include-form name="ListShipmentCostEstimates" location="component://product/webapp/catalog/store/ProductStoreForms.xml"/>
+                        <section>
+                            <condition>
+                                <if-empty field-name="estimate"/>
+                            </condition>
+                            <widgets>
+                                <label style="head2">${uiLabelMap.ProductNewShipmentEstimate}</label>
+                                <include-form name="AddShipmentCostEstimate" location="component://product/webapp/catalog/store/ProductStoreForms.xml"/>
+                            </widgets>
+                            <fail-widgets>
+                                <include-form name="ViewShipmentCostEstimate" location="component://product/webapp/catalog/store/ProductStoreForms.xml"/>
+                            </fail-widgets>
+                        </section>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+       </section>
+    </screen>
     <screen name="EditProductStorePaySetup">
        <section>
             <actions>