From fb38f1d81d1498dc228e4c5ce09d4a99a7b42fb3 Mon Sep 17 00:00:00 2001 From: Josse Colpaert Date: Mon, 25 Mar 2013 14:44:10 +0100 Subject: [PATCH] [FIX] Update partner in associated bank statements when changing partner in pos order bzr revid: jco@openerp.com-20130325134410-ky0akwdcfr805df8 --- addons/point_of_sale/point_of_sale.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py index 44139f7a499..b47f31a2dad 100644 --- a/addons/point_of_sale/point_of_sale.py +++ b/addons/point_of_sale/point_of_sale.py @@ -523,6 +523,17 @@ class pos_order(osv.osv): wf_service.trg_validate(uid, 'pos.order', order_id, 'paid', cr) return order_ids + def write(self, cr, uid, ids, vals, context=None): + #If you change the partner of the PoS order, change also the partner of the associated bank statements + res = super(pos_order, self).write(cr, uid, ids, vals, context=context) + bsl_obj = self.pool.get("account.bank.statement.line") + if 'partner_id' in vals: + for posorder in self.browse(cr, uid, ids, context=context): + bsl_ids = [x.id for x in posorder.statement_ids] + part_id = self.pool.get('res.partner')._find_accounting_partner(posorder.partner_id).id + bsl_obj.write(cr, uid, bsl_ids, {'partner_id': part_id}, context=context) + return res + def unlink(self, cr, uid, ids, context=None): for rec in self.browse(cr, uid, ids, context=context): if rec.state not in ('draft','cancel'):