[IMP] hr_base, *: activate multi-company for various custom models

This commit is contained in:
Abdurrahman Saber 2025-09-17 05:02:24 +03:00
parent 59095475e2
commit f8f1923a9f
22 changed files with 191 additions and 125 deletions

View File

@ -33,6 +33,7 @@ class EmployeeCustody(models.Model):
department_id = fields.Many2one(related="employee_id.department_id", readonly=True) department_id = fields.Many2one(related="employee_id.department_id", readonly=True)
job_id = fields.Many2one(related="employee_id.job_id", readonly=True) job_id = fields.Many2one(related="employee_id.job_id", readonly=True)
country_id = fields.Many2one(related="employee_id.country_id", readonly=True) country_id = fields.Many2one(related="employee_id.country_id", readonly=True)
company_id = fields.Many2one(related="employee_id.company_id", store=True)
def draft(self): def draft(self):
self.state = "draft" self.state = "draft"
@ -84,7 +85,7 @@ class EmployeeCustodyLine(models.Model):
amount = fields.Float() amount = fields.Float()
# Relational fields # Relational fields
employee_custody_line = fields.Many2one(comodel_name='custom.employee.custody') # Inverse field employee_custody_line = fields.Many2one('custom.employee.custody') # Inverse field
EmployeeCustodyLine() EmployeeCustodyLine()

View File

@ -2,6 +2,12 @@
<odoo> <odoo>
<data noupdate="0"> <data noupdate="0">
<record id="employee_custody_rule_comp_rule" model="ir.rule">
<field name="name">Employee custody multi company rule</field>
<field name="model_id" ref="model_custom_employee_custody"/>
<field name="domain_force">['|', ('company_id','=',False), ('company_id', 'in', company_ids)]</field>
</record>
<record id="custom_employee_custody_emp_rule" model="ir.rule"> <record id="custom_employee_custody_emp_rule" model="ir.rule">
<field name="name">Employee: views custody</field> <field name="name">Employee: views custody</field>
<field name="model_id" ref="model_custom_employee_custody"/> <field name="model_id" ref="model_custom_employee_custody"/>

View File

