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