[FIX] sale: change sales team on sale.order if specified on res.partner
Current behavior: If new partner is chosen on sale.order, sales team remains the same. This fix allows sales team from res.partner to be considered. opw-3607442 closes odoo/odoo#147231 X-original-commit: ff5a2a419b89fc24b3fbc34edb88c31403484d94 Signed-off-by: Evgeniia Kotova (evko) <evko@odoo.com> Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
This commit is contained in:
committed by
Victor Feyens
parent
f3d7a97f69
commit
2c5a856850
@@ -435,7 +435,7 @@ class SaleOrder(models.Model):
|
||||
def _compute_team_id(self):
|
||||
cached_teams = {}
|
||||
for order in self:
|
||||
default_team_id = self.env.context.get('default_team_id', False) or order.team_id.id or order.partner_id.team_id.id
|
||||
default_team_id = self.env.context.get('default_team_id', False) or order.partner_id.team_id.id or order.team_id.id
|
||||
user_id = order.user_id.id
|
||||
company_id = order.company_id.id
|
||||
key = (default_team_id, user_id, company_id)
|
||||
|
||||
@@ -637,3 +637,32 @@ class TestSalesTeam(SaleCommon):
|
||||
self.sale_order.prepayment_percent = -1
|
||||
with self.assertRaises(ValidationError):
|
||||
self.sale_order.prepayment_percent = 1.01
|
||||
|
||||
def test_sales_team_defined_on_partner_user_no_team(self):
|
||||
""" Test that sale order picks up a team from res.partner on change if user has no team specified """
|
||||
|
||||
crm_team0 = self.env['crm.team'].create({
|
||||
'name':"Test Team A"
|
||||
})
|
||||
|
||||
crm_team1 = self.env['crm.team'].create({
|
||||
'name':"Test Team B"
|
||||
})
|
||||
|
||||
partner_a = self.env['res.partner'].create({
|
||||
'name': 'Partner A',
|
||||
'team_id': crm_team0.id,
|
||||
})
|
||||
|
||||
partner_b = self.env['res.partner'].create({
|
||||
'name': 'Partner B',
|
||||
'team_id': crm_team1.id,
|
||||
})
|
||||
|
||||
sale_order = self.env['sale.order'].with_user(self.user_not_in_team).create({
|
||||
'partner_id': partner_a.id,
|
||||
})
|
||||
|
||||
self.assertEqual(sale_order.team_id, crm_team0, "Sales team should change to partner's")
|
||||
sale_order.with_user(self.user_not_in_team).write({'partner_id': partner_b.id})
|
||||
self.assertEqual(sale_order.team_id, crm_team1, "Sales team should change to partner's")
|
||||
|
||||
Reference in New Issue
Block a user