Files

34 lines
2.1 KiB
Python

from odoo import api, models, fields
class HrVersion(models.Model):
_inherit = 'hr.version'
l10n_sa_housing_allowance = fields.Monetary(string='Saudi Housing Allowance', groups="hr_payroll.group_hr_payroll_user", tracking=True)
l10n_sa_transportation_allowance = fields.Monetary(string='Saudi Transportation Allowance', groups="hr_payroll.group_hr_payroll_user", tracking=True)
l10n_sa_other_allowances = fields.Monetary(string='Saudi Other Allowances', groups="hr_payroll.group_hr_payroll_user", tracking=True)
l10n_sa_number_of_days = fields.Integer(string='Number of Annual leave days', default=21, groups="hr_payroll.group_hr_payroll_user",
help='Number of Annual leave days per year that the employee is eligible to, it is used to compute the monthly provision for the annual leave days')
l10n_sa_wps_description = fields.Char(string="WPS Payment Description", groups="hr_payroll.group_hr_payroll_user", tracking=True)
l10n_sa_iqama_annual_amount = fields.Monetary(string="Iqama Annual Amount", groups="hr_payroll.group_hr_payroll_user", tracking=True)
l10n_sa_medical_insurance_annual_amount = fields.Monetary(string="Medical Insurance Annual Amount", groups="hr_payroll.group_hr_payroll_user", tracking=True)
l10n_sa_work_permit_annual_amount = fields.Monetary(string="Work Permit Annual Amount", groups="hr_payroll.group_hr_payroll_user", tracking=True)
_l10n_sa_hr_payroll_number_of_days_constraint = models.Constraint(
'CHECK(l10n_sa_number_of_days >= 0)',
"Number of Days must be equal to or greater than 0",
)
@api.model
def _get_whitelist_fields_from_template(self):
whitelisted_fields = super()._get_whitelist_fields_from_template() or []
if self.env.company.country_id.code == "SA":
whitelisted_fields += [
"l10n_sa_housing_allowance",
"l10n_sa_number_of_days",
"l10n_sa_other_allowances",
"l10n_sa_transportation_allowance",
"l10n_sa_wps_description",
]
return whitelisted_fields