27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
from odoo import models, fields, api, Command, _
|
|
|
|
|
|
class HrPayslip(models.Model):
|
|
_inherit = 'hr.payslip'
|
|
|
|
def action_print_payslip_cnai(self):
|
|
return self.env.ref('l10n_cnai_hr_payroll.action_report_payslip_cnai').report_action(self)
|
|
|
|
|
|
@api.depends('employee_id', 'contract_id', 'struct_id', 'date_from', 'date_to')
|
|
def _compute_input_line_ids(self):
|
|
res = super()._compute_input_line_ids()
|
|
for slip in self:
|
|
if slip.struct_id.input_line_type_ids:
|
|
lines_to_remove = slip.input_line_ids.filtered(lambda l: l.input_type_id.is_auto)
|
|
input_line_vals = [Command.unlink(line.id) for line in lines_to_remove]
|
|
for input_type in slip.struct_id.input_line_type_ids:
|
|
if input_type.is_auto:
|
|
input_line_vals.append(Command.create({
|
|
'name': input_type.name,
|
|
'input_type_id': input_type.id,
|
|
}))
|
|
slip.update({'input_line_ids': input_line_vals})
|