From 2dc7e598687757147614c3b99743b77b511a7636 Mon Sep 17 00:00:00 2001 From: Ludovic CHEVALIER Date: Wed, 13 Jan 2016 16:48:51 +0100 Subject: [PATCH] [PYTHON] ~fix partner last membership product problem --- etudesetchantiersidf.py | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/etudesetchantiersidf.py b/etudesetchantiersidf.py index 1f40102..468996d 100644 --- a/etudesetchantiersidf.py +++ b/etudesetchantiersidf.py @@ -31,15 +31,15 @@ from openerp.osv import fields class Partner(osv.osv): '''Partner''' _inherit = 'res.partner' - ''' - def _get_invoice_partner(self, cr, uid, ids, context=None): - res = super(Partner, self)._get_invoice_partner(cr, uid, ids, context=context) - return res def _get_partner_id(self, cr, uid, ids, context=None): - res = super(Partner, self)._get_partner_id(cr, uid, ids, context=context) - return res - ''' + return super(Partner, self.pool['res.partner'])._get_partner_id(cr, uid, ids, context=context) + + def _get_invoice_partner(self, cr, uid, ids, context=None): + return super(Partner, self.pool['res.partner'])._get_invoice_partner(cr, uid, ids, context=context) + + def _get_order_partner(self, cr, uid, ids, context=None): + return super(Partner, self.pool['res.partner'])._get_order_partner(cr, uid, ids, context=context) def _get_last_mb_product(self, cr, uid, ids, name, args, context=None): """Return the last membership product buy by a user""" @@ -51,28 +51,26 @@ class Partner(osv.osv): line_id = member_line_obj.search(cr, uid, [ ('partner', '=', partner_id), ('date_cancel', '=', False) - ], limit=1, order='date_from', context=context) + ], limit=1, order='date_from desc', context=context) if line_id: product_id = member_line_obj.read(cr, uid, line_id[0], [name], context=context)[name][0] res[partner.id] = {name: product_id} return res - _columns = { 'membership_id': fields.function( _get_last_mb_product, multi='membership_id', string='Last membership product', type='many2one', obj='product.product', - store=True, + store = { + 'account.invoice': (_get_invoice_partner, ['state'], 11), + 'pos.order': (_get_order_partner, ['state', 'partner_id'], 11), + 'membership.membership_line': (_get_partner_id, ['state'], 10), + 'res.partner': (lambda self, cr, uid, ids, c={}: ids, ['free_member'], 10) + } ), } -''' -store = { - 'account.invoice': (_get_invoice_partner, ['state'], 10), - 'membership.membership_line': (_get_partner_id, ['state'], 10, ) - } -''' Partner() -- 2.20.1