From 2a4b883b176f509fe9bca69876fe7a902d046f0a Mon Sep 17 00:00:00 2001 From: Yannick Tivisse Date: Thu, 14 Feb 2019 05:22:57 +0000 Subject: [PATCH] [FIX] hr_payroll: Make some methods private --- addons/hr_payroll/models/hr_benefit.py | 14 +++++++------- addons/hr_payroll/models/hr_employee.py | 6 +++--- addons/hr_payroll/models/hr_leave.py | 8 ++++---- addons/hr_payroll/models/hr_payslip.py | 2 +- addons/hr_payroll/models/resource.py | 2 +- addons/hr_payroll/tests/test_benefit.py | 12 ++++++------ 6 files changed, 22 insertions(+), 22 deletions(-) diff --git a/addons/hr_payroll/models/hr_benefit.py b/addons/hr_payroll/models/hr_benefit.py index a46a4d65bcb..8109c759e75 100644 --- a/addons/hr_payroll/models/hr_benefit.py +++ b/addons/hr_payroll/models/hr_benefit.py @@ -64,13 +64,13 @@ class HrBenefit(models.Model): return super(HrBenefit, self).write(vals) @api.multi - def check_if_error(self): + def _check_if_error(self): if not self: return False undefined_type = self.filtered(lambda b: not b.benefit_type_id) undefined_type.write({'display_warning': True}) conflict = self._compute_schedule_conflicts() - conflict_with_leaves = self.compute_conflicts_leaves_to_approve() + conflict_with_leaves = self._compute_conflicts_leaves_to_approve() return undefined_type or conflict or conflict_with_leaves @api.multi @@ -94,7 +94,7 @@ class HrBenefit(models.Model): return conflict @api.multi - def compute_conflicts_leaves_to_approve(self): + def _compute_conflicts_leaves_to_approve(self): if not self: return False @@ -120,7 +120,7 @@ class HrBenefit(models.Model): }) return bool(conflicts) - def safe_duplicate_create(self, vals): + def _safe_duplicate_create(self, vals): """ Create benefit but silently abord if it already exists in the database (according to the _unique constraints). @return: new record if it didn't exist, empty recordset otherwise. @@ -147,7 +147,7 @@ class HrBenefit(models.Model): 'views': [[False, 'form']], } - def split_by_day(self): + def _split_by_day(self): """ Split the benefit by days and unlink the original benefit. @return recordset @@ -202,7 +202,7 @@ class HrBenefit(models.Model): leave_benefits = self.filtered(lambda b: b.benefit_type_id.is_leave) for benefit in attendance_benefits: - benefit = benefit.split_by_day() + benefit = benefit._split_by_day() benefit._duplicate_to_calendar_attendance() leave_benefits._duplicate_to_calendar_leave() @@ -253,7 +253,7 @@ class HrBenefit(models.Model): def action_validate(self, ids): benefits = self.env['hr.benefit'].search([('id', 'in', ids), ('state', '!=', 'validated')]) benefits.write({'display_warning': False}) - if not benefits.check_if_error(): + if not benefits._check_if_error(): benefits.write({'state': 'validated'}) benefits._duplicate_to_calendar() return True diff --git a/addons/hr_payroll/models/hr_employee.py b/addons/hr_payroll/models/hr_employee.py index 4570063ad91..1025eead194 100644 --- a/addons/hr_payroll/models/hr_employee.py +++ b/addons/hr_payroll/models/hr_employee.py @@ -38,7 +38,7 @@ class HrEmployee(models.Model): global_leaves = employee.resource_calendar_id.global_leave_ids for calendar_leave in emp_leaves | global_leaves: hr_leave = calendar_leave.holiday_id - hr_leave.copy_to_benefits() + hr_leave._copy_to_benefits() new_benefits = self.env['hr.benefit'] for contract in employee._get_contracts(date_start, date_stop): @@ -52,7 +52,7 @@ class HrEmployee(models.Model): # Attendances for interval in attendances: benefit_type_id = interval[2].mapped('benefit_type_id')[:1] or self.env.ref('hr_payroll.benefit_type_attendance') - new_benefits |= self.env['hr.benefit'].safe_duplicate_create({ + new_benefits |= self.env['hr.benefit']._safe_duplicate_create({ 'name': "%s: %s" % (benefit_type_id.name, employee.name), 'date_start': interval[0].astimezone(pytz.utc), 'date_stop': interval[1].astimezone(pytz.utc), @@ -61,4 +61,4 @@ class HrEmployee(models.Model): 'state': 'confirmed', }) - new_benefits.compute_conflicts_leaves_to_approve() + new_benefits._compute_conflicts_leaves_to_approve() diff --git a/addons/hr_payroll/models/hr_leave.py b/addons/hr_payroll/models/hr_leave.py index 403a508de1e..f311ce726dd 100644 --- a/addons/hr_payroll/models/hr_leave.py +++ b/addons/hr_payroll/models/hr_leave.py @@ -14,10 +14,10 @@ class HrLeave(models.Model): _inherit = 'hr.leave' @api.multi - def copy_to_benefits(self): + def _copy_to_benefits(self): for leave in self: benefit_type = leave.holiday_status_id.benefit_type_id - self.env['hr.benefit'].safe_duplicate_create({ + self.env['hr.benefit']._safe_duplicate_create({ 'name': "%s%s" % (benefit_type.name + ": " if benefit_type else "", leave.employee_id.name), 'date_start': leave.date_from, 'date_stop': leave.date_to, @@ -32,7 +32,7 @@ class HrLeave(models.Model): def _cancel_benefit_conflict(self): benefits = self.env['hr.benefit'].search([('leave_id', 'in', self.ids)]) if benefits: - self.copy_to_benefits() + self._copy_to_benefits() # create new benefits where the leave does not cover the full benefit benefits_intervals = Intervals(intervals=[(b.date_start, b.date_stop, b) for b in benefits]) @@ -48,7 +48,7 @@ class HrLeave(models.Model): benefit_start = interval[0] + relativedelta(seconds=1) if leave.date_to == interval[0] else interval[0] benefit_stop = interval[1] - relativedelta(seconds=1) if leave.date_from == interval[1] else interval[1] - self.env['hr.benefit'].safe_duplicate_create({ + self.env['hr.benefit']._safe_duplicate_create({ 'name': "%s: %s" % (benefit_type.name, employee.name), 'date_start': benefit_start, 'date_stop': benefit_stop, diff --git a/addons/hr_payroll/models/hr_payslip.py b/addons/hr_payroll/models/hr_payslip.py index d902987c3e2..930fc7b1fcd 100644 --- a/addons/hr_payroll/models/hr_payslip.py +++ b/addons/hr_payroll/models/hr_payslip.py @@ -162,7 +162,7 @@ class HrPayslip(models.Model): benefit_types = self.env['hr.benefit.type'].search([('code', '!=', False)]) for benefit_type in benefit_types: - hours = contract.employee_id.get_benefit_days_data(benefit_type, day_from, day_to)['hours'] + hours = contract.employee_id._get_benefit_days_data(benefit_type, day_from, day_to)['hours'] if hours: line = { 'name': benefit_type.name, diff --git a/addons/hr_payroll/models/resource.py b/addons/hr_payroll/models/resource.py index 6a68ed1b395..381b0789c16 100644 --- a/addons/hr_payroll/models/resource.py +++ b/addons/hr_payroll/models/resource.py @@ -42,7 +42,7 @@ class ResourceCalendarLeave(models.Model): class ResourceMixin(models.AbstractModel): _inherit = "resource.mixin" - def get_benefit_days_data(self, benefit_type, from_datetime, to_datetime, calendar=None): + def _get_benefit_days_data(self, benefit_type, from_datetime, to_datetime, calendar=None): """ By default the resource calendar is used, but it can be changed using the `calendar` argument. diff --git a/addons/hr_payroll/tests/test_benefit.py b/addons/hr_payroll/tests/test_benefit.py index 947a73e17f7..4862143cfe8 100644 --- a/addons/hr_payroll/tests/test_benefit.py +++ b/addons/hr_payroll/tests/test_benefit.py @@ -73,7 +73,7 @@ class TestBenefit(TestPayslipBase): 'date_stop': end, }) - benefits = benefit.split_by_day() + benefits = benefit._split_by_day() self.assertEqual(len(benefits), 3, "Benefit should be split in three") self.assertEqual(pytz.utc.localize(benefits[0].date_start), self.tz.localize(datetime.strptime('2015-11-01 09:00:00', '%Y-%m-%d %H:%M:%S'))) self.assertEqual(pytz.utc.localize(benefits[0].date_stop), self.tz.localize(datetime.strptime('2015-11-01 23:59:59', '%Y-%m-%d %H:%M:%S'))) @@ -94,7 +94,7 @@ class TestBenefit(TestPayslipBase): 'date_start': start, 'date_stop': end, }) - benefits = benefit.split_by_day() + benefits = benefit._split_by_day() self.assertEqual(len(benefits), 3, "Benefit should be split in three") self.assertEqual(pytz.utc.localize(benefits[0].date_start), self.tz.localize(datetime.strptime('2013-11-01 00:00:00', '%Y-%m-%d %H:%M:%S'))) self.assertEqual(pytz.utc.localize(benefits[0].date_stop), self.tz.localize(datetime.strptime('2013-11-01 23:59:59', '%Y-%m-%d %H:%M:%S'))) @@ -307,7 +307,7 @@ class TestBenefit(TestPayslipBase): def test_time_normal_benefit(self): # Normal attendances (global to all employees) - data = self.richard_emp.get_benefit_days_data(self.env.ref('hr_payroll.benefit_type_attendance'), self.start, self.end) + data = self.richard_emp._get_benefit_days_data(self.env.ref('hr_payroll.benefit_type_attendance'), self.start, self.end) self.assertEqual(data['hours'], 168.0) def test_time_extra_benefit(self): @@ -321,7 +321,7 @@ class TestBenefit(TestPayslipBase): 'date_stop': end, }) benef.action_validate(benef.ids) - data = self.richard_emp.get_benefit_days_data(self.benefit_type, self.start, self.end) + data = self.richard_emp._get_benefit_days_data(self.benefit_type, self.start, self.end) self.assertEqual(data['hours'], 7.0) def test_time_week_leave_benefit(self): @@ -336,7 +336,7 @@ class TestBenefit(TestPayslipBase): 'date_stop': end, }) leave_benef.action_validate(leave_benef.ids) - data = self.richard_emp.get_benefit_days_data(self.benefit_type_leave, self.start, self.end) + data = self.richard_emp._get_benefit_days_data(self.benefit_type_leave, self.start, self.end) self.assertEqual(data['hours'], 5.0, "It should equal the number of hours richard should have worked") def test_time_weekend_leave_benefit(self): @@ -351,7 +351,7 @@ class TestBenefit(TestPayslipBase): 'date_stop': end, }) leave_benef.action_validate(leave_benef.ids) - data = self.richard_emp.get_benefit_days_data(self.benefit_type_leave, self.start, self.end) + data = self.richard_emp._get_benefit_days_data(self.benefit_type_leave, self.start, self.end) self.assertEqual(data['hours'], 0.0, "It should equal the number of hours richard should have worked") def test_payslip_generation_with_leave(self):