[9.0][IMP] account_banking_mandate: Changes suggested

This commit is contained in:
Carlos Dauden
2017-08-02 18:46:26 +02:00
parent 25d2e4d4bd
commit 45c1cc2dc9

View File

@@ -15,7 +15,7 @@ class ResPartner(models.Model):
valid_mandate_id = fields.Many2one( valid_mandate_id = fields.Many2one(
comodel_name='account.banking.mandate', comodel_name='account.banking.mandate',
compute='compute_valid_mandate_id', compute='compute_valid_mandate_id',
string='Valid Mandate') string='First Valid Mandate')
@api.multi @api.multi
def _compute_mandate_count(self): def _compute_mandate_count(self):
@@ -29,14 +29,15 @@ class ResPartner(models.Model):
@api.multi @api.multi
def compute_valid_mandate_id(self): def compute_valid_mandate_id(self):
# Dict to reduce impact with "bug" that process all partners related # Dict for reducing the duplicated searches on parent/child partners
mandates_dic = {} mandates_dic = {}
for partner in self: for partner in self:
commercial_partner_id = partner.commercial_partner_id commercial_partner_id = partner.commercial_partner_id.id
if commercial_partner_id in mandates_dic: if commercial_partner_id in mandates_dic:
partner.valid_mandate_id = mandates_dic[commercial_partner_id] partner.valid_mandate_id = mandates_dic[commercial_partner_id]
else: else:
mandate_id = partner.commercial_partner_id.bank_ids.mapped( mandates = partner.commercial_partner_id.bank_ids.mapped(
'mandate_ids').filtered(lambda x: x.state == 'valid').id 'mandate_ids').filtered(lambda x: x.state == 'valid')
partner.valid_mandate_id = mandate_id first_valid_mandate_id = mandates[:1].id
mandates_dic[commercial_partner_id] = mandate_id partner.valid_mandate_id = first_valid_mandate_id
mandates_dic[commercial_partner_id] = first_valid_mandate_id