svn commit: r433195 - in /incubator/ofbiz/trunk/applications/order: src/org/ofbiz/order/shoppingcart/ webapp/ordermgr/WEB-INF/ webapp/ordermgr/WEB-INF/actions/entry/ webapp/ordermgr/entry/ widget/ordermgr/

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

svn commit: r433195 - in /incubator/ofbiz/trunk/applications/order: src/org/ofbiz/order/shoppingcart/ webapp/ordermgr/WEB-INF/ webapp/ordermgr/WEB-INF/actions/entry/ webapp/ordermgr/entry/ widget/ordermgr/

jacopoc
Author: jacopoc
Date: Mon Aug 21 01:07:26 2006
New Revision: 433195

URL: http://svn.apache.org/viewvc?rev=433195&view=rev
Log:
A bunch of changes to the backoffice order entry checkout screens (ship settings and option settings) and related events to better support the multi ship groups management.
Now the creation of more than one ship group is very easy, but the screen to assign the items to different ship groups is still not implemented.

Added:
    incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/editShipAddress.ftl   (with props)
Removed:
    incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/shipGroupTabBar.ftl
Modified:
    incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutEvents.java
    incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutHelper.java
    incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/SetCheckOutTabBar.bsh
    incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/optionsettings.bsh
    incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/shipsettings.bsh
    incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml
    incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/billsettings.ftl
    incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/optionsettings.ftl
    incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/shipsettings.ftl
    incubator/ofbiz/trunk/applications/order/widget/ordermgr/OrderEntryOrderScreens.xml

Modified: incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutEvents.java
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutEvents.java?rev=433195&r1=433194&r2=433195&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutEvents.java (original)
+++ incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutEvents.java Mon Aug 21 01:07:26 2006
@@ -627,7 +627,6 @@
 
         Map paramMap = UtilHttp.getParameterMap(request);
         Boolean offlinePayments;
-        String shipGroupIndexPar = null;
         String shippingContactMechId = null;
         String shippingMethod = null;
         String shippingInstructions = null;
@@ -710,36 +709,55 @@
             isAnonymousCheckout = true;
         }
 
