diff --git a/addons/sales_team/models/crm_team.py b/addons/sales_team/models/crm_team.py index 5ac998b5ee8..abe395a48af 100644 --- a/addons/sales_team/models/crm_team.py +++ b/addons/sales_team/models/crm_team.py @@ -118,6 +118,7 @@ class CrmTeam(models.Model): member_warning = fields.Text('Membership Issue Warning', compute='_compute_member_warning') crm_team_member_ids = fields.One2many( 'crm.team.member', 'crm_team_id', string='Sales Team Members', + context={'active_test': True}, help="Add members to automatically assign their documents to this sales team.") crm_team_member_all_ids = fields.One2many( 'crm.team.member', 'crm_team_id', string='Sales Team Members (incl. inactive)', diff --git a/addons/sales_team/tests/test_sales_team_membership.py b/addons/sales_team/tests/test_sales_team_membership.py index 9186c98e27e..17dc0694f09 100644 --- a/addons/sales_team/tests/test_sales_team_membership.py +++ b/addons/sales_team/tests/test_sales_team_membership.py @@ -275,6 +275,24 @@ class TestMembership(TestSalesCommon): with self.assertRaises(exceptions.UserError), mute_logger('odoo.sql_db'): added.write({'crm_team_id': sales_team_1.id}) + def test_sales_team_member_search(self): + """ when a search is triggered on the member_ids field in crm.team + it is currently returning the archived records also. this test will + ensure that the search wont return archived record. + + this is to fix unwanted ORM behavior + """ + self.env['res.partner'].create({'name': 'Test Partner', 'team_id': self.new_team.id}) + self.env['crm.team.member'].create({ + 'user_id': self.env.uid, + 'crm_team_id': self.new_team.id, + 'active': False, + }) + partner_exists = self.env['res.partner'].search([ + ('team_id.member_ids', 'in', [self.env.uid]) + ]) + self.assertFalse(partner_exists, msg="Partner should return empty as current user is removed from team") + def test_users_sale_team_id(self): self.assertTrue(self.sales_team_1.sequence < self.new_team.sequence)