diff --git a/models/__pycache__/hr_employee.cpython-312.pyc b/models/__pycache__/hr_employee.cpython-312.pyc
index e63e21c..444dcbe 100644
Binary files a/models/__pycache__/hr_employee.cpython-312.pyc and b/models/__pycache__/hr_employee.cpython-312.pyc differ
diff --git a/models/hr_employee.py b/models/hr_employee.py
index 2bcc722..bd98ce5 100644
--- a/models/hr_employee.py
+++ b/models/hr_employee.py
@@ -76,6 +76,12 @@ class HrEmployee(models.Model):
if rule.domain_force != new_domain:
rule.sudo().write({'domain_force': new_domain})
+ rule_public = self.env.ref('hr.hr_employee_public_comp_rule', raise_if_not_found=False)
+ if rule_public:
+ new_domain_public = "['|', '|', '|', '|', ('company_ids', 'in', company_ids), ('company_id', 'in', company_ids + [False]), ('parent_id.user_id', '=', user.id), ('id', '=', user.employee_id.parent_id.id), ('user_id', '=', user.id)]"
+ if rule_public.domain_force != new_domain_public:
+ rule_public.sudo().write({'domain_force': new_domain_public})
+
class HrEmployeePublic(models.Model):
diff --git a/security/hr_security.xml b/security/hr_security.xml
index d48f2d0..2892211 100644
--- a/security/hr_security.xml
+++ b/security/hr_security.xml
@@ -8,6 +8,13 @@
['|', ('company_ids', 'in', company_ids), '&', ('company_ids', '=', False), ('company_id', 'in', company_ids)]
+
+ Employee public multi branch rule
+
+
+ ['|', '|', '|', '|', ('company_ids', 'in', company_ids), ('company_id', 'in', company_ids + [False]), ('parent_id.user_id', '=', user.id), ('id', '=', user.employee_id.parent_id.id), ('user_id', '=', user.id)]
+
+
['|', '|', '|', ('partner_share', '=', False), ('company_id', 'parent_of', company_ids), ('company_id', '=', False), ('employee_ids.company_ids', 'in', company_ids)]