[14.0][IMP] mrp_workcenter_hierarchical: Parents level identification

This commit is contained in:
Stefano Consolaro
2022-10-01 12:07:16 +02:00
parent c3d9313eba
commit 029f24b15c

View File

@@ -45,7 +45,7 @@ class MrpWorkcenter(models.Model):
ids = []
return ids
@api.depends("parent_id.parent_id.parent_id", "child_ids")
@api.depends("parent_id.parent_id.parent_id.parent_id", "child_ids")
def _compute_parent_level(self):
def get_next_level(parent_ids, workcenter):
return (
@@ -56,6 +56,22 @@ class MrpWorkcenter(models.Model):
for workcenter in self:
parent_ids = workcenter._get_parent_ids()
workcenter.parent_level_1_id = get_next_level(parent_ids, workcenter)
workcenter.parent_level_2_id = get_next_level(parent_ids, workcenter)
workcenter.parent_level_3_id = get_next_level(parent_ids, workcenter)
exclude_ids = [workcenter.id, workcenter.parent_id.id]
l_id = [False, False, False]
l_id[0] = get_next_level(parent_ids, workcenter)
workcenter.parent_level_1_id = (
l_id[0] if l_id[0] not in exclude_ids else False
)
exclude_ids.append(l_id[0])
l_id[1] = get_next_level(parent_ids, workcenter)
workcenter.parent_level_2_id = (
l_id[1] if l_id[1] not in exclude_ids else False
)
exclude_ids.append(l_id[1])
l_id[2] = get_next_level(parent_ids, workcenter)
workcenter.parent_level_3_id = (
l_id[2] if l_id[2] not in exclude_ids else False
)