feat: add multi-company record rule for public employees to hr_employee model
This commit is contained in:
parent
8ab0089659
commit
c6a53aa21d
Binary file not shown.
@ -76,6 +76,12 @@ class HrEmployee(models.Model):
|
|||||||
if rule.domain_force != new_domain:
|
if rule.domain_force != new_domain:
|
||||||
rule.sudo().write({'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):
|
class HrEmployeePublic(models.Model):
|
||||||
|
|||||||
@ -8,6 +8,13 @@
|
|||||||
<field name="domain_force">['|', ('company_ids', 'in', company_ids), '&', ('company_ids', '=', False), ('company_id', 'in', company_ids)]</field>
|
<field name="domain_force">['|', ('company_ids', 'in', company_ids), '&', ('company_ids', '=', False), ('company_id', 'in', company_ids)]</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
<record id="hr.hr_employee_public_comp_rule" model="ir.rule">
|
||||||
|
<field name="name">Employee public multi branch rule</field>
|
||||||
|
<field name="model_id" ref="hr.model_hr_employee_public"/>
|
||||||
|
<field name="global" eval="True"/>
|
||||||
|
<field name="domain_force">['|', '|', '|', '|', ('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)]</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
<record id="base.res_partner_rule" model="ir.rule">
|
<record id="base.res_partner_rule" model="ir.rule">
|
||||||
<field name="domain_force">['|', '|', '|', ('partner_share', '=', False), ('company_id', 'parent_of', company_ids), ('company_id', '=', False), ('employee_ids.company_ids', 'in', company_ids)]</field>
|
<field name="domain_force">['|', '|', '|', ('partner_share', '=', False), ('company_id', 'parent_of', company_ids), ('company_id', '=', False), ('employee_ids.company_ids', 'in', company_ids)]</field>
|
||||||
</record>
|
</record>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user