You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ja...@apache.org on 2007/03/28 22:01:36 UTC

svn commit: r523446 - in /ofbiz/trunk/applications/order: servicedef/services.xml src/org/ofbiz/order/order/OrderServices.java

Author: jaz
Date: Wed Mar 28 13:01:35 2007
New Revision: 523446

URL: http://svn.apache.org/viewvc?view=rev&rev=523446
Log:
updated non-product service

Modified:
    ofbiz/trunk/applications/order/servicedef/services.xml
    ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java

Modified: ofbiz/trunk/applications/order/servicedef/services.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/services.xml?view=diff&rev=523446&r1=523445&r2=523446
==============================================================================
--- ofbiz/trunk/applications/order/servicedef/services.xml (original)
+++ ofbiz/trunk/applications/order/servicedef/services.xml Wed Mar 28 13:01:35 2007
@@ -157,7 +157,8 @@
         <attribute name="productStoreId" type="String" mode="IN" optional="false"/>
         <attribute name="currency" type="String" mode="IN" optional="false"/>
         <attribute name="partyId" type="String" mode="IN" optional="false"/>
-        <attribute name="itemMap" type="Map" mode="IN" optional="false"/>         
+        <attribute name="itemMap" type="Map" mode="IN" optional="false"/>
+        <attribute name="orderId" type="String" mode="OUT" optional="false"/>  
     </service>
     
     <service name="createOrderItemBilling" engine="simple"

Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java?view=diff&rev=523446&r1=523445&r2=523446
==============================================================================
--- ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java (original)
+++ ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java Wed Mar 28 13:01:35 2007
@@ -2069,6 +2069,10 @@
             return ServiceUtil.returnFailure("Could not find OrderHeader with ID [" + orderId + "]");
         }
 
+        if (orderHeader.get("webSiteId") == null) {
+            return ServiceUtil.returnFailure("No website attached to order; cannot generate notification [" + orderId + "]");
+        }
+
         GenericValue productStoreEmail = null;
         try {
             productStoreEmail = delegator.findByPrimaryKey("ProductStoreEmailSetting", UtilMisc.toMap("productStoreId", orderHeader.get("productStoreId"), "emailType", emailType));
@@ -4040,30 +4044,32 @@
         // set the payment method
         cart.addPayment(paymentMethodId);
 
-        // store the order
-        CheckOutHelper coh = new CheckOutHelper(dispatcher, delegator, cart);
-        Map createResp = coh.createOrder(userLogin);
+        // save the order (new tx)
+        Map createResp;
+        try {
+            createResp = dispatcher.runSync("createOrderFromShoppingCart", UtilMisc.toMap("shoppingCart", cart), 90, true);
+        } catch (GenericServiceException e) {
+            Debug.logError(e, module);
+            return ServiceUtil.returnError(e.getMessage());
+        }
         if (ServiceUtil.isError(createResp)) {
-            return ServiceUtil.returnError(ServiceUtil.getErrorMessage(createResp));
+            return createResp;
         }
 
-        // process the payment
-        Map procCtx = FastMap.newInstance();
-        procCtx.put("shoppingCart", cart);
-        procCtx.put("userLogin", userLogin);
-        Map procResp;
+        // auth the order (new tx)
+        Map authResp;
         try {
-            procResp = dispatcher.runSync("callProcessOrderPayments", procCtx);
+            authResp = dispatcher.runSync("callProcessOrderPayments", UtilMisc.toMap("shoppingCart", cart), 180, true);
         } catch (GenericServiceException e) {
             Debug.logError(e, module);
             return ServiceUtil.returnError(e.getMessage());
         }
-        if (ServiceUtil.isError(procResp)) {
-            return procResp;
+        if (ServiceUtil.isError(authResp)) {
+            return authResp;
         }
-        
+
         Map result = ServiceUtil.returnSuccess();
-        //result.put("shoppingCart", cart);
+        result.put("orderId", createResp.get("orderId"));
         return result;
     }