@ -23,6 +23,7 @@
'data': [ 'data': [
'security/security.xml', 'security/security.xml',
'security/ir.model.access.csv', 'security/ir.model.access.csv',
'security/ir_rule.xml',
'data/data.xml', 'data/data.xml',

View File

@ -288,6 +288,7 @@ class Advantages(models.Model):
comments = fields.Text(string='Comments') comments = fields.Text(string='Comments')
payroll_month = fields.Text(string='Payroll Month', tracking=True) payroll_month = fields.Text(string='Payroll Month', tracking=True)
company_id = fields.Many2one('res.company', string='Company', related='employee_id.company_id', store=True)
@api.constrains('date_from', 'date_to', 'amount') @api.constrains('date_from', 'date_to', 'amount')
def _chick_date(self): def _chick_date(self):

View File

@ -0,0 +1,124 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="employee_promotion_rule_comp_rule" model="ir.rule">
<field name="name">Employee promotions multi company rule</field>
<field name="model_id" ref="model_employee_promotions" />
<field name="domain_force">['|', ('company_id','=',False), ('company_id', 'in', company_ids)]</field>
</record>
<record id="employee_reward_rule_comp_rule" model="ir.rule">
<field name="name">Employee reward multi company rule</field>
<field name="model_id" ref="model_hr_employee_reward" />
<field name="domain_force">['|', ('company_id','=',False), ('company_id', 'in', company_ids)]</field>
</record>
<record id="hr_payslip_run_rule_comp_rule" model="ir.rule">
<field name="name">Employee hr payslip run multi company rule</field>
<field name="model_id" ref="model_hr_payslip_run" />
<field name="domain_force">['|', ('company_id','=',False), ('company_id', 'in', company_ids)]</field>
</record>
<record id="salary_rule_comp_rule" model="ir.rule">
<field name="name">Employee hr_salary_rule multi company rule</field>
<field name="model_id" ref="model_hr_salary_rule" />
<field name="domain_force">['|', ('company_id','=',False), ('company_id', 'in', company_ids)]</field>
</record>
<record id="hr_payroll_structure_comp_rule" model="ir.rule">
<field name="name">Employee hr_salary_rule multi company rule</field>
<field name="model_id" ref="model_hr_payroll_structure" />
<field name="domain_force">['|', ('company_id','=',False), ('company_id', 'in', company_ids)]</field>
</record>
<record id="rule_advance_salary_multi_company" model="ir.rule">
<field name="name">Advance Request Multi Company</field>
<field name="model_id" ref="model_salary_advance"/>
<field eval="True" name="global"/>
<field name="domain_force">['|', ('company_id','=',False), ('company_id', 'in',company_ids)]
</field>
</record>
<record id="hr_payslip_rule_comp_rule" model="ir.rule">
<field name="name">Employee hr payslip multi company rule</field>
<field name="model_id" ref="model_hr_payslip"/>
<field name="domain_force">['|', ('company_id','=',False), ('company_id', 'in', company_ids)]</field>
</record>
<record id="contract_advantage_rule_comp_rule" model="ir.rule">
<field name="name">Employee contract advantage multi company rule</field>
<field name="model_id" ref="model_contract_advantage"/>
<field name="domain_force">['|', ('company_id','=',False), ('company_id', 'in', company_ids)]</field>
</record>
<record id="hr_salary_advance_manager_rule" model="ir.rule">
<field name="name">Salary Advance</field>
<field name="model_id" ref="model_salary_advance"/>
<field name="groups" eval="[(4, ref('hr.group_hr_user')),(4, ref('account.group_account_user'))]"/>
<field name="perm_write" eval="True"/>
<field name="perm_read" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="True"/>
</record>
<record id="hr_salary_advance_employee_rule" model="ir.rule">
<field name="name">Salary Advance Rule For Employee</field>
<field name="domain_force">[('employee_id.user_id','=',user.id)]</field>
<field name="global" eval="True"/>
<field name="model_id" ref="model_salary_advance"/>
<field name="groups" eval="[(4,ref('base.group_user'))]"/>
<field name="perm_write" eval="True"/>
<field name="perm_read" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="True"/>
</record>
<record id="hr_payroll_rule_employee" model="ir.rule">
<field name="name">Employee Payslip</field>
<field name="model_id" ref="model_hr_payslip"/>
<field name="domain_force">[('employee_id.user_id.id', '=', user.id),('state', '=', 'transfered')]</field>
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
</record>
<record id="hr_payslip_contributor_rule" model="ir.rule">
<field name="name">All Payslip</field>
<field name="model_id" ref="model_hr_payslip"/>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4, ref('exp_payroll_custom.group_hr_payroll_contributor')),
(4, ref('hr_base.group_general_manager')),
(4, ref('exp_hr_payroll.group_hr_payroll_user')),
(4, ref('hr_base.group_executive_manager')),
(4, ref('hr.group_hr_manager')),
(4, ref('hr_base.group_account_manager')),
(4, ref('exp_payroll_custom.group_payroll_expense_manger')),
(4, ref('exp_payroll_custom.group_payroll_finance_review'))]"/>
</record>
<record id="employee_promotion_employee_rule" model="ir.rule">
<field name="name">Employee: views its promotions only</field>
<field name="model_id" ref="model_employee_promotions"/>
<field name="domain_force">[('employee_id.user_id','=',user.id)]</field>
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
</record>
<record id="employee_promotion_division_manager_rule" model="ir.rule">
<field name="name">Division/Dep Manager: views promotions of its subordinates</field>
<field name="model_id" ref="model_employee_promotions"/>
<field name="domain_force">['|','|',('employee_id.department_id.manager_id','=',False),
('employee_id.department_id.manager_id.user_id','child_of', [user.id]),
('employee_id.department_id.parent_id.manager_id.user_id','child_of', [user.id])]
</field>
<field name="groups"
eval="[(4, ref('hr_base.group_department_manager')),(4, ref('hr_base.group_division_manager'))]"/>
</record>
<record id="employee_promotion_all_rule" model="ir.rule">
<field name="name">Manager: views promotions of all employee</field>
<field name="model_id" ref="model_employee_promotions" />
<field name="domain_force">[(1 ,'=', 1)]</field>
<field name="groups"
eval="[(3, ref('hr_base.group_account_manager')),
(4, ref('hr_base.group_executive_manager')),
(4, ref('hr_base.group_general_manager')),
(4, ref('hr.group_hr_manager'))]" />
</record>
</odoo>

