Я пытаюсь сделать проект мудрым этапов проекта. По умолчанию этапы задачи генерируются по проекту.
Я сделал это, чтобы добавить отношения Many2many для отдела и этапов.
class DepartmentStages(models.Model):
_inherit = 'project.task.type'
department_ids = fields.Many2many(comodel_name='hr.department',
relation='hr_department_project_task_type_rel',
column1='project_task_type_id',
column2='hr_department_id', string='Departments')
Кроме того, я добавил stages_ids
в hr.department
.
class HrDepartmentInherit(models.Model):
_inherit = 'hr.department'
stage_ids = fields.Many2many(comodel_name='project.task.type',
relation='hr_department_project_task_type_rel',
column1='hr_department_id',
column2='project_task_type_id',
string='Tasks Stages')
Я добавил department_id
поле в project.project
.
class ProjectProjectInhert(models.Model):
_inherit = 'project.project'
department_id = fields.Many2one(
comodel_name='hr.department',
default=_get_department,
string='Department')
@api.multi
def _get_department(self):
emp_model = self.env['hr.employee']
department_id = False
employee = emp_model.search([('user_id', '=', self.env.uid)], limit=1)
if employee and employee.department_id:
department_id = employee.department_id.id
return department_id
Чтобы получить stage_id
в project.task
, я унаследовал поле следующим образом:
class ProjectTaskInherit(models.Model):
_inherit = 'project.task'
stage_id = fields.Many2one(comodel_name='project.task.type', string='Stage',
track_visibility='onchange', domain="[('department_ids', '=', project_id.department_id)]")
Это показывает Uncaught Error: AttributeError: object has no attribute 'department_id'
.
Итак, как мне применить фильтр домена, чтобы получить поэтапный отдел?
Заранее спасибо.