Backport of odoo/odoo#81474 Before odoo/odoo#86889 a regular user with employees in multiple companies was not able to change his own language due to a chain of event calling onchange on all the employee_ids and employee_ids on res.users being read as sudo. The fix does work but was wrong because it gave access to the user's public employee regardless of the active company_id A domain was added to employee_ids to make force the security rules even in sudo. closes odoo/odoo#94618 X-original-commit: 90cec4073e065c142043fcea1d68a10c7cb72e73 Signed-off-by: Kevin Baptiste <kba@odoo.com> Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
65 lines
3.1 KiB
XML
65 lines
3.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
|
|
<record id="base.module_category_human_resources_employees" model="ir.module.category">
|
|
<field name="sequence">9</field>
|
|
</record>
|
|
|
|
<record id="group_hr_user" model="res.groups">
|
|
<field name="name">Officer : Manage all employees</field>
|
|
<field name="category_id" ref="base.module_category_human_resources_employees"/>
|
|
<field name="implied_ids" eval="[(6, 0, [ref('base.group_private_addresses'), ref('base.group_user')])]"/>
|
|
<field name="comment">The user will be able to approve document created by employees.</field>
|
|
</record>
|
|
|
|
<record id="group_hr_manager" model="res.groups">
|
|
<field name="name">Administrator</field>
|
|
<field name="comment">The user will have access to the human resources configuration as well as statistic reports.</field>
|
|
<field name="category_id" ref="base.module_category_human_resources_employees"/>
|
|
<field name="implied_ids" eval="[(4, ref('group_hr_user'))]"/>
|
|
<field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
|
|
</record>
|
|
|
|
<data noupdate="1">
|
|
<record id="base.default_user" model="res.users">
|
|
<field name="groups_id" eval="[(4,ref('group_hr_manager'))]"/>
|
|
</record>
|
|
|
|
<record id="hr_employee_comp_rule" model="ir.rule">
|
|
<field name="name">Employee multi company rule</field>
|
|
<field name="model_id" ref="model_hr_employee"/>
|
|
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
|
|
</record>
|
|
|
|
<record id="hr_dept_comp_rule" model="ir.rule">
|
|
<field name="name">Department multi company rule</field>
|
|
<field name="model_id" ref="model_hr_department"/>
|
|
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
|
|
</record>
|
|
|
|
<record id="hr_employee_public_comp_rule" model="ir.rule">
|
|
<field name="name">Employee multi company rule</field>
|
|
<field name="model_id" ref="model_hr_employee_public"/>
|
|
<field name="domain_force">['|',('company_id', '=',False),('company_id', 'in', company_ids)]</field>
|
|
</record>
|
|
|
|
<record id="hr_job_comp_rule" model="ir.rule">
|
|
<field name="name">Job multi company rule</field>
|
|
<field name="model_id" ref="model_hr_job"/>
|
|
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
|
|
</record>
|
|
|
|
<record id="hr_plan_company_rule" model="ir.rule">
|
|
<field name="name">Plan multi-company rule</field>
|
|
<field name="model_id" ref="model_hr_plan"/>
|
|
<field name="domain_force">['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]</field>
|
|
</record>
|
|
|
|
<record id="hr_plan_activity_type_company_rule" model="ir.rule">
|
|
<field name="name">Plan Activity Type multi-company rule</field>
|
|
<field name="model_id" ref="model_hr_plan_activity_type"/>
|
|
<field name="domain_force">['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]</field>
|
|
</record>
|
|
</data>
|
|
</odoo>
|