[IMP] hr_base, *: activate multi-company for various custom models
This commit is contained in:
parent
59095475e2
commit
f8f1923a9f
|
|
@ -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()
|
||||||
|
|
@ -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"/>
|
||||||
|
|
|
||||||
|
|
@ -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',
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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):
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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"-->
|
||||||
<!-- -->
|
<!-- -->
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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',
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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):
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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",
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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")
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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",
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -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')
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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'
|
||||||
|
|
|
||||||
|
|
@ -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"/>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue