diff --git a/addons/l10n_be_hr_payroll/models/l10n_be_hr_payroll.py b/addons/l10n_be_hr_payroll/models/l10n_be_hr_payroll.py index e8bfc7e1673..fa25a65d8d8 100644 --- a/addons/l10n_be_hr_payroll/models/l10n_be_hr_payroll.py +++ b/addons/l10n_be_hr_payroll/models/l10n_be_hr_payroll.py @@ -176,6 +176,16 @@ class HrContract(models.Model): contract.double_holidays = contract.wage * 0.92 contract.thirteen_month = contract.wage + @api.onchange('transport_mode') + def _onchange_transport_mode(self): + if self.transport_mode != 'company_car': + self.fuel_card = 0 + self.company_car_total_depreciated_cost = 0 + if self.transport_mode != 'others': + self.others_reimbursed_amount = 0 + if self.transport_mode != 'public_transports': + self.public_transport_reimbursed_amount = 0 + @api.onchange('mobile', 'mobile_plus') def _onchange_mobile(self): if self.mobile_plus and not self.mobile: diff --git a/addons/l10n_be_hr_payroll_fleet/models/hr_contract.py b/addons/l10n_be_hr_payroll_fleet/models/hr_contract.py index 7f802498934..f774eaa0436 100644 --- a/addons/l10n_be_hr_payroll_fleet/models/hr_contract.py +++ b/addons/l10n_be_hr_payroll_fleet/models/hr_contract.py @@ -46,6 +46,13 @@ class HrContract(models.Model): self.car_id = self.env['fleet.vehicle'].search([('driver_id', '=', self.employee_id.address_home_id.id)], limit=1) return {'domain': {'car_id': self._get_available_cars_domain()}} + @api.onchange('transport_mode') + def _onchange_transport_mode(self): + super(HrContract, self)._onchange_transport_mode() + if self.transport_mode != 'company_car': + self.car_id = False + self.new_car_model_id = False + def _get_available_cars_domain(self): return ['|', ('driver_id', '=', False), ('driver_id', '=', self.employee_id.address_home_id.id)]