Call workflow of sale when deleting moves

Improve workflow test on write of move
This commit is contained in:
Cédric Krier committed 2009-03-31 14:26:46 +02:00
1 parent 82db96e8ac
commit b3c30216a3
1 file changed
+27 -3
+27 -3
View File
@@ -1420,20 +1420,44 @@ class Move(OSV):
res = super(Move, self).write(cursor, user, ids, vals,
context=context)
if 'state' in vals and vals['state'] in ('cancel',):
sale_ids = []
if isinstance(ids, (int, long)):
ids = [ids]
sale_ids = set()
sale_line_ids = sale_line_obj.search(cursor, user, [
('moves', 'in', ids),
], context=context)
if sale_line_ids:
for sale_line in sale_line_obj.browse(cursor, user,
sale_line_ids, context=context):
if sale_line.sale.id not in sale_ids:
sale_ids.append(sale_line.sale.id)
sale_ids.add(sale_line.sale.id)
for sale_id in sale_ids:
workflow_service.trg_validate(user, 'sale.sale',
sale_id, 'packing_update', cursor, context=context)
return res
def delete(self, cursor, user, ids, context=None):
sale_obj = self.pool.get('sale.sale')
sale_line_obj = self.pool.get('sale.line')
if isinstance(ids, (int, long)):
ids = [ids]
sale_ids = set()
sale_line_ids = sale_line_obj.search(cursor, user, [
('moves', 'in', ids),
], context=context)
res = super(Move, self).delete(cursor, user, ids, context=context)
if sale_line_ids:
for sale_line in sale_line_obj.browse(cursor, user,
sale_line_ids, context=context):
sale_ids.add(sale_line.sale.id)
for sale_id in sale_ids:
workflow_service.trg_validate(user, 'sale.sale',
sale_id, 'packing_update', cursor, context=context)
return res
Move()