X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=remembership.py;h=6dde31765490631c0479a3eb20dea1962cea0f96;hb=b119144251ed7a52ca9c1eb9ee2fe04e5a984dbc;hp=20047709aba5b5d8830ada53d0bf65f948e7b74b;hpb=03e884c839ad12ec33540cffb07217b0d762e2a7;p=burette%2Fremembership.git diff --git a/remembership.py b/remembership.py index 2004770..6dde317 100644 --- a/remembership.py +++ b/remembership.py @@ -21,6 +21,8 @@ # ############################################################################## +import time + from osv import osv from osv import fields @@ -92,4 +94,19 @@ class Partner(osv.osv): Partner() +class account_invoice_line(osv.osv): + _inherit='account.invoice.line' + + def create(self, cr, uid, vals, context=None): + result = super(account_invoice_line, self).create(cr, uid, vals, context=context) + line = self.browse(cr, uid, result, 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}) + return result + +account_invoice_line() + + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: