From 6c3b77472f0472725a3b52892fe118f7a9561d34 Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Thu, 17 Jan 2019 11:37:38 -0800 Subject: [PATCH] Initial commit of `hr_payroll_slip_ytd` for 11.0 --- hr_payroll_slip_ytd/__init__.py | 1 + hr_payroll_slip_ytd/__manifest__.py | 18 ++++++++++++++++++ hr_payroll_slip_ytd/models/__init__.py | 1 + hr_payroll_slip_ytd/models/payslip.py | 19 +++++++++++++++++++ hr_payroll_slip_ytd/views/payslip_views.xml | 14 ++++++++++++++ 5 files changed, 53 insertions(+) create mode 100755 hr_payroll_slip_ytd/__init__.py create mode 100755 hr_payroll_slip_ytd/__manifest__.py create mode 100644 hr_payroll_slip_ytd/models/__init__.py create mode 100644 hr_payroll_slip_ytd/models/payslip.py create mode 100644 hr_payroll_slip_ytd/views/payslip_views.xml diff --git a/hr_payroll_slip_ytd/__init__.py b/hr_payroll_slip_ytd/__init__.py new file mode 100755 index 00000000..0650744f --- /dev/null +++ b/hr_payroll_slip_ytd/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/hr_payroll_slip_ytd/__manifest__.py b/hr_payroll_slip_ytd/__manifest__.py new file mode 100755 index 00000000..52aaf5f7 --- /dev/null +++ b/hr_payroll_slip_ytd/__manifest__.py @@ -0,0 +1,18 @@ +{ + 'name': 'Payroll Report Year to Date', + 'author': 'Hibou Corp. ', + 'version': '11.0.1.0.0', + 'category': 'Human Resources', + 'sequence': 95, + 'summary': 'Show YTD computations on Payslip Report', + 'description': """ +Show Year to Date (YTD) computations on Payslip Report. + """, + 'website': 'https://hibou.io/', + 'depends': ['hr_payroll'], + 'data': [ + 'views/payslip_views.xml', + ], + 'installable': True, + 'application': False, +} diff --git a/hr_payroll_slip_ytd/models/__init__.py b/hr_payroll_slip_ytd/models/__init__.py new file mode 100644 index 00000000..305e17f9 --- /dev/null +++ b/hr_payroll_slip_ytd/models/__init__.py @@ -0,0 +1 @@ +from . import payslip diff --git a/hr_payroll_slip_ytd/models/payslip.py b/hr_payroll_slip_ytd/models/payslip.py new file mode 100644 index 00000000..44a4a59c --- /dev/null +++ b/hr_payroll_slip_ytd/models/payslip.py @@ -0,0 +1,19 @@ +from odoo import models + + +class Payslip(models.Model): + _inherit = 'hr.payslip' + + def ytd(self, code, allow_draft=False): + to_date = self.date_to + from_date = self.date_to[:4] + '-01-01' + state_allowed = ('done', 'verify') if not allow_draft else ('done', 'verify', 'draft') + self.env.cr.execute(""" + SELECT sum(total) as sum + FROM hr_payslip as hp + JOIN hr_payslip_line as pi ON hp.id = pi.slip_id + WHERE hp.employee_id = %s + AND hp.state in %s + AND hp.date_to >= %s AND hp.date_to <= %s AND pi.code = %s""", + (self.employee_id.id, state_allowed, from_date, to_date, code)) + return self.env.cr.fetchone()[0] or 0.0 diff --git a/hr_payroll_slip_ytd/views/payslip_views.xml b/hr_payroll_slip_ytd/views/payslip_views.xml new file mode 100644 index 00000000..be97b94f --- /dev/null +++ b/hr_payroll_slip_ytd/views/payslip_views.xml @@ -0,0 +1,14 @@ + + + + \ No newline at end of file