Files

26 lines
1.0 KiB
Python

from odoo import api, fields, models
class Payslip(models.Model):
_inherit = 'hr.payslip'
@api.model
def get_inputs(self, contracts, date_from, date_to):
res = super(Payslip, self).get_inputs(contracts, date_from, date_to)
for contract in contracts:
for input in res:
if input.get('contract_id') == contract.id and input.get('code') == 'BADGES':
input['amount'] = self._get_input_badges(contract, date_from, date_to)
return res
def _get_input_badges(self, contract, date_from, date_to):
amount = 0.0
for bu in contract.employee_id.badge_ids.filtered(lambda bu: bu.badge_id.payroll_type == 'fixed'):
amount += bu.badge_id.payroll_amount
for bu in contract.employee_id.badge_ids.filtered(lambda bu: (
bu.badge_id.payroll_type == 'period'
and date_from <= bu.create_date.date() <= date_to
)):
amount += bu.badge_id.payroll_amount
return amount