diff --git a/addons_extensions/project_task_timesheet_extended/models/teams.py b/addons_extensions/project_task_timesheet_extended/models/teams.py
index 8c7facac6..34b26563e 100644
--- a/addons_extensions/project_task_timesheet_extended/models/teams.py
+++ b/addons_extensions/project_task_timesheet_extended/models/teams.py
@@ -11,6 +11,24 @@ class InternalTeams(models.Model):
active = fields.Boolean(default=True, help="Set active to false to hide the Teams without removing it.")
+ parent_id = fields.Many2one('internal.teams', string="Parent Team",
+ domain="[('id', '!=', id)]")
+ child_ids = fields.One2many('internal.teams', 'parent_id', string="Child Teams")
+ active = fields.Boolean(default=True)
+
+ # Computed field to include members + child team members and leads
+ all_members_ids = fields.Many2many(
+ 'res.users', compute='_compute_all_members', string="All Members", store=False
+ )
+
+ @api.depends('members_ids', 'child_ids.members_ids', 'child_ids.team_lead')
+ def _compute_all_members(self):
+ for rec in self:
+ all_members = rec.members_ids
+ for child in rec.child_ids:
+ all_members |= child.members_ids | child.team_lead
+ rec.all_members_ids = all_members
+
def _compute_display_name(self):
""" Custom display_name in case a registration is nott linked to an attendee
diff --git a/addons_extensions/project_task_timesheet_extended/security/security.xml b/addons_extensions/project_task_timesheet_extended/security/security.xml
index ec6ac9ab6..b469d8299 100644
--- a/addons_extensions/project_task_timesheet_extended/security/security.xml
+++ b/addons_extensions/project_task_timesheet_extended/security/security.xml
@@ -66,5 +66,8 @@
+
+
+
\ No newline at end of file
diff --git a/addons_extensions/project_task_timesheet_extended/view/teams.xml b/addons_extensions/project_task_timesheet_extended/view/teams.xml
index 470c850e9..bd8c08d2c 100644
--- a/addons_extensions/project_task_timesheet_extended/view/teams.xml
+++ b/addons_extensions/project_task_timesheet_extended/view/teams.xml
@@ -11,6 +11,7 @@
+
internal.teams.form.view
internal.teams
@@ -20,37 +21,56 @@
-
-
-
-
-
-
-
-
-
-
-
![Avatar]()
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
![Avatar]()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -63,8 +83,7 @@
list,form
-
-
-
-
\ No newline at end of file
+