12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- # -*- coding: utf-8 -*-
- from openerp import api, fields, models
- from openerp.exceptions import except_orm
- class HrPayslip(models.Model):
- _inherit = 'hr.payslip'
- @api.model
- def recompute_sheet(self, values):
- payslip = self.env['hr.payslip'].browse(values)
- payslip_worked = self.env['hr.payslip.worked_days'].search([('payslip_id', '=' ,payslip.id)])
- days = 0
- for worked in payslip_worked:
- days = days + worked.number_of_days
- worked_days = {
- 'name': 'Faltas total',
- 'code': 'FALTAS',
- 'number_of_days': days,
- 'number_of_hours': 0,
- 'payslip_id': payslip.id,
- 'contract_id': payslip.contract_id.id,
- 'sequence': 10
- }
- line = self.env['hr.payslip.worked_days'].create(worked_days)
- payslip.compute_sheet()
- line.unlink()
- return True if payslip else False
- @api.model
- def join_payslip_faults(self, values):
- payslip = self.env['hr.payslip'].browse(values['id'])
- new_line = self.env['hr.payslip.worked_days']
- if values['faultsDays'] > 0:
- payslip_worked_days = {
- 'name': values['faultsDescri'] if values['faultsDescri'] else "Falta",
- 'code': 'FALTAS',
- 'number_of_days': values['faultsDays'],
- 'number_of_hours': 0,
- 'payslip_id': payslip.id,
- 'contract_id': payslip.contract_id.id,
- 'sequence': 10
- }
- new_line.create(payslip_worked_days)
- recompute_sheet = self.recompute_sheet(values['id'])
- return True if recompute_sheet else False
|