From 6084b156c6785aec16d1b729d72fc2675bbfabdd Mon Sep 17 00:00:00 2001 From: Ludovic CHEVALIER Date: Fri, 1 Jul 2016 13:21:32 +0200 Subject: [PATCH] [PYTHON] +change partner in membership line if s-he is change in pos_order and pos_order have a membership product in its lines --- pos_membership.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pos_membership.py b/pos_membership.py index 8df622e..e0b63c9 100644 --- a/pos_membership.py +++ b/pos_membership.py @@ -668,11 +668,24 @@ class pos_order(osv.osv): return res def onchange_partner_id(self, cr, uid, ids, part=False, context=None): + """ + - Change membership stop value if partner change + - Change partner in membership line if s·he is change + """ if not part: return {'value': {}} res = super(pos_order, self).onchange_partner_id(cr, uid, ids, part=part, context=context) membership_stop = self.pool.get('res.partner').browse(cr, uid, part, context=context).membership_stop res['value']['membership_stop'] = membership_stop + ml_line_obj = self.pool.get('membership.membership_line') + pol_obj = self.pool.get('pos.order.line') + for id in ids: + pol_ids = pol_obj.search(cr, uid, [('order_id', '=', id)], context=context) + pols = pol_obj.browse(cr, uid, pol_ids, context=context) + for pol in pols: + if pol.product_id.membership: + ml_line_ids = ml_line_obj.search(cr, uid, [('pos_order_line', '=', pol.id)], context=context) + ml_line_obj.write(cr, uid, ml_line_ids, {'partner': part}, context=context) return res def _get_membership_stop(self, cr, uid, ids, name, args, context=None): -- 2.20.1