Set origin on returned sale

issue4050
review14071002
This commit is contained in:
Cédric Krier committed 2015-03-10 23:54:41 +01:00
1 parent a6e18dad41
commit f3bb85e5ab
2 files changed
+9 -4

No files matched your search

+7 -4
View File
@@ -595,7 +595,7 @@ class Sale(Workflow, ModelSQL, ModelView, TaxableMixin):
@classmethod
def _get_origin(cls):
'Return list of Model names for origin Reference'
return []
return ['sale.sale']
@classmethod
def get_origin(cls):
@@ -1677,11 +1677,14 @@ class ReturnSale(Wizard):
sales = Sale.browse(Transaction().context['active_ids'])
return_sales = Sale.copy(sales)
for sale in return_sales:
for line in sale.lines:
for return_sale, sale in zip(return_sales, sales):
return_sale.origin = sale
for line in return_sale.lines:
if line.type == 'line':
line.quantity *= -1
line.save()
return_sale.lines = return_sale.lines # Force saving
Sale.save(return_sales)
data = {'res_id': [s.id for s in return_sales]}
if len(return_sales) == 1:
action['views'].reverse()
+2
View File
@@ -649,6 +649,8 @@ Return sales using the wizard::
>>> returned_sale, = Sale.find([
... ('state', '=', 'draft'),
... ])
>>> returned_sale.origin == sale_to_return
True
>>> sorted([x.quantity for x in returned_sale.lines])
[None, -1.0]