Delete old shipment cost line

The lines should be explicitly deleted otherwise they are just removed from the
sale.

issue6273
review26151002
This commit is contained in:
Cédric Krier committed 2017-02-20 23:18:22 +01:00
1 parent 8923dd93fa
commit 736adcd015
1 file changed
+9 -1
+9 -1
View File
@@ -120,9 +120,14 @@ class Sale:
@ModelView.button
@Workflow.transition('quotation')
def quote(cls, sales):
pool = Pool()
Line = pool.get('sale.line')
super(Sale, cls).quote(sales)
removed = []
for sale in sales:
sale.set_shipment_cost()
removed.extend(sale.set_shipment_cost())
Line.delete(removed)
cls.save(sales)
def _get_carrier_context(self):
@@ -151,6 +156,7 @@ class Sale:
self.currency)
cost_line = self.get_shipment_cost_line(cost)
removed = []
lines = list(self.lines or [])
for line in self.lines:
if line.type != 'line' or not line.shipment_cost:
@@ -159,9 +165,11 @@ class Sale:
cost_line = None
else:
lines.remove(line)
removed.append(line)
if cost_line:
lines.append(cost_line)
self.lines = lines
return removed
def get_shipment_cost_line(self, cost):
pool = Pool()