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>


Reply via email to