svn commit: r602649 - in /ofbiz/trunk/applications/order: script/org/ofbiz/order/order/OrderReturnServices.xml servicedef/services_return.xml webapp/ordermgr/WEB-INF/controller.xml

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

svn commit: r602649 - in /ofbiz/trunk/applications/order: script/org/ofbiz/order/order/OrderReturnServices.xml servicedef/services_return.xml webapp/ordermgr/WEB-INF/controller.xml

jacopoc
Author: jacopoc
Date: Sat Dec  8 23:57:07 2007
New Revision: 602649

URL: http://svn.apache.org/viewvc?rev=602649&view=rev
Log:
Implemented new wrapper service and refactored the quick return creation to use it: in this way the creation of the return header and the creation of the items and adjustments are all in the same atomic transaction. No header is created if the creation of the items/adjustments fails.

Modified:
    ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml
    ofbiz/trunk/applications/order/servicedef/services_return.xml
    ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml

Modified: ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml?rev=602649&r1=602648&r2=602649&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml (original)
+++ ofbiz/trunk/applications/order/script/org/ofbiz/order/order/OrderReturnServices.xml Sat Dec  8 23:57:07 2007
@@ -794,6 +794,26 @@
         <field-to-result field-name="returnId"/>
     </simple-method>
 
+    <simple-method method-name="createReturnAndItemOrAdjustment" short-description="If returnId is null, create a return; then create Return Item or Adjustment based on the parameters passed in">
+        <if-empty field-name="parameters.returnId">
+            <set-service-fields service-name="createReturnHeader" map-name="parameters" to-map-name="returnHeaderInMap"/>
+            <call-service service-name="createReturnHeader" in-map-name="returnHeaderInMap">
+                <result-to-field result-name="returnId" field-name="returnId"/>
+            </call-service>
+            <check-errors/>
+            <set field="parameters.returnId" from-field="returnId"/>
+            <field-to-result field-name="returnId" result-name="returnId"/>
+        </if-empty>
+        <set-service-fields service-name="createReturnItemOrAdjustment" map-name="parameters" to-map-name="createReturnItemOrAdjustmentInMap"/>
+        <call-service service-name="createReturnItemOrAdjustment" in-map-name="createReturnItemOrAdjustmentInMap">
+            <result-to-field result-name="returnAdjustmentId" field-name="returnAdjustmentId"/>
+            <result-to-field result-name="returnItemSeqId" field-name="returnItemSeqId"/>
+        </call-service>
+        <check-errors/>
+        <field-to-result field-name="returnAdjustmentId" result-name="returnAdjustmentId"/>
+        <field-to-result field-name="returnItemSeqId" result-name="returnItemSeqId"/>
+    </simple-method>
+
     <simple-method method-name="createReturnItemBilling" short-description="Create a ReturnItemBilling">
         <make-value entity-name="ReturnItemBilling" value-name="newEntity"/>
         <set-nonpk-fields map-name="parameters" value-name="newEntity"/>

Modified: ofbiz/trunk/applications/order/servicedef/services_return.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/services_return.xml?rev=602649&r1=602648&r2=602649&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/servicedef/services_return.xml (original)
+++ ofbiz/trunk/applications/order/servicedef/services_return.xml Sat Dec  8 23:57:07 2007
@@ -147,13 +147,23 @@
         <description>Simple remove service</description>
         <auto-attributes entity-name="ReturnAdjustment" include="pk" mode="IN" optional="false"/>        
     </service>
+    <service name="createReturnAndItemOrAdjustment" engine="simple" location="org/ofbiz/order/order/OrderReturnServices.xml"
+                 invoke="createReturnAndItemOrAdjustment">
+        <description>If returnId is null, create a return; then create Return Item or Adjustment based on the parameters passed in</description>
+        <auto-attributes mode="IN" include="nonpk" entity-name="ReturnHeader" optional="true"/>
+        <auto-attributes mode="IN" include="all" entity-name="ReturnAdjustment" optional="true"/>
+        <auto-attributes mode="IN" include="all" entity-name="ReturnItem" optional="true"/>
+        <attribute name="returnAdjustmentId" type="String" mode="OUT" optional="true"/>
+        <attribute name="returnItemSeqId" type="String" mode="OUT" optional="true"/>
+        <attribute name="returnId" type="String" mode="OUT" optional="true"/>
+    </service>
     <service name="createReturnItemOrAdjustment" engine="java"
              location="org.ofbiz.order.order.OrderReturnServices" invoke="createReturnItemOrAdjustment">
         <description>create Return Item or Adjustment based on the parameters passed in</description>
         <auto-attributes mode="IN" include="all" entity-name="ReturnAdjustment" optional="true"/>
         <auto-attributes mode="IN" include="all" entity-name="ReturnItem" optional="true"/>
         <attribute name="returnAdjustmentId" type="String" mode="OUT" optional="true"/>
-        <attribute name="returnItemSeqId" type="String" mode="OUT" optional="true"/>                
+        <attribute name="returnItemSeqId" type="String" mode="OUT" optional="true"/>
     </service>
     <service name="updateReturnItemOrAdjustment" engine="java"
              location="org.ofbiz.order.order.OrderReturnServices" invoke="updateReturnItemOrAdjustment">

Modified: ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml?rev=602649&r1=602648&r2=602649&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/controller.xml Sat Dec  8 23:57:07 2007
@@ -908,15 +908,9 @@
     </request-map>
     <request-map uri="makeQuickReturn">
         <security https="true" auth="true"/>
-        <event type="service" invoke="createReturnHeader"/>
-        <response name="success" type="request" value="setQuickReturnItems"/>
-        <response name="error" type="view" value="returnhead"/>
-    </request-map>
-    <request-map uri="setQuickReturnItems">
-        <security https="true" auth="true" direct-request="false"/>
-        <event type="service-multi" invoke="createReturnItemOrAdjustment"/>
+        <event type="service-multi" invoke="createReturnAndItemOrAdjustment"/>
         <response name="success" type="view" value="returnitems"/>
-        <response name="error" type="view" value="returnhead"/>
+        <response name="error" type="view" value="orderview"/>
     </request-map>
     <request-map uri="quickRefundOrder">
         <security https="true" auth="true"/>