X-Git-Url: https://git.cyclocoop.org/%7B%24admin_url%7Dmembres/modifier.php?a=blobdiff_plain;f=remembership.py;h=11f61ca7177e42e7bf0aa0f4c4911585b4f270de;hb=cd599cd4d0e3c8a7d8eb1b20a20737b3106cbc57;hp=7115b86ee52781d4ec37a0760a7ef229c0657f19;hpb=45b3ce93e9483b672d4b2258e1ff3dd228ece786;p=burette%2Fremembership.git diff --git a/remembership.py b/remembership.py index 7115b86..11f61ca 100644 --- a/remembership.py +++ b/remembership.py @@ -45,10 +45,14 @@ class account_invoice_line(osv.osv): def create(self, cr, uid, vals, context=None): res = super(account_invoice_line, self).create(cr, uid, vals, context=context) line = self.browse(cr, uid, res, context=context) - if line.invoice_id.type == 'out_invoice': - if line.product_id and line.product_id.membership and not line.invoice_id.partner_id.member_ident: - mbr_id = self.pool.get('ir.sequence').get(cr, uid, 'member_ident') - self.pool.get('res.partner').write(cr, uid, line.invoice_id.partner_id.id, {'member_ident': mbr_id}) + + if line.invoice_id.type == 'out_invoice' and line.product_id and line.product_id.membership: + partners = [line.invoice_id.partner_id] + partners.extend(line.invoice_id.partner_id.associate_members) + for i in partners: + if not i.member_ident: + mbr_id = self.pool.get('ir.sequence').get(cr, uid, 'member_ident') + self.pool.get('res.partner').write(cr, uid, i.id, {'member_ident': mbr_id}) return res account_invoice_line()