From 7e2e2854f5ac3d583819f3767efd8cd503722f7d Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Sun, 15 Nov 2020 14:43:59 -0800 Subject: [PATCH] [IMP] l10n_us_hr_payroll: Hibou Professional hooks. --- l10n_us_hr_payroll/__manifest__.py | 1 + l10n_us_hr_payroll/models/__init__.py | 1 + l10n_us_hr_payroll/models/update.py | 26 ++++++++++++++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 l10n_us_hr_payroll/models/update.py diff --git a/l10n_us_hr_payroll/__manifest__.py b/l10n_us_hr_payroll/__manifest__.py index aaea6590..32c55af1 100644 --- a/l10n_us_hr_payroll/__manifest__.py +++ b/l10n_us_hr_payroll/__manifest__.py @@ -8,6 +8,7 @@ 'depends': [ 'hr_payroll', 'hr_contract_reports', + 'hibou_professional', ], 'description': """ United States of America - Payroll Rules. diff --git a/l10n_us_hr_payroll/models/__init__.py b/l10n_us_hr_payroll/models/__init__.py index 8611b49a..bb27e002 100644 --- a/l10n_us_hr_payroll/models/__init__.py +++ b/l10n_us_hr_payroll/models/__init__.py @@ -4,4 +4,5 @@ from . import browsable_object from . import hr_contract from . import hr_payslip from . import res_config_settings +from . import update from . import us_payroll_config diff --git a/l10n_us_hr_payroll/models/update.py b/l10n_us_hr_payroll/models/update.py new file mode 100644 index 00000000..2184abef --- /dev/null +++ b/l10n_us_hr_payroll/models/update.py @@ -0,0 +1,26 @@ +# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details. + +import datetime +from odoo import fields, models + + +class PublisherWarrantyContract(models.AbstractModel): + _inherit = 'publisher_warranty.contract' + + def _get_hibou_modules(self): + modules = super(PublisherWarrantyContract, self)._get_hibou_modules() + try: + today_date = fields.Date.today() + last_thirty_date = today_date - datetime.timedelta(days=30) + today = fields.Date.to_string(today_date + datetime.timedelta(days=1)) # Dates vs Datetimes, pad out a day + last_thirty = fields.Date.to_string(last_thirty_date) + self.env.cr.execute( + 'SELECT COUNT(DISTINCT(employee_id)) FROM hr_payslip WHERE create_date BETWEEN %s AND %s', + (last_thirty, today)) + employee_count = self.env.cr.fetchone()[0] or 0 + modules.update({ + 'l10n_us_hr_payroll': employee_count, + }) + except: + pass + return modules