View File

@ -17,123 +17,5 @@
<field name="category_id" ref="base.module_category_payroll_localization"/> <field name="category_id" ref="base.module_category_payroll_localization"/>
</record> </record>
<record id="rule_advance_salary_multi_company" model="ir.rule">
<field name="name">Advance Request Multi Company</field>
<field name="model_id" ref="model_salary_advance"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]
</field>
</record>
<record id="hr_salary_advance_manager_rule" model="ir.rule">
<field name="name">Salary Advance</field>
<field name="model_id" ref="model_salary_advance"/>
<field name="groups" eval="[(4, ref('hr.group_hr_user')),(4, ref('account.group_account_user'))]"/>
<field name="perm_write" eval="True"/>
<field name="perm_read" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="True"/>
</record>
<record id="hr_salary_advance_employee_rule" model="ir.rule">
<field name="name">Salary Advance Rule For Employee</field>
<field name="domain_force">[('employee_id.user_id','=',user.id)]</field>
<field name="global" eval="True"/>
<field name="model_id" ref="model_salary_advance"/>
<field name="groups" eval="[(4,ref('base.group_user'))]"/>
<field name="perm_write" eval="True"/>
<field name="perm_read" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="True"/>
</record>
<record id="hr_payroll_rule_employee" model="ir.rule">
<field name="name">Employee Payslip</field>
<field name="model_id" ref="model_hr_payslip"/>
<field name="domain_force">[('employee_id.user_id.id', '=', user.id),('state', '=', 'transfered')]</field>
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
</record>
<record id="hr_payslip_contributor_rule" model="ir.rule">
<field name="name">All Payslip</field>
<field name="model_id" ref="model_hr_payslip"/>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4, ref('exp_payroll_custom.group_hr_payroll_contributor')),
(4, ref('hr_base.group_general_manager')),
(4, ref('exp_hr_payroll.group_hr_payroll_user')),
(4, ref('hr_base.group_executive_manager')),
(4, ref('hr.group_hr_manager')),
(4, ref('hr_base.group_account_manager')),
(4, ref('exp_payroll_custom.group_payroll_expense_manger')),
(4, ref('exp_payroll_custom.group_payroll_finance_review')),
]"/>
<!-- (4, ref('hr.group_hr_manager')),(4, ref('hr.group_hr_user')),-->
</record>
<record id="hr_payslip_rule_comp_rule" model="ir.rule">
<field name="name">Employee hr payslip multi company rule</field>
<field name="model_id" ref="model_hr_payslip"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record id="employee_promotion_employee_rule" model="ir.rule">
<field name="name">Employee: views its promotions only</field>
<field name="model_id" ref="model_employee_promotions"/>
<field name="domain_force">[('employee_id.user_id','=',user.id)]</field>
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
</record>
<record id="employee_promotion_division_manager_rule" model="ir.rule">
<field name="name">Division/Dep Manager: views promotions of its subordinates</field>
<field name="model_id" ref="model_employee_promotions"/>
<field name="domain_force">['|','|',('employee_id.department_id.manager_id','=',False),
('employee_id.department_id.manager_id.user_id','child_of', [user.id]),
('employee_id.department_id.parent_id.manager_id.user_id','child_of', [user.id])]
</field>
<field name="groups"
eval="[(4, ref('hr_base.group_department_manager')),(4, ref('hr_base.group_division_manager'))]"/>
</record>
<record id="employee_promotion_all_rule" model="ir.rule">
<field name="name">Manager: views promotions of all employee</field>
<field name="model_id" ref="model_employee_promotions"/>
<field name="domain_force">[(1 ,'=', 1)]</field>
<field name="groups" eval="[(3, ref('hr_base.group_account_manager')),
(4, ref('hr_base.group_executive_manager')),
(4, ref('hr_base.group_general_manager')),
(4, ref('hr.group_hr_manager'))]"/>
</record>
<record id="employee_promotion_rule_comp_rule" model="ir.rule">
<field name="name">Employee promotions multi company rule</field>
<field name="model_id" ref="model_employee_promotions"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record id="employee_reward_rule_comp_rule" model="ir.rule">
<field name="name">Employee reward multi company rule</field>
<field name="model_id" ref="model_hr_employee_reward"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record id="hr_payslip_run_rule_comp_rule" model="ir.rule">
<field name="name">Employee hr payslip run multi company rule</field>
<field name="model_id" ref="model_hr_payslip_run"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record id="salary_rule_comp_rule" model="ir.rule">
<field name="name">Employee hr_salary_rule multi company rule</field>
<field name="model_id" ref="model_hr_salary_rule"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record id="hr_payroll_structure_comp_rule" model="ir.rule">
<field name="name">Employee hr_salary_rule multi company rule</field>
<field name="model_id" ref="model_hr_payroll_structure"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
</data> </data>
</odoo> </odoo>