-        shipGroupIndexPar = request.getParameter("shipGroupIndex");
-        int shipGroupIndex = 0;
-        if (shipGroupIndexPar != null) {
-            try {
-                shipGroupIndex = Integer.parseInt(shipGroupIndexPar);
-            } catch(Exception exc) {
-                Debug.logWarning("Unable to parse shipGroupIndex [" + shipGroupIndexPar + "]: " + exc.getMessage(), module);
+        CheckOutHelper checkOutHelper = new CheckOutHelper(dispatcher, delegator, cart);
+
+        // ====================================================================================
+        if (mode != null && (mode.equals("ship") || mode.equals("options"))) {
+            Map callResult = ServiceUtil.returnSuccess();
+            List errorMessages = new ArrayList();
+            Map errorMaps = new HashMap();
+            for (int shipGroupIndex = 0; shipGroupIndex < cart.getShipGroupSize(); shipGroupIndex++) {
+                // set the shipping method
+                if (mode != null && mode.equals("ship")) {
+                    shippingContactMechId = request.getParameter(shipGroupIndex + "_shipping_contact_mech_id");
+                    if (shippingContactMechId == null) {
+                        shippingContactMechId = (String) request.getAttribute("contactMechId"); // FIXME
+                    }
+                    callResult = checkOutHelper.finalizeOrderEntryShip(shipGroupIndex, shippingContactMechId);
+                    ServiceUtil.addErrors(errorMessages, errorMaps, callResult);
+                }
+                // set the options
+                if (mode != null && mode.equals("options")) {
+                    shippingMethod = request.getParameter(shipGroupIndex + "_shipping_method");
+                    shippingInstructions = request.getParameter(shipGroupIndex + "_shipping_instructions");
+                    maySplit = request.getParameter(shipGroupIndex + "_may_split");
+                    giftMessage = request.getParameter(shipGroupIndex + "_gift_message");
+                    isGift = request.getParameter(shipGroupIndex + "_is_gift");
+                    internalCode = request.getParameter("internalCode"); // FIXME
+                    shipBeforeDate = request.getParameter(shipGroupIndex + "_shipBeforeDate");
+                    shipAfterDate = request.getParameter(shipGroupIndex + "_shipAfterDate");
+                    callResult = checkOutHelper.finalizeOrderEntryOptions(shipGroupIndex, shippingMethod, shippingInstructions, maySplit, giftMessage, isGift, internalCode, shipBeforeDate, shipAfterDate);
+                    ServiceUtil.addErrors(errorMessages, errorMaps, callResult);
+                }
+            }
+            //See whether we need to return an error or not
+            callResult = ServiceUtil.returnSuccess();
+            if (errorMessages.size() > 0) {
+                callResult.put(ModelService.ERROR_MESSAGE_LIST, errorMessages);
+                callResult.put(ModelService.RESPONSE_MESSAGE, ModelService.RESPOND_ERROR);
+            }
+            if (errorMaps.size() > 0) {
+                callResult.put(ModelService.ERROR_MESSAGE_MAP, errorMaps);
+                callResult.put(ModelService.RESPONSE_MESSAGE, ModelService.RESPOND_ERROR);
+            }
+            // generate any messages required
+            ServiceUtil.getMessages(request, callResult, null);
+            // determine whether it was a success or not
+            if (callResult.get(ModelService.RESPONSE_MESSAGE).equals(ModelService.RESPOND_ERROR)) {
+                return "error";
             }
         }
-
-        // get the shipping method
-        shippingContactMechId = request.getParameter("shipping_contact_mech_id");
-        if (shippingContactMechId == null) {
-            shippingContactMechId = (String) request.getAttribute("contactMechId");
-        }
-
-        // get the options
-        shippingMethod = request.getParameter("shipping_method");
-        shippingInstructions = request.getParameter("shipping_instructions");
-        maySplit = request.getParameter("may_split");
-        giftMessage = request.getParameter("gift_message");
-        isGift = request.getParameter("is_gift");
-        internalCode = request.getParameter("internalCode");
-        shipBeforeDate = request.getParameter("shipBeforeDate");
-        shipAfterDate = request.getParameter("shipAfterDate");
-        Locale locale = UtilHttp.getLocale(request);
-
-        // payment option; if offline we skip the payment screen
-        methodType = request.getParameter("paymentMethodType");
-
+        // ###############################################################################
         // get the payment
         checkOutPaymentId = request.getParameter("checkOutPaymentId");
         if (checkOutPaymentId == null) {
@@ -747,6 +765,8 @@
         }
 
         // check for offline payment type
+        // payment option; if offline we skip the payment screen
+        methodType = request.getParameter("paymentMethodType");
         if ("offline".equals(methodType)) {
             Debug.log("Changing mode from->to: " + mode + "->payment", module);
             checkOutPaymentId = "EXT_OFFLINE";            
@@ -757,49 +777,71 @@
         boolean isSingleUsePayment = singleUsePayment != null && "Y".equalsIgnoreCase(singleUsePayment) ? true : false;
         boolean doAppendPayment = appendPayment != null && "Y".equalsIgnoreCase(appendPayment) ? true : false;
 
-        CheckOutHelper checkOutHelper = new CheckOutHelper(dispatcher, delegator, cart);
-
-        // get the currency format
-        String currencyFormat = UtilProperties.getPropertyValue("general.properties", "currency.decimal.format", "##0.00");
-        DecimalFormat formatter = new DecimalFormat(currencyFormat);
-
-        // Set the payment options
-        Map selectedPaymentMethods = getSelectedPaymentMethods(request);
-        if (selectedPaymentMethods == null) {
-            return "error";
-        }
-
-        String billingAccountId = request.getParameter("billingAccountId");
-        String billingAcctAmtStr = request.getParameter("amount_" + billingAccountId);
-        Double billingAccountAmt = null;
-
-        // parse the amount to a decimal
-        if (billingAcctAmtStr != null) {
-            try {
-                billingAccountAmt = new Double(formatter.parse(billingAcctAmtStr).doubleValue());
-            } catch (ParseException e) {
-                Debug.logError(e, module);
-                request.setAttribute("_ERROR_MESSAGE_", UtilProperties.getMessage(resource_error,"OrderInvalidAmountSetForBillingAccount", UtilMisc.toMap("billingAccountId",billingAccountId), locale));
+        if (mode != null && mode.equals("payment")) {
+            Map callResult = ServiceUtil.returnSuccess();
+            List errorMessages = new ArrayList();
+            Map errorMaps = new HashMap();
+
+            // Set the payment options
+            Map selectedPaymentMethods = getSelectedPaymentMethods(request);
+            if (selectedPaymentMethods == null) {
                 return "error";
             }
-        }
 
-        if (mode != null && mode.equals("payment")) {
+            String billingAccountId = request.getParameter("billingAccountId");
+            String billingAcctAmtStr = request.getParameter("amount_" + billingAccountId);
+            Double billingAccountAmt = null;
+
+            // parse the amount to a decimal
+            if (billingAcctAmtStr != null) {
+                Locale locale = UtilHttp.getLocale(request);
+                // get the currency format
+                String currencyFormat = UtilProperties.getPropertyValue("general.properties", "currency.decimal.format", "##0.00");
+                DecimalFormat formatter = new DecimalFormat(currencyFormat);
+                try {
+                    billingAccountAmt = new Double(formatter.parse(billingAcctAmtStr).doubleValue());
+                } catch (ParseException e) {
+                    Debug.logError(e, module);
+                    request.setAttribute("_ERROR_MESSAGE_", UtilProperties.getMessage(resource_error,"OrderInvalidAmountSetForBillingAccount", UtilMisc.toMap("billingAccountId",billingAccountId), locale));
+                    return "error";
+                }
+            }
+
+            // ??? FIXME
             checkOutHelper.setCheckOutPayment(selectedPaymentMethods, null, billingAccountId, billingAccountAmt);
+            // -----------
+            Map selPaymentMethods = null;
+            if (checkOutPaymentId != null) {
+                callResult = checkOutHelper.finalizeOrderEntryPayment(checkOutPaymentId, null, isSingleUsePayment, doAppendPayment);
+                ServiceUtil.addErrors(errorMessages, errorMaps, callResult);
+                selPaymentMethods = UtilMisc.toMap(checkOutPaymentId, null);
+            }
+            callResult = checkOutHelper.checkGiftCard(paramMap, selPaymentMethods);
+            ServiceUtil.addErrors(errorMessages, errorMaps, callResult);
+            if (errorMessages.size() == 0 && errorMaps.size() == 0) {
+                String gcPaymentMethodId = (String) callResult.get("paymentMethodId");
+                Double giftCardAmount = (Double) callResult.get("amount");
+                Map gcCallRes = checkOutHelper.finalizeOrderEntryPayment(gcPaymentMethodId, giftCardAmount, true, true);
+                ServiceUtil.addErrors(errorMessages, errorMaps, gcCallRes);
+            }
+            //See whether we need to return an error or not
+            callResult = ServiceUtil.returnSuccess();
+            if (errorMessages.size() > 0) {
+                callResult.put(ModelService.ERROR_MESSAGE_LIST, errorMessages);
+                callResult.put(ModelService.RESPONSE_MESSAGE, ModelService.RESPOND_ERROR);
+            }
+            if (errorMaps.size() > 0) {
+                callResult.put(ModelService.ERROR_MESSAGE_MAP, errorMaps);
+                callResult.put(ModelService.RESPONSE_MESSAGE, ModelService.RESPOND_ERROR);
+            }
+            // generate any messages required
+            ServiceUtil.getMessages(request, callResult, null);
+            // determine whether it was a success or not
+            if (callResult.get(ModelService.RESPONSE_MESSAGE).equals(ModelService.RESPOND_ERROR)) {
+                return "error";
+            }
         }
 
-        Map callResult = checkOutHelper.finalizeOrderEntry(mode, shipGroupIndex, shippingContactMechId, shippingMethod, shippingInstructions,
-                maySplit, giftMessage, isGift, methodType, checkOutPaymentId, isSingleUsePayment, doAppendPayment, paramMap,
-                internalCode, shipBeforeDate, shipAfterDate);
-
-        // generate any messages required
-        ServiceUtil.getMessages(request, callResult, null);
-
-        // determine whether it was a success or not
-        if (callResult.get(ModelService.RESPONSE_MESSAGE).equals(ModelService.RESPOND_ERROR)) {
-            return "error";
-        }
-        
         // determine where to direct the browser
         // these are the default values
         boolean requireCustomer = true;
@@ -829,9 +871,20 @@
             requireAdditionalParty = requireAdditionalPartyStr == null || requireAdditionalPartyStr.equalsIgnoreCase("true");
         }
 
+        boolean shippingAddressSet = true;
+        boolean shippingOptionsSet = true;
+        for (int shipGroupIndex = 0; shipGroupIndex < cart.getShipGroupSize(); shipGroupIndex++) {
+            String shipContactMechId = cart.getShippingContactMechId(shipGroupIndex);
+            if (shipContactMechId == null) {
+                shippingAddressSet = false;
+            }
+            String shipmentMethodTypeId = cart.getShipmentMethodTypeId(shipGroupIndex);
+            if (shipmentMethodTypeId == null) {
+                shippingOptionsSet = false;
+            }
+        }
+        
         String customerPartyId = cart.getPartyId();
-        String shipContactMechId = cart.getShippingContactMechId(shipGroupIndex);
-        String shipmentMethodTypeId = cart.getShipmentMethodTypeId(shipGroupIndex);
         List paymentMethodIds = cart.getPaymentMethodIds();
         List paymentMethodTypeIds = cart.getPaymentMethodTypeIds();
 
@@ -839,11 +892,11 @@
             return "customer";
         }
 
-        if (requireShipping && shipContactMechId == null) {
+        if (requireShipping && !shippingAddressSet) {
             return "shipping";
         }
 
-        if (requireOptions && shipmentMethodTypeId == null) {
+        if (requireOptions && !shippingOptionsSet) {
             return "options";
         }
         

Modified: incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutHelper.java
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutHelper.java?rev=433195&r1=433194&r2=433195&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutHelper.java (original)
+++ incubator/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutHelper.java Mon Aug 21 01:07:26 2006
@@ -1350,70 +1350,6 @@
 
         return result;
     }
-    
-    /**
-     * Performs all the finalization settings and combines all the results.
-     * This is a convenience method, primarily to match the original
-     * code structure of the adapter class <code>CheckOutEvents</code>.
-     * <p>
-     * I would prefer to remove this altogether.
-     *
-     * @see CheckOutHelper#finalizeOrderEntryOptions(String, String, String, String, String, String, String, String)
-     * @see CheckOutHelper#finalizeOrderEntryPayment(String, Double, boolean, boolean)
-     * @see CheckOutHelper#finalizeOrderEntryShip(String)
-     */
-    public Map finalizeOrderEntry(String finalizeMode, int shipGroupIndex, String shippingContactMechId, String shippingMethod,
-            String shippingInstructions, String maySplit, String giftMessage, String isGift, String methodType,
-            String checkOutPaymentId, boolean isSingleUsePayment, boolean appendPayment, Map params,
-            String internalCode, String shipBeforeDate, String shipAfterDate) {
-
-        Map result = ServiceUtil.returnSuccess();
-        Map errorMaps = new HashMap();
-        Map callResult;
-        List errorMessages = new ArrayList();
-
-        // set the shipping method
-        if (finalizeMode != null && finalizeMode.equals("ship")) {
-            callResult = this.finalizeOrderEntryShip(shipGroupIndex, shippingContactMechId);
-            ServiceUtil.addErrors(errorMessages, errorMaps, callResult);
-        }
-
-        // set the options
-        if (finalizeMode != null && finalizeMode.equals("options")) {
-            callResult = this.finalizeOrderEntryOptions(shipGroupIndex, shippingMethod, shippingInstructions, maySplit, giftMessage, isGift, internalCode, shipBeforeDate, shipAfterDate);
-            ServiceUtil.addErrors(errorMessages, errorMaps, callResult);
-        }
-
-        // set the payment
-        if (finalizeMode != null && finalizeMode.equals("payment")) {
-            Map selectedPaymentMethods = null;
-            if (checkOutPaymentId != null) {
-                callResult = this.finalizeOrderEntryPayment(checkOutPaymentId, null, isSingleUsePayment, appendPayment);
-                ServiceUtil.addErrors(errorMessages, errorMaps, callResult);
-                selectedPaymentMethods = UtilMisc.toMap(checkOutPaymentId, null);
-            }
-            callResult = checkGiftCard(params, selectedPaymentMethods);
-            ServiceUtil.addErrors(errorMessages, errorMaps, callResult);
-            if (errorMessages.size() == 0 && errorMaps.size() == 0) {
-                String gcPaymentMethodId = (String) callResult.get("paymentMethodId");
-                Double giftCardAmount = (Double) callResult.get("amount");
-                Map gcCallRes = this.finalizeOrderEntryPayment(gcPaymentMethodId, giftCardAmount, true, true);
-                ServiceUtil.addErrors(errorMessages, errorMaps, gcCallRes);
-            }
-        }
-
-        //See whether we need to return an error or not
-        if (errorMessages.size() > 0) {
-            result.put(ModelService.ERROR_MESSAGE_LIST, errorMessages);
-            result.put(ModelService.RESPONSE_MESSAGE, ModelService.RESPOND_ERROR);
-        }
-        if (errorMaps.size() > 0) {
-            result.put(ModelService.ERROR_MESSAGE_MAP, errorMaps);
-            result.put(ModelService.RESPONSE_MESSAGE, ModelService.RESPOND_ERROR);
-        }
-
-        return result;
-    }
 
     public double availableAccountBalance(String billingAccountId) {
         GenericValue billingAccount = null;

Modified: incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/SetCheckOutTabBar.bsh
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/SetCheckOutTabBar.bsh?rev=433195&r1=433194&r2=433195&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/SetCheckOutTabBar.bsh (original)
+++ incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/SetCheckOutTabBar.bsh Mon Aug 21 01:07:26 2006
@@ -55,6 +55,11 @@
     addStep("OrderOrderTerms", "/setOrderTerm");
 }
 addStep("FacilityShipping", "/setShipping");
+/*
+if (shoppingCart.getShipGroupSize() > 1) {
+    addStep("ItemShipGroups", "/setItemShipGroups");
+}
+ */
 addStep("CommonOptions", "/setOptions");
 if ("SALES_ORDER".equals(shoppingCart.getOrderType())) {
     addStep("AccountingPayment", "/setBilling");

Modified: incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/optionsettings.bsh
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/optionsettings.bsh?rev=433195&r1=433194&r2=433195&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/optionsettings.bsh (original)
+++ incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/optionsettings.bsh Mon Aug 21 01:07:26 2006
@@ -27,22 +27,6 @@
 context.put("cart", cart);
 productStoreId = ProductStoreWorker.getProductStoreId(request);
 
-String shipGroupIndexPar = request.getParameter("shipGroupIndex");
-String createNewShipGroup = request.getParameter("createNewShipGroup");
-int shipGroupIndex = 0;
-if (createNewShipGroup != null && createNewShipGroup.equals("Y")) {
-    shipGroupIndex = cart.addShipInfo();
-} else {
-    if (shipGroupIndexPar != null) {
-        try {
-            shipGroupIndex = Integer.parseInt(shipGroupIndexPar);
-        } catch(Exception exc) {
-            Debug.logWarning("Unable to parse shipGroupIndex [" + shipGroupIndexPar + "]: " + exc.getMessage());
-        }
-    }
-}
-context.put("shipGroupIndex", shipGroupIndex);
-
 // nuke the event messages
 request.removeAttribute("_EVENT_MESSAGE_");
 
@@ -55,10 +39,6 @@
 
 context.put("carrierShipmentMethodList", delegator.findByAndCache("ProductStoreShipmentMethView", UtilMisc.toMap("productStoreId", productStoreId), UtilMisc.toList("sequenceNumber")));
 context.put("emailList",  ContactHelper.getContactMechByType(orderPartyId, "EMAIL_ADDRESS", false));
-
-if (cart.getShipmentMethodTypeId(shipGroupIndex) != null && cart.getCarrierPartyId(shipGroupIndex) != null) {
-    context.put("chosenShippingMethod", cart.getShipmentMethodTypeId(shipGroupIndex) + '@' + cart.getCarrierPartyId(shipGroupIndex));
-}    
 
 // create the beforeDate for calendar
 fromCal = Calendar.getInstance();

Modified: incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/shipsettings.bsh
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/shipsettings.bsh?rev=433195&r1=433194&r2=433195&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/shipsettings.bsh (original)
+++ incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/shipsettings.bsh Mon Aug 21 01:07:26 2006
@@ -27,21 +27,10 @@
 delegator = request.getAttribute("delegator");
 cart = session.getAttribute("shoppingCart");
 
-String shipGroupIndexPar = request.getParameter("shipGroupIndex");
 String createNewShipGroup = request.getParameter("createNewShipGroup");
-int shipGroupIndex = 0;
 if (createNewShipGroup != null && createNewShipGroup.equals("Y")) {
-    shipGroupIndex = cart.addShipInfo();
-} else {
-    if (shipGroupIndexPar != null) {
-        try {
-            shipGroupIndex = Integer.parseInt(shipGroupIndexPar);
-        } catch(Exception exc) {
-            Debug.logWarning("Unable to parse shipGroupIndex [" + shipGroupIndexPar + "]: " + exc.getMessage());
-        }
-    }
+    cart.addShipInfo();
 }
-context.put("shipGroupIndex", shipGroupIndex);
 
 orderPartyId = cart.getPartyId();
 context.put("cart", cart);
@@ -59,8 +48,6 @@
             context.put("orderPerson", orderPerson);
             context.put("shippingContactMechList", shippingContactMechList);
         }
-        String currShipContactMechId = cart.getShippingContactMechId(shipGroupIndex);
-        context.put("currShipContactMechId", currShipContactMechId);
     }
 } else {
     // Purchase order

Modified: incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml?rev=433195&r1=433194&r2=433195&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml (original)
+++ incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml Mon Aug 21 01:07:26 2006
@@ -672,6 +672,10 @@
         <security https="true" auth="true"/>
         <response name="success" type="view" value="shipsetting"/>
     </request-map>
+    <request-map uri="EditShipAddress">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="EditShipAddress"/>
+    </request-map>
     <request-map uri="createPostalAddress">
         <security https="true" auth="true"/>
         <event type="service" invoke="createPartyPostalAddress"/>
@@ -1337,6 +1341,7 @@
 
     <view-map name="custsetting" type="screen" page="component://order/widget/ordermgr/OrderEntryOrderScreens.xml#CustSettings"/>
     <view-map name="shipsetting" type="screen" page="component://order/widget/ordermgr/OrderEntryOrderScreens.xml#ShipSettings"/>
+    <view-map name="EditShipAddress" type="screen" page="component://order/widget/ordermgr/OrderEntryOrderScreens.xml#EditShipAddress"/>
     <view-map name="addrsetting" type="screen" page="component://order/widget/ordermgr/OrderEntryOrderScreens.xml#AddrSettings"/>
     <view-map name="optionsetting" type="screen" page="component://order/widget/ordermgr/OrderEntryOrderScreens.xml#OptionSettings"/>
     <view-map name="billsetting" type="screen" page="component://order/widget/ordermgr/OrderEntryOrderScreens.xml#BillSettings"/>

Modified: incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/billsettings.ftl
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/billsettings.ftl?rev=433195&r1=433194&r2=433195&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/billsettings.ftl (original)
+++ incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/billsettings.ftl Mon Aug 21 01:07:26 2006
@@ -50,7 +50,6 @@
             <table width="100%" cellpadding="1" cellspacing="0" border="0">
               <tr>
                 <td colspan="2">
-                  <a href="<@ofbizUrl>setShipping?createNewShipGroup=Y</@ofbizUrl>" class="buttontext">Create New Ship Group</a>
                   <a href="<@ofbizUrl>setBilling?createNew=Y</@ofbizUrl>" class="buttontext">${uiLabelMap.CommonCreateNew}</a>
                 </td>
               </tr>

Added: incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/editShipAddress.ftl
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/editShipAddress.ftl?rev=433195&view=auto
==============================================================================
--- incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/editShipAddress.ftl (added)
+++ incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/editShipAddress.ftl Mon Aug 21 01:07:26 2006
@@ -0,0 +1,142 @@
+<#--
+
+Copyright 2001-2006 The Apache Software Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may not
+use this file except in compliance with the License. You may obtain a copy of
+the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+License for the specific language governing permissions and limitations
+under the License.
+-->
+
+<#if security.hasEntityPermission("ORDERMGR", "_CREATE", session) || security.hasEntityPermission("ORDERMGR", "_PURCHASE_CREATE", session)>
+
+<table border="0" width='100%' cellspacing='0' cellpadding='0' class='boxoutside'>
+  <tr>
+    <td width='100%'>
+
+      <#-- header table for company shipping addresses -->
+
+      <br/>
+      <table width="100%" border='0' cellspacing='0' cellpadding='0' class='boxtop'>
+        <tr>
+          <td><div class="boxhead">${uiLabelMap.OrderSelectAShippingAddress}</div></td>
+          <td valign="middle" align="right">
+            <a href="javascript:document.checkoutsetupform.submit();" class="submenutextright">${uiLabelMap.CommonContinue}</a>
+          </td>
+        </tr>
+      </table>
+
+      <table width='100%' border='0' cellspacing='0' cellpadding='0' class='boxbottom'>
+        <tr>
+          <td>
+              <#if postalAddress?has_content>            
+              <form method="post" action="<@ofbizUrl>updatePostalAddressOrderEntry</@ofbizUrl>" name="checkoutsetupform">
+                <input type="hidden" name="contactMechId" value="${shipContactMechId?if_exists}"/>
+              <#else>
+              <form method="post" action="<@ofbizUrl>createPostalAddress</@ofbizUrl>" name="checkoutsetupform">
+                <input type="hidden" name="contactMechTypeId" value="POSTAL_ADDRESS"/>
+                <input type="hidden" name="contactMechPurposeTypeId" value="SHIPPING_LOCATION"/>
+              </#if>
+                <input type="hidden" name="partyId" value="${cart.getPartyId()?default("_NA_")}"/>
+                <input type="hidden" name="finalizeMode" value="ship"/>
+                <#if orderPerson?exists && orderPerson?has_content>
+                  <#assign toName = "">
+                  <#if orderPerson.personalTitle?has_content><#assign toName = orderPerson.personalTitle + " "></#if>
+                  <#assign toName = toName + orderPerson.firstName + " ">
+                  <#if orderPerson.middleName?has_content><#assign toName = toName + orderPerson.middleName + " "></#if>
+                  <#assign toName = toName + orderPerson.lastName>
+                  <#if orderPerson.suffix?has_content><#assign toName = toName + " " + orderPerson.suffix></#if>
+                <#else>
+                  <#assign toName = "">
+                </#if>
+                <table width="100%" border="0" cellpadding="1" cellspacing="0">
+                  <tr>
+                    <td width="26%" align="right" valign="top"><div class="tabletext">${uiLabelMap.CommonToName}</div></td>
+                    <td width="5">&nbsp;</td>
+                    <td width="74%">
+                      <input type="text" class="inputBox" size="30" maxlength="60" name="toName" value="${toName}"/>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td width="26%" align="right" valign="top"><div class="tabletext">${uiLabelMap.CommonAttentionName}</div></td>
+                    <td width="5">&nbsp;</td>
+                    <td width="74%">
+                      <input type="text" class="inputBox" size="30" maxlength="60" name="attnName" value=""/>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td width="26%" align="right" valign="top"><div class="tabletext">${uiLabelMap.CommonAddressLine} 1</div></td>
+                    <td width="5">&nbsp;</td>
+                    <td width="74%">
+                      <input type="text" class="inputBox" size="30" maxlength="30" name="address1" value=""/>
+                    *</td>
+                  </tr>
+                  <tr>
+                    <td width="26%" align="right" valign="top"><div class="tabletext">${uiLabelMap.CommonAddressLine} 2</div></td>
+                    <td width="5">&nbsp;</td>
+                    <td width="74%">
+                      <input type="text" class="inputBox" size="30" maxlength="30" name="address2" value=""/>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td width="26%" align="right" valign="top"><div class="tabletext">${uiLabelMap.CommonCity}</div></td>
+                    <td width="5">&nbsp;</td>
+                    <td width="74%">
+                      <input type="text" class="inputBox" size="30" maxlength="30" name="city" value=""/>
+                    *</td>
+                  </tr>
+                  <tr>
+                    <td width="26%" align="right" valign="top"><div class="tabletext">${uiLabelMap.CommonStateProvince}</div></td>
+                    <td width="5">&nbsp;</td>
+                    <td width="74%">
+                      <select name="stateProvinceGeoId" class="selectBox">
+                        <option value=""></option>                      
+                        ${screens.render("component://common/widget/CommonScreens.xml#states")}
+                      </select>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td width="26%" align="right" valign="top"><div class="tabletext">${uiLabelMap.CommonZipPostalCode}</div></td>
+                    <td width="5">&nbsp;</td>
+                    <td width="74%">
+                      <input type="text" class="inputBox" size="12" maxlength="10" name="postalCode" value=""/>
+                    *</td>
+                  </tr>
+                  <tr>
+                    <td width="26%" align="right" valign="top"><div class="tabletext">${uiLabelMap.CommonCountry}</div></td>
+                    <td width="5">&nbsp;</td>
+                    <td width="74%">
+                      <select name="countryGeoId" class="selectBox">                        
+                        ${screens.render("component://common/widget/CommonScreens.xml#countries")}
+                      </select>
+                    *</td>
+                  </tr>
+                  <tr>
+                    <td width="26%" align="right" valign="top"><div class="tabletext">${uiLabelMap.CommonAllowSolicitation}</div></td>
+                    <td width="5">&nbsp;</td>
+                    <td width="74%">
+                      <select name="allowSolicitation" class='selectBox'>                      
+                        <option></option><option>Y</option><option>N</option>
+                      </select>
+                    </td>
+                  </tr>                                    
+                </td>
+                </table>
+              </form>
+          </td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+</table>
+
+<#else>
+  <h3>${uiLabelMap.OrderViewPermissionError}</h3>
+</#if>

Propchange: incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/editShipAddress.ftl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/editShipAddress.ftl
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/editShipAddress.ftl
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/optionsettings.ftl
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/optionsettings.ftl?rev=433195&r1=433194&r2=433195&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/optionsettings.ftl (original)
+++ incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/optionsettings.ftl Mon Aug 21 01:07:26 2006
@@ -25,8 +25,20 @@
           <td>          
             <form method="post" action="<@ofbizUrl>finalizeOrder</@ofbizUrl>" name="checkoutsetupform">
               <input type="hidden" name="finalizeMode" value="options"/>
-              <input type="hidden" name="shipGroupIndex" value="${shipGroupIndex?if_exists}"/>
+<#list 1..cart.getShipGroupSize() as currIndex>
+<#assign shipGroupIndex = currIndex - 1>
+
+<#if cart.getShipmentMethodTypeId(shipGroupIndex)?exists && cart.getCarrierPartyId(shipGroupIndex)?exists>
+    <#assign chosenShippingMethod = cart.getShipmentMethodTypeId(shipGroupIndex) + '@' + cart.getCarrierPartyId(shipGroupIndex)>
+</#if>
+<hr class="sepbar"/>
               <table width="100%" cellpadding="1" border="0" cellpadding="0" cellspacing="0">
+              <tr>
+                <td colspan="2">
+                    <div class="head1"><b>Ship Group # ${currIndex}</b></div>
+                </td>
+              </tr>
+
                <#if cart.getOrderType() != "PURCHASE_ORDER">
                 <#assign shipEstimateWrapper = Static["org.ofbiz.order.shoppingcart.shipping.ShippingEstimateWrapper"].getWrapper(dispatcher, cart, 0)>
                 <#assign carrierShipmentMethods = shipEstimateWrapper.getShippingMethods()>
@@ -34,7 +46,7 @@
                 <tr>
                   <td width='1%' valign="top" >
                     <#assign shippingMethod = carrierShipmentMethod.shipmentMethodTypeId + "@" + carrierShipmentMethod.partyId>
-                    <input type='radio' name='shipping_method' value='${shippingMethod}' <#if shippingMethod == chosenShippingMethod?default("N@A")>checked</#if>>      
+                    <input type='radio' name='${shipGroupIndex?default("0")}_shipping_method' value='${shippingMethod}' <#if shippingMethod == chosenShippingMethod?default("N@A")>checked</#if>>      
                   </td>
                   <td valign="top">                            
                     <div class='tabletext'>                                                
@@ -57,7 +69,7 @@
                 <#if !carrierShipmentMethodList?exists || carrierShipmentMethodList?size == 0>                    
                 <tr>
                   <td width='1%' valign="top">
-                    <input type='radio' name='shipping_method' value="Default" checked>
+                    <input type='radio' name='${shipGroupIndex?default("0")}_shipping_method' value="Default" checked>
                   </td>
                   <td valign="top">
                     <div class='tabletext'>${uiLabelMap.FacilityNoOtherShippingMethods}</div>
@@ -66,7 +78,7 @@
                 </#if>
                 <tr><td colspan='2'><hr class='sepbar'></td></tr>                      
                <#else>
-                   <input type='hidden' name='shipping_method' value="NO_SHIPPING@_NA_">
+                   <input type='hidden' name='${shipGroupIndex?default("0")}_shipping_method' value="NO_SHIPPING@_NA_">
                </#if>
                 <tr>
                   <td colspan='2'>
@@ -75,7 +87,7 @@
                 </tr>
                 <tr>
                   <td valign="top">
-                    <input type='radio' <#if cart.getMaySplit(shipGroupIndex)?default("N") == "N">checked</#if> name='may_split' value='false'>
+                    <input type='radio' <#if cart.getMaySplit(shipGroupIndex)?default("N") == "N">checked</#if> name='${shipGroupIndex?default("0")}_may_split' value='false'>
                   </td>
                   <td valign="top">
                     <div class="tabletext">${uiLabelMap.FacilityWaitEntireOrderReady}</div>
@@ -83,7 +95,7 @@
                 </tr>
                 <tr>
                   <td valign="top">
-                    <input <#if cart.getMaySplit(shipGroupIndex)?default("N") == "Y">checked</#if> type='radio' name='may_split' value='true'>
+                    <input <#if cart.getMaySplit(shipGroupIndex)?default("N") == "Y">checked</#if> type='radio' name='${shipGroupIndex?default("0")}_may_split' value='true'>
                   </td>
                   <td valign="top">
                     <div class="tabletext">${uiLabelMap.FacilityShipAvailable}</div>
@@ -97,7 +109,7 @@
                 </tr>
                 <tr>
                   <td colspan="2">
-                    <textarea class='textAreaBox' cols="30" rows="3" name="shipping_instructions">${cart.getShippingInstructions(shipGroupIndex)?if_exists}</textarea>
+                    <textarea class='textAreaBox' cols="30" rows="3" name="${shipGroupIndex?default("0")}_shipping_instructions">${cart.getShippingInstructions(shipGroupIndex)?if_exists}</textarea>
                   </td>
                 </tr>
                 <#if cart.getOrderType() != "PURCHASE_ORDER">
@@ -113,12 +125,12 @@
                 <tr>
                   <td colspan="2">
                     <#if cart.getOrderType() = "PURCHASE_ORDER">
-                       <input type='hidden' name='is_gift' value='false'>
+                       <input type='hidden' name='${shipGroupIndex?default("0")}_is_gift' value='false'>
                     <#else>
                     <div>
                       <span class="head2"><b>${uiLabelMap.OrderIsThisGift}</b></span>
-                      <input type='radio' <#if cart.getIsGift(shipGroupIndex)?default("Y") == "Y">checked</#if> name='is_gift' value='true'><span class='tabletext'>${uiLabelMap.CommonYes}</span>
-                      <input type='radio' <#if cart.getIsGift(shipGroupIndex)?default("N") == "N">checked</#if> name='is_gift' value='false'><span class='tabletext'>${uiLabelMap.CommonNo}</span>
+                      <input type='radio' <#if cart.getIsGift(shipGroupIndex)?default("Y") == "Y">checked</#if> name='${shipGroupIndex?default("0")}_is_gift' value='true'><span class='tabletext'>${uiLabelMap.CommonYes}</span>
+                      <input type='radio' <#if cart.getIsGift(shipGroupIndex)?default("N") == "N">checked</#if> name='${shipGroupIndex?default("0")}_is_gift' value='false'><span class='tabletext'>${uiLabelMap.CommonNo}</span>
                     </div>
                     </#if>
                   </td>
@@ -132,7 +144,7 @@
                 </tr>
                 <tr>
                   <td colspan="2">
-                    <textarea class='textAreaBox' cols="30" rows="3" name="gift_message">${cart.getGiftMessage(shipGroupIndex)?if_exists}</textarea>
+                    <textarea class='textAreaBox' cols="30" rows="3" name="${shipGroupIndex?default("0")}_gift_message">${cart.getGiftMessage(shipGroupIndex)?if_exists}</textarea>
                   </td>
                 </tr>
                  </#if>
@@ -140,6 +152,7 @@
                       <td colspan="2"></td>
                    </tr>
               </table>
+</#list>
             </form>
           </td>
         </tr>

Modified: incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/shipsettings.ftl
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/shipsettings.ftl?rev=433195&r1=433194&r2=433195&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/shipsettings.ftl (original)
+++ incubator/ofbiz/trunk/applications/order/webapp/ordermgr/entry/shipsettings.ftl Mon Aug 21 01:07:26 2006
@@ -16,30 +16,25 @@
 -->
 
 <#if security.hasEntityPermission("ORDERMGR", "_CREATE", session) || security.hasEntityPermission("ORDERMGR", "_PURCHASE_CREATE", session)>
-<table border="0" width='100%' cellspacing='0' cellpadding='0' class='boxoutside'>
-  <tr>
-    <td width='100%'>
 
-      <#-- header table for company shipping addresses -->
-
-      <br/>
-      <table width="100%" border='0' cellspacing='0' cellpadding='0' class='boxtop'>
-        <tr>
-          <td><div class="boxhead">${uiLabelMap.OrderSelectAShippingAddress}</div></td>
-          <td valign="middle" align="right">
-            <a href="javascript:document.checkoutsetupform.submit();" class="submenutextright">${uiLabelMap.CommonContinue}</a>
-          </td>
-        </tr>
-      </table>
-
-      <table width='100%' border='0' cellspacing='0' cellpadding='0' class='boxbottom'>
+<#-- Purchase Orders -->
+        
+<#if facilityMaps?exists>
+            <form method="post" action="<@ofbizUrl>finalizeOrder</@ofbizUrl>" name="checkoutsetupform">
+            <input type="hidden" name="finalizeMode" value="ship"/>
+      <table width='100%' border='0' cellspacing='0' cellpadding='0' class="boxboutside">
         <tr>
           <td>
-            
-            <#if facilityMaps?exists>
+
+<#list 1..cart.getShipGroupSize() as currIndex>
+<#assign shipGroupIndex = currIndex - 1>
+
             <table width="100%" border="0" cellpadding="1" cellspacing="0">
-              <form method="post" action="<@ofbizUrl>finalizeOrder</@ofbizUrl>" name="checkoutsetupform">
-                <input type="hidden" name="finalizeMode" value="ship">
+                <tr>
+                  <td colspan="4">
+                    <div class="head1">Ship Group # ${currIndex}</div>
+                  </td>
+                </tr>
                 <#assign i = 0>
                 <#list facilityMaps as facilityMap>
                 <#assign facility = facilityMap.facility>
@@ -49,7 +44,7 @@
                     <div class="tableheadtext">${uiLabelMap.FacilityFacility}: ${facility.facilityName?if_exists} [${facility.facilityId}]</div>
                   </td>
                 </tr>
-                <tr><td colspan="4"><hr class='sepbar'></td></tr>
+                <tr><td colspan="4"><hr class='sepbar'/></td></tr>
 
                 <#-- company postal addresses -->
                 
@@ -59,7 +54,7 @@
                   <#assign shippingAddress = shippingContactMech.postalAddress>
                   <tr>
                     <td valign="top" nowrap>
-                      <input type="radio" name="shipping_contact_mech_id" value="${shippingAddress.contactMechId}" <#if i == 0>checked</#if>>
+                      <input type="radio" name="${shipGroupIndex?default("0")}_shipping_contact_mech_id" value="${shippingAddress.contactMechId}" <#if i == 0>checked</#if> />
                     </td>
                     <td nowrap>&nbsp;&nbsp;&nbsp;&nbsp;</td>
                     <td align="left" valign="top" width="100%" nowrap>
@@ -75,11 +70,11 @@
                       </div>
                     </td>
                     <td>
-                      <div class="tabletext"><a href="/facility/control/EditContactMech?facilityId=${facility.facilityId}&contactMechId=${shippingAddress.contactMechId}" target="_blank" class="buttontext">${uiLabelMap.CommonUpdate}</a></div>
+                      <div class="tabletext"><a href="/facility/control/EditContactMech?facilityId=${facility.facilityId}&amp;contactMechId=${shippingAddress.contactMechId}" target="_blank" class="buttontext">${uiLabelMap.CommonUpdate}</a></div>
                     </td>
                   </tr>
                   <#if shippingContactMech_has_next>
-                  <tr><td colspan="4"><hr class='sepbar'></td></tr>
+                  <tr><td colspan="4"><hr class='sepbar'/></td></tr>
                   </#if>
                   </#if>
                   <#assign i = i + 1>
@@ -94,21 +89,39 @@
                     </td>
                 </#if>
                 </#list>
-              </form>
             </table>
-            <#else>
-            <#if shippingContactMechList?has_content && !requestParameters.createNew?exists>
+</#list>
+          </td>
+        </tr>
+      </table>
+            </form>
+
+<#else>
+
+<#-- Sales Orders -->
+
+            <form method="post" action="<@ofbizUrl>finalizeOrder</@ofbizUrl>" name="checkoutsetupform">
+            <input type="hidden" name="finalizeMode" value="ship"/>
+            <input type="hidden" name="shipGroupIndex" value="${shipGroupIndex?if_exists}"/>
+      <table width='100%' border='0' cellspacing='0' cellpadding='0' class="boxoutside">
+        <tr>
+          <td>
+<a href="<@ofbizUrl>setShipping?createNewShipGroup=Y</@ofbizUrl>" class="buttontext">Create New Ship Group</a>
+<a href="<@ofbizUrl>EditShipAddress</@ofbizUrl>" class="buttontext">${uiLabelMap.CommonCreateNew}</a>
+<#list 1..cart.getShipGroupSize() as currIndex>
+<#assign shipGroupIndex = currIndex - 1>
+
+<#assign currShipContactMechId = cart.getShippingContactMechId(shipGroupIndex)?if_exists>
+
+            <hr class="sepbar"/>
             <table width="100%" border="0" cellpadding="1" cellspacing="0">
               <tr>
                 <td colspan="3">
-                  <a href="<@ofbizUrl>setShipping?createNew=Y</@ofbizUrl>" class="buttontext">${uiLabelMap.CommonCreateNew}</a>
+                    <div class="head1">Ship Group # ${currIndex}</div>
                 </td>
               </tr>
-              <form method="post" action="<@ofbizUrl>finalizeOrder</@ofbizUrl>" name="checkoutsetupform">
-                <input type="hidden" name="finalizeMode" value="ship"/>
-                <input type="hidden" name="shipGroupIndex" value="${shipGroupIndex?if_exists}"/>
-
-                <tr><td colspan="3"><hr class='sepbar'></td></tr>
+            <#if shippingContactMechList?has_content>
+                <tr><td colspan="3"><hr class='sepbar'/></td></tr>
                 <#assign i = 0>
                 <#list shippingContactMechList as shippingContactMech>
                   <#assign shippingAddress = shippingContactMech.getRelatedOne("PostalAddress")>
@@ -127,7 +140,7 @@
                   </#if>
                   <tr>
                     <td align="left" valign="top" width="1%" nowrap>
-                      <input type="radio" name="shipping_contact_mech_id" value="${shippingAddress.contactMechId}" ${checkedValue}>
+                      <input type="radio" name="${shipGroupIndex?default("0")}_shipping_contact_mech_id" value="${shippingAddress.contactMechId}" ${checkedValue} />
                     </td>
                     <td align="left" valign="top" width="99%" nowrap>
                       <div class="tabletext">
@@ -142,118 +155,26 @@
                       </div>
                     </td>
                     <td>
-                      <div class="tabletext"><a href="/partymgr/control/editcontactmech?partyId=${orderParty.partyId}&contactMechId=${shippingContactMech.contactMechId}" target="_blank" class="buttontext">${uiLabelMap.CommonUpdate}</a></div>
+                      <div class="tabletext"><a href="/partymgr/control/editcontactmech?partyId=${orderParty.partyId}&amp;contactMechId=${shippingContactMech.contactMechId}" target="_blank" class="buttontext">${uiLabelMap.CommonUpdate}</a></div>
                     </td>                      
                   </tr>
                   <#if shippingContactMech_has_next>
-                  <tr><td colspan="3"><hr class='sepbar'></td></tr>
+                  <tr><td colspan="3"><hr class='sepbar'/></td></tr>
                   </#if>
                   <#assign i = i + 1>
                 </#list>
-              </form>
-            </table>  
-            <#else>
-              <#if postalAddress?has_content>            
-              <form method="post" action="<@ofbizUrl>updatePostalAddressOrderEntry</@ofbizUrl>" name="checkoutsetupform">
-                <input type="hidden" name="contactMechId" value="${shipContactMechId?if_exists}">
-              <#else>
-              <form method="post" action="<@ofbizUrl>createPostalAddress</@ofbizUrl>" name="checkoutsetupform">
-                <input type="hidden" name="contactMechTypeId" value="POSTAL_ADDRESS">
-                <input type="hidden" name="contactMechPurposeTypeId" value="SHIPPING_LOCATION">
-              </#if>
-                <input type="hidden" name="partyId" value="${cart.getPartyId()?default("_NA_")}">
-                <input type="hidden" name="finalizeMode" value="ship">
-                <#if orderPerson?exists && orderPerson?has_content>
-                  <#assign toName = "">
-                  <#if orderPerson.personalTitle?has_content><#assign toName = orderPerson.personalTitle + " "></#if>
-                  <#assign toName = toName + orderPerson.firstName + " ">
-                  <#if orderPerson.middleName?has_content><#assign toName = toName + orderPerson.middleName + " "></#if>
-                  <#assign toName = toName + orderPerson.lastName>
-                  <#if orderPerson.suffix?has_content><#assign toName = toName + " " + orderPerson.suffix></#if>
-                <#else>
-                  <#assign toName = "">
-                </#if>
-                <table width="100%" border="0" cellpadding="1" cellspacing="0">
-                  <tr>
-                    <td width="26%" align="right" valign="top"><div class="tabletext">${uiLabelMap.CommonToName}</div></td>
-                    <td width="5">&nbsp;</td>
-                    <td width="74%">
-                      <input type="text" class="inputBox" size="30" maxlength="60" name="toName" value="${toName}">
-                    </td>
-                  </tr>
-                  <tr>
-                    <td width="26%" align="right" valign="top"><div class="tabletext">${uiLabelMap.CommonAttentionName}</div></td>
-                    <td width="5">&nbsp;</td>
-                    <td width="74%">
-                      <input type="text" class="inputBox" size="30" maxlength="60" name="attnName" value="">
-                    </td>
-                  </tr>
-                  <tr>
-                    <td width="26%" align="right" valign="top"><div class="tabletext">${uiLabelMap.CommonAddressLine} 1</div></td>
-                    <td width="5">&nbsp;</td>
-                    <td width="74%">
-                      <input type="text" class="inputBox" size="30" maxlength="30" name="address1" value="">
-                    *</td>
-                  </tr>
-                  <tr>
-                    <td width="26%" align="right" valign="top"><div class="tabletext">${uiLabelMap.CommonAddressLine} 2</div></td>
-                    <td width="5">&nbsp;</td>
-                    <td width="74%">
-                      <input type="text" class="inputBox" size="30" maxlength="30" name="address2" value="">
-                    </td>
-                  </tr>
-                  <tr>
-                    <td width="26%" align="right" valign="top"><div class="tabletext">${uiLabelMap.CommonCity}</div></td>
-                    <td width="5">&nbsp;</td>
-                    <td width="74%">
-                      <input type="text" class="inputBox" size="30" maxlength="30" name="city" value="">
-                    *</td>
-                  </tr>
-                  <tr>
-                    <td width="26%" align="right" valign="top"><div class="tabletext">${uiLabelMap.CommonStateProvince}</div></td>
-                    <td width="5">&nbsp;</td>
-                    <td width="74%">
-                      <select name="stateProvinceGeoId" class="selectBox">
-                        <option value=""></option>                      
-                        ${screens.render("component://common/widget/CommonScreens.xml#states")}
-                      </select>
-                    </td>
-                  </tr>
-                  <tr>
-                    <td width="26%" align="right" valign="top"><div class="tabletext">${uiLabelMap.CommonZipPostalCode}</div></td>
-                    <td width="5">&nbsp;</td>
-                    <td width="74%">
-                      <input type="text" class="inputBox" size="12" maxlength="10" name="postalCode" value="">
-                    *</td>
-                  </tr>
-                  <tr>
-                    <td width="26%" align="right" valign="top"><div class="tabletext">${uiLabelMap.CommonCountry}</div></td>
-                    <td width="5">&nbsp;</td>
-                    <td width="74%">
-                      <select name="countryGeoId" class="selectBox">                        
-                        ${screens.render("component://common/widget/CommonScreens.xml#countries")}
-                      </select>
-                    *</td>
-                  </tr>
-                  <tr>
-                    <td width="26%" align="right" valign="top"><div class="tabletext">${uiLabelMap.CommonAllowSolicitation}</div></td>
-                    <td width="5">&nbsp;</td>
-                    <td width="74%">
-                      <select name="allowSolicitation" class='selectBox'>                      
-                        <option></option><option>Y</option><option>N</option>
-                      </select>
-                    </td>
-                  </tr>                                    
-                </td>
-                </table>
-              </form>
-
-            </#if>
             </#if>
+            </table>  
+</#list>
           </td>
         </tr>
       </table>
 
+            </form>
+</#if>
+
+
+
       <#-- select a party id to ship to instead -->
 
       <br/>
@@ -270,7 +191,7 @@
 
         <table width="100%" border="0" align="center" cellspacing='0' cellpadding='0' class='boxoutside'>
           <tr><td>
-              <input type="hidden" name="contactMechPurposeTypeId" value="SHIPPING_LOCATION">
+              <input type="hidden" name="contactMechPurposeTypeId" value="SHIPPING_LOCATION"/>
               <table width="100%" border='0' cellspacing='0' cellpadding='0' class='boxbottom'>
                 <tr><td colspan="4">&nbsp;</td></tr>
                 <tr>
@@ -278,10 +199,10 @@
                 <td align='right' valign='middle' nowrap><div class='tableheadtext'>${uiLabelMap.PartyPartyId}</div></td>
                 <td>&nbsp;</td>
                 <td valign='middle'>
-                  <div class='tabletext' valign='top'>
-                    <input type='text' class='inputBox' name='partyId' value='${thisPartyId?if_exists}'>
+                  <div class='tabletext'>
+                    <input type='text' class='inputBox' name='partyId' value='${thisPartyId?if_exists}'/>
                     <a href="javascript:call_fieldlookup2(document.partyshipform.partyId,'LookupPartyName');">
-                    <img src='/images/fieldlookup.gif' width='15' height='14' border='0' alt='Click here For Field Lookup'>
+                    <img src='/images/fieldlookup.gif' width='15' height='14' border='0' alt='Click here For Field Lookup'/>
                     </a>
                   </div>
                 </td>
@@ -292,16 +213,6 @@
         </table>
       </form>
 
-    </td>
-  </tr>
-</table>
-
-
-    </td>
-  </tr>
-</table>
-
-<br/>
 <#else>
   <h3>${uiLabelMap.OrderViewPermissionError}</h3>
 </#if>

Modified: incubator/ofbiz/trunk/applications/order/widget/ordermgr/OrderEntryOrderScreens.xml
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/widget/ordermgr/OrderEntryOrderScreens.xml?rev=433195&r1=433194&r2=433195&view=diff
==============================================================================
--- incubator/ofbiz/trunk/applications/order/widget/ordermgr/OrderEntryOrderScreens.xml (original)
+++ incubator/ofbiz/trunk/applications/order/widget/ordermgr/OrderEntryOrderScreens.xml Mon Aug 21 01:07:26 2006
@@ -87,16 +87,30 @@
                 <set field="stepTitleId" value="OrderOrderEntryShipToSettings"/>
                 <set field="stepLabelId" value="FacilityShipping"/>
                 <script location="component://order/webapp/ordermgr/WEB-INF/actions/entry/shipsettings.bsh"/>
-                <set field="targetShipGroupUri" value="setShipping"/>
             </actions>
             <widgets>
                 <decorator-screen name="CommonOrderCheckoutDecorator">
                     <decorator-section name="body">
                         <platform-specific>
-                            <html><html-template location="component://order/webapp/ordermgr/entry/shipGroupTabBar.ftl"/></html>
+                            <html><html-template location="component://order/webapp/ordermgr/entry/shipsettings.ftl"/></html>
                         </platform-specific>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+    <screen name="EditShipAddress">
+        <section>
+            <actions>
+                <set field="stepTitleId" value="OrderOrderEntryShipToSettings"/>
+                <set field="stepLabelId" value="FacilityShipping"/>
+                <script location="component://order/webapp/ordermgr/WEB-INF/actions/entry/shipsettings.bsh"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="CommonOrderCheckoutDecorator">
+                    <decorator-section name="body">
                         <platform-specific>
-                            <html><html-template location="component://order/webapp/ordermgr/entry/shipsettings.ftl"/></html>
+                            <html><html-template location="component://order/webapp/ordermgr/entry/editShipAddress.ftl"/></html>
                         </platform-specific>
                     </decorator-section>
                 </decorator-screen>
@@ -134,14 +148,10 @@
                 <set field="stepTitleId" value="OrderOrderOptionSettings"/>
                 <set field="stepLabelId" value="CommonOptions"/>
                 <script location="component://order/webapp/ordermgr/WEB-INF/actions/entry/optionsettings.bsh"/>
-                <set field="targetShipGroupUri" value="setOptions"/>
             </actions>
             <widgets>
                 <decorator-screen name="CommonOrderCheckoutDecorator">
                     <decorator-section name="body">
-                        <platform-specific>
-                            <html><html-template location="component://order/webapp/ordermgr/entry/shipGroupTabBar.ftl"/></html>
-                        </platform-specific>
                         <platform-specific>
                             <html><html-template location="component://order/webapp/ordermgr/entry/optionsettings.ftl"/></html>
                         </platform-specific>