all projects for project manager
This commit is contained in:
parent
c501a89225
commit
c47cc5ca9f
|
@ -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},
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue