diff --git a/partner_relations/model/res_partner.py b/partner_relations/model/res_partner.py index 2f1af81e1..1a867d62e 100644 --- a/partner_relations/model/res_partner.py +++ b/partner_relations/model/res_partner.py @@ -37,8 +37,11 @@ class ResPartner(models.Model): @api.one @api.depends("relation_ids") def _count_relations(self): - """Count the number of relations this partner has for Smart Button""" - self.relation_count = len(self.relation_ids) + """Count the number of relations this partner has for Smart Button + + Don't count inactive relations. + """ + self.relation_count = len([r for r in self.relation_ids if r.active]) def _get_relation_ids_select(self, cr, uid, ids, field_name, arg, context=None): diff --git a/partner_relations/model/res_partner_relation.py b/partner_relations/model/res_partner_relation.py index 6459b20ae..c3159d438 100644 --- a/partner_relations/model/res_partner_relation.py +++ b/partner_relations/model/res_partner_relation.py @@ -44,24 +44,31 @@ class ResPartnerRelation(models.Model): left_contact_type = fields.Selection( lambda s: s.env['res.partner.relation.type']._get_partner_types(), 'Left Partner Type', - compute='_get_partner_type', + compute='_get_partner_type_any', store=True, ) right_contact_type = fields.Selection( lambda s: s.env['res.partner.relation.type']._get_partner_types(), 'Right Partner Type', - compute='_get_partner_type', + compute='_get_partner_type_any', store=True, ) + any_partner_id = fields.Many2one( + 'res.partner', + string='Partner', + compute='_get_partner_type_any', + ) + @api.one @api.depends('left_partner_id', 'right_partner_id') - def _get_partner_type(self): - + def _get_partner_type_any(self): self.left_contact_type = get_partner_type(self.left_partner_id) self.right_contact_type = get_partner_type(self.right_partner_id) + self.any_partner_id = self.left_partner_id + self.right_partner_id + def _on_right_partner(self, cr, uid, right_partner_id, context=None): '''Determine wether functions are called in a situation where the active partner is the right partner. Default False! diff --git a/partner_relations/view/menu.xml b/partner_relations/view/menu.xml index f5b63bcd0..40230348a 100644 --- a/partner_relations/view/menu.xml +++ b/partner_relations/view/menu.xml @@ -1,15 +1,25 @@ + + + + + diff --git a/partner_relations/view/res_partner.xml b/partner_relations/view/res_partner.xml index d6446b0b4..3297815cf 100644 --- a/partner_relations/view/res_partner.xml +++ b/partner_relations/view/res_partner.xml @@ -27,6 +27,7 @@