all projects for project manager

This commit is contained in:
pawan.sharma 2021-11-29 17:01:11 +05:30
parent c501a89225
commit c47cc5ca9f
1 changed files with 16 additions and 22 deletions

View File

@ -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},
}