diff --git a/cor_custom/models/analytic.py b/cor_custom/models/analytic.py index e10280b..bb9209e 100755 --- a/cor_custom/models/analytic.py +++ b/cor_custom/models/analytic.py @@ -74,33 +74,27 @@ class AccountAnalyticLine(models.Model): def _onchange_employee_id(self): project_manager_grp = self.env.ref('project.group_project_manager').users.ids project_user_grp = self.env.ref('project.group_project_user').users.ids - # print('11111111', self.employee_id, self.employee_id.user_id) - # print('11111111AAAAAAAAAAAAA', project_manager_grp) - # print('11111111BBBBBBBBBBBB', project_user_grp) domain = [] if self.employee_id and self.employee_id.user_id and self.employee_id.user_id.id in project_manager_grp: - #print('22222222222222') all_projects = self.env['project.project'].search([('allow_timesheets', '=', True), ('is_sub_project', '=', False)]).ids - #print('22222222222222AAAAAAAAAAAAA',all_projects) domain = [('id', 'in', all_projects)] - if self.employee_id and self.employee_id.user_id and self.employee_id.user_id.id in project_user_grp: - #print('333333333333333333') - manager_id = self.env['project.project'].search( - [('user_id', '=', self.employee_id.user_id.id), ('allow_timesheets', '=', True), - ('is_sub_project', '=', False)]).ids - emp_project_ids = self.env['project.project'].search( - [('privacy_visibility', 'in', ('employees', 'portal')), ('allow_timesheets', '=', True), - ('is_sub_project', '=', False)]).ids - project_ids = self.env['project.project'].search( - [('privacy_visibility', '=', 'followers'), ('allow_timesheets', '=', True), - ('is_sub_project', '=', False), - ('allowed_internal_user_ids', 'in', self.employee_id.user_id.id)]).ids - consul_ids = self.env['project.sale.line.employee.map'].search([('employee_id', '=', self.employee_id.id)]) - consul_project_ids = [val.project_id.id for val in consul_ids] - emp_all_project_ids = manager_id + emp_project_ids + project_ids + consul_project_ids - #print('333333333333AAAAAAAAAAAAA',emp_all_project_ids) - domain = [('id', 'in', list(set(emp_all_project_ids)))] + else: + if self.employee_id and self.employee_id.user_id and self.employee_id.user_id.id in project_user_grp: + manager_id = self.env['project.project'].search( + [('user_id', '=', self.employee_id.user_id.id), ('allow_timesheets', '=', True), + ('is_sub_project', '=', False)]).ids + emp_project_ids = self.env['project.project'].search( + [('privacy_visibility', 'in', ('employees', 'portal')), ('allow_timesheets', '=', True), + ('is_sub_project', '=', False)]).ids + project_ids = self.env['project.project'].search( + [('privacy_visibility', '=', 'followers'), ('allow_timesheets', '=', True), + ('is_sub_project', '=', False), + ('allowed_internal_user_ids', 'in', self.employee_id.user_id.id)]).ids + consul_ids = self.env['project.sale.line.employee.map'].search([('employee_id', '=', self.employee_id.id)]) + consul_project_ids = [val.project_id.id for val in consul_ids] + emp_all_project_ids = manager_id + emp_project_ids + project_ids + consul_project_ids + domain = [('id', 'in', list(set(emp_all_project_ids)))] result = { 'domain': {'project_id': domain}, }