[FIX] sales_team: AccessError on default team
- Create 2 companies C1 and C2 - Assign User U1 in C1 - Assign the default Sales Team (`sales_team.team_sales_department`) to C2 - Create an invoice with U1 An `AccessError` is raised because the user is not allowed to access the default Sales Team. We fall back on `sales_team.team_sales_department` only if the user has read access. opw-1876966
This commit is contained in:
committed by
Nicolas Martinelli
parent
a7dd10a838
commit
a456161680
@@ -8,7 +8,7 @@ from dateutil.relativedelta import relativedelta
|
||||
import json
|
||||
|
||||
from odoo import api, fields, models, _
|
||||
from odoo.exceptions import UserError
|
||||
from odoo.exceptions import AccessError, UserError
|
||||
from odoo.release import version
|
||||
from odoo.tools import DEFAULT_SERVER_DATE_FORMAT as DF
|
||||
|
||||
@@ -33,8 +33,13 @@ class CrmTeam(models.Model):
|
||||
team_id = self.env['crm.team'].browse(self.env.context.get('default_team_id'))
|
||||
if not team_id:
|
||||
default_team_id = self.env.ref('sales_team.team_sales_department', raise_if_not_found=False)
|
||||
if default_team_id and (self.env.context.get('default_type') != 'lead' or default_team_id.use_leads):
|
||||
team_id = default_team_id
|
||||
if default_team_id:
|
||||
try:
|
||||
default_team_id.check_access_rule('read')
|
||||
except AccessError:
|
||||
return False
|
||||
if self.env.context.get('default_type') != 'lead' or default_team_id.use_leads:
|
||||
team_id = default_team_id
|
||||
return team_id
|
||||
|
||||
def _get_default_favorite_user_ids(self):
|
||||
|
||||
Reference in New Issue
Block a user