Reviewers: ,


Please review this at http://codereview.tryton.org/328002/

Affected files:
  M sale.py
  M sale.xml


Index: sale.py
===================================================================

--- a/sale.py
+++ b/sale.py
@@ -2099,8 +2099,12 @@
     make_return = StateTransition()

     def default_ask(self, session, fields):
+        sale_obj = Pool().get('sale.sale')
+        sale_id = Transaction().context['active_id']
+        sale = sale_obj.browse(sale_id)
         return {
-            'sale': Transaction().context['active_id'],
+            'sale': sale_id,
+            'sale_lines': [l.id for l in sale.lines],
             }

     def transition_make_return(self, session):
@@ -2108,11 +2112,7 @@
         sale_obj = pool.get('sale.sale')
         line_obj = pool.get('sale.line')

-        sale = sale_obj.browse(session.ask.sale.id)
-        new_sale_type = 'return' if sale.type == 'sale' else 'sale'
-        new_sale_id = sale_obj.copy(session.ask.sale.id, {
-                'type': new_sale_type,
-                })
+        new_sale_id = sale_obj.copy(session.ask.sale.id)
new_line_ids = line_obj.copy([x.id for x in session.ask.sale_lines])
         for new_line in line_obj.browse(new_line_ids):
             line_obj.write(new_line.id, {'quantity': -new_line.quantity})

Index: sale.xml
===================================================================

--- a/sale.xml
+++ b/sale.xml
@@ -576,6 +576,29 @@
             icon="tryton-list"
             id="menu_customer"/>

+        <record model="ir.action.wizard" id="wizard_return_sale">
+            <field name="name">Return Sale</field>
+            <field name="wiz_name">sale.return_sale</field>
+            <field name="model">sale.sale</field>
+        </record>
+ <record model="ir.action.keyword" id="act_wizard_return_sale_keyword">
+            <field name="keyword">form_action</field>
+            <field name="model">sale.sale,-1</field>
+            <field name="action" ref="wizard_return_sale"/>
+        </record>
+        <record model="ir.ui.view" id="return_sale_ask_form">
+            <field name="model">sale.return_sale.ask</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <![CDATA[
+                <form string="Return Sale">
+                    <field name="sale" invisible="1"/>
+                    <field name="sale_lines" colspan="4"/>
+                </form>
+                ]]>
+            </field>
+        </record>
+
         <record model="ir.rule.group" id="rule_group_sale">
             <field name="model" search="[('model', '=', 'sale.sale')]"/>
             <field name="global_p" eval="True"/>



--
[email protected] mailing list

Reply via email to