View File

@ -100,7 +100,6 @@
parent="exp_hr_payroll.menu_hr_payroll_root" action="employee_advantage_list_action" sequence="10" parent="exp_hr_payroll.menu_hr_payroll_root" action="employee_advantage_list_action" sequence="10"
groups="hr_base.group_executive_manager,hr_base.group_general_manager,exp_hr_payroll.group_hr_payroll_user"/> groups="hr_base.group_executive_manager,hr_base.group_general_manager,exp_hr_payroll.group_hr_payroll_user"/>
/>
<!-- groups="hr.group_hr_user,hr.group_hr_manager,hr_base.group_executive_manager,hr_base.group_general_manager,exp_hr_payroll.group_hr_payroll_user"--> <!-- groups="hr.group_hr_user,hr.group_hr_manager,hr_base.group_executive_manager,hr_base.group_general_manager,exp_hr_payroll.group_hr_payroll_user"-->
<!-- --> <!-- -->

View File

@ -15,7 +15,7 @@
'exp_official_mission'], 'exp_official_mission'],
'data': [ 'data': [
'security/ir.model.access.csv', 'security/ir.model.access.csv',
'data/ir_rule.xml',
'views/hr_employee_view.xml', 'views/hr_employee_view.xml',
'views/hr_payroll_structure_view.xml', 'views/hr_payroll_structure_view.xml',
'views/hr_payroll_raise_view.xml', 'views/hr_payroll_raise_view.xml',

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="hr_payroll_promotion_setting_rule_comp_rule" model="ir.rule">
<field name="name">Employee hr payroll promotion setting multi company rule</field>
<field name="model_id" ref="model_hr_payroll_promotion_setting"/>
<field name="domain_force">['|', ('company_id','=',False), ('company_id', 'in', company_ids)]</field>
</record>
</odoo>

View File

@ -41,6 +41,7 @@ class HrPromotionPromotionSetting(models.Model):
exceptional_timeframe = fields.Integer('Years Between Two Exceptional Promotions') exceptional_timeframe = fields.Integer('Years Between Two Exceptional Promotions')
regular_timeframe = fields.Integer('Years Between Exceptional And Regular Promotion') regular_timeframe = fields.Integer('Years Between Exceptional And Regular Promotion')
company_id = fields.Many2one('res.company', string='Company', required=True)
@api.constrains('active', 'date_from', 'date_to') @api.constrains('active', 'date_from', 'date_to')
def check_active(self): def check_active(self):

View File

@ -17,6 +17,7 @@
<field name="date_from"/> <field name="date_from"/>
<field name="active"/> <field name="active"/>
<field name="date_to"/> <field name="date_to"/>
<field name="company_id"/>
</group> </group>
</group> </group>
<notebook> <notebook>
@ -98,6 +99,7 @@
<field name="date_from"/> <field name="date_from"/>
<field name="date_to"/> <field name="date_to"/>
<field name="active"/> <field name="active"/>
<field name="company_id"/>
</tree> </tree>
</field> </field>
</record> </record>

View File

@ -22,6 +22,7 @@
"security/ir.model.access.csv", "security/ir.model.access.csv",
"data/ir_sequence.xml", "data/ir_sequence.xml",
"data/ir_cron.xml", "data/ir_cron.xml",
"data/ir_rule.xml",
# "views/assets_document_view.xml", # "views/assets_document_view.xml",
"views/hr_base_view.xml", "views/hr_base_view.xml",
"views/employee_iqama_renewal_view.xml", "views/employee_iqama_renewal_view.xml",

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="employee_iqama_renewal_rule_comp_rule" model="ir.rule">
<field name="name">Employee iqama renewal multi company rule</field>
<field name="model_id" ref="model_employee_iqama_renewal"/>
<field name="domain_force">['|', ('company_id','=',False), ('company_id', 'in', company_ids)]</field>
</record>
</odoo>

View File

@ -14,6 +14,7 @@ class EmployeeIqamaRenew(models.Model):
date = fields.Date() date = fields.Date()
line_ids = fields.One2many("employee.iqama.renewal.line", "line_id") line_ids = fields.One2many("employee.iqama.renewal.line", "line_id")
x_description = fields.Char() x_description = fields.Char()
company_id = fields.Many2one("res.company", string="Company", default=lambda self: self.env.user.company_id)
state = fields.Selection( state = fields.Selection(
[('draft', _('Draft')), ('submit', _('Submit')), ('hr_depart', _('HR Department')), [('draft', _('Draft')), ('submit', _('Submit')), ('hr_depart', _('HR Department')),
('effective_department', _('Effective_Department')), ('effective_department', _('Effective_Department')),
@ -196,7 +197,7 @@ class EmployeeIqamaRenewLine(models.Model):
renewal_fees = fields.Float(required=True, default=0) renewal_fees = fields.Float(required=True, default=0)
work_premint_fees = fields.Float(required=True, default=0) work_premint_fees = fields.Float(required=True, default=0)
total = fields.Float(readonly=True, compute="get_total_fees") total = fields.Float(readonly=True, compute="get_total_fees")
line_id = fields.Many2one(comodel_name="employee.iqama.renewal") line_id = fields.Many2one("employee.iqama.renewal", required=True, ondelete="cascade")
iqama_new_expiry = fields.Date() iqama_new_expiry = fields.Date()
account_id = fields.Many2one("account.account") account_id = fields.Many2one("account.account")
account_id2 = fields.Many2one("account.account") account_id2 = fields.Many2one("account.account")

View File

@ -121,6 +121,8 @@
attrs="{'readonly':[('state','!=','draft')]}"/> attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="date" string="Date" widget="date" required="True" <field name="date" string="Date" widget="date" required="True"
attrs="{'readonly':[('state','!=','draft')]}"/> attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="company_id" string="Company" required="True"
attrs="{'readonly':[('state','!=','draft')]}"/>
</group> </group>
<field name="line_ids" string="Employees"> <field name="line_ids" string="Employees">
<tree editable="bottom"> <tree editable="bottom">
@ -170,6 +172,7 @@
<field name="name" string="Ref"/> <field name="name" string="Ref"/>
<field name="x_description" string="Description"/> <field name="x_description" string="Description"/>
<field name="line_ids" string="Employees"/> <field name="line_ids" string="Employees"/>
<field name="company_id" string="Company"/>
<field name="date" string="Date" widget="date"/> <field name="date" string="Date" widget="date"/>
<field name="state" string="State"/> <field name="state" string="State"/>
</tree> </tree>

View File

@ -9,6 +9,7 @@
"data": [ "data": [
"security/ir.model.access.csv", "security/ir.model.access.csv",
"data/data.xml", "data/data.xml",
"data/ir_rule.xml",
"data/ir_cron.xml", "data/ir_cron.xml",
"data/mail_template.xml", "data/mail_template.xml",
"views/employee_check_list_view.xml", "views/employee_check_list_view.xml",

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="hr_employee_document_rule_comp_rule" model="ir.rule">
<field name="name">Employee hr employee document multi company rule</field>
<field name="model_id" ref="model_hr_employee_document"/>
<field name="domain_force">['|', ('company_id','=',False), ('company_id', 'in', company_ids)]</field>
</record>
</odoo>

View File

@ -96,7 +96,7 @@ class HrEmployeeDocument(models.Model):
specialization = fields.Char(string="Specialization") specialization = fields.Char(string="Specialization")
category = fields.Many2one(comodel_name="membership.categorys",string="Category") category = fields.Many2one(comodel_name="membership.categorys",string="Category")
company_id = fields.Many2one('res.company',string="Company", default=lambda self: self.env.user.company_id) company_id = fields.Many2one('res.company',string="Company", related="employee_ref.company_id", store=True)
employee_number = fields.Char(related="employee_ref.contract_id.name", copy=False, string='Employee Number') employee_number = fields.Char(related="employee_ref.contract_id.name", copy=False, string='Employee Number')

View File

@ -56,7 +56,7 @@ class hr_exit_return(models.Model):
iqama_end_date = fields.Date(related="employee_id.iqama_number.expiry_date",string='Identity End Date', readonly=True) iqama_end_date = fields.Date(related="employee_id.iqama_number.expiry_date",string='Identity End Date', readonly=True)
iqama_number = fields.Char(related="employee_id.iqama_number.iqama_id",string='Identity Number', readonly=True) iqama_number = fields.Char(related="employee_id.iqama_number.iqama_id",string='Identity Number', readonly=True)
company_id = fields.Many2one(related="employee_id.company_id", store=True)
# @api.onchange('employee_id') # @api.onchange('employee_id')
# def _get_leave_request_domain(self): # def _get_leave_request_domain(self):
# self.leave_request_id = False # self.leave_request_id = False

View File

@ -47,6 +47,7 @@ class hr_request_visa(models.Model):
account_move_id = fields.Many2one(comodel_name='account.move') account_move_id = fields.Many2one(comodel_name='account.move')
account_journal_id = fields.Many2one(comodel_name='account.journal') account_journal_id = fields.Many2one(comodel_name='account.journal')
account_debit_id = fields.Many2one(comodel_name='account.account') account_debit_id = fields.Many2one(comodel_name='account.account')
company_id = fields.Many2one(related="employee_id.company_id", store=True)
def request(self): def request(self):
self.state = 'request' self.state = 'request'

View File

@ -28,6 +28,12 @@
(4, ref('hr_base.group_government_relations')), (4, ref('hr_base.group_government_relations')),
]"/> ]"/>
</record> </record>
<record id="hr_exit_return_comp_rule" model="ir.rule">
<field name="name">Employee hr_exit_return multi company rule</field>
<field name="model_id" ref="model_hr_exit_return"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<!--#########################################Request Visa<###########################--> <!--#########################################Request Visa<###########################-->
<record id="hr_request_visa_employee_rule" model="ir.rule"> <record id="hr_request_visa_employee_rule" model="ir.rule">
@ -37,6 +43,12 @@
<field name="groups" eval="[(4, ref('base.group_user'))]"/> <field name="groups" eval="[(4, ref('base.group_user'))]"/>
</record> </record>
<record id="hr_request_visa_comp_rule" model="ir.rule">
<field name="name">Employee hr_request_visa multi company rule</field>
<field name="model_id" ref="model_hr_request_visa"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record id="hr_request_visa_manager_rule" model="ir.rule"> <record id="hr_request_visa_manager_rule" model="ir.rule">
<field name="name"> Manager: views Request Visa of its subordinates </field> <field name="name"> Manager: views Request Visa of its subordinates </field>
<field name="model_id" ref="model_hr_request_visa"/> <field name="model_id" ref="model_hr_request_visa"/>

View File

@ -54,7 +54,7 @@
<field name="name">Leaves multi company rule</field> <field name="name">Leaves multi company rule</field>
<field name="model_id" ref="model_hr_holidays_status"/> <field name="model_id" ref="model_hr_holidays_status"/>
<field name="global" eval="True"/> <field name="global" eval="True"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','in',[user.company_id.id])]</field> <field name="domain_force">['|',('company_id','=',False),('company_id','in',company_ids)]</field>
</record> </record>
</odoo> </odoo>