diff --git a/hr_payroll_attendance/models/hr_contract.py b/hr_payroll_attendance/models/hr_contract.py index 5fce9bd2..d49f437c 100755 --- a/hr_payroll_attendance/models/hr_contract.py +++ b/hr_payroll_attendance/models/hr_contract.py @@ -13,4 +13,4 @@ class HrContract(models.Model): for contract in self: if contract.paid_hourly_attendance: # only allow switch, not automatic switch 'back' - self.wage_type = 'hourly' + contract.wage_type = 'hourly' diff --git a/hr_payroll_attendance/models/hr_payslip.py b/hr_payroll_attendance/models/hr_payslip.py index 4fb651e4..8df33731 100755 --- a/hr_payroll_attendance/models/hr_payslip.py +++ b/hr_payroll_attendance/models/hr_payslip.py @@ -17,6 +17,7 @@ class HrPayslip(models.Model): payslip.attendance_count = len(payslip.attendance_ids) def _filter_worked_day_lines_values(self, worked_day_lines_values): + worked_day_lines_values = super()._filter_worked_day_lines_values(worked_day_lines_values) if self.contract_id.paid_hourly_attendance: original_work_type = self.env.ref('hr_work_entry.work_entry_type_attendance', raise_if_not_found=False) if original_work_type: @@ -42,7 +43,7 @@ class HrPayslip(models.Model): attendance_type = self.struct_id.type_id.default_work_entry_type_id if not attendance_type: # return early, include the "work calendar lines" - return res + return work_data work_data = self._pre_aggregate_attendance_data(work_data, attendance_type) return work_data diff --git a/hr_payroll_attendance/tests/test_payroll_attendance.py b/hr_payroll_attendance/tests/test_payroll_attendance.py index 3515a6d9..dc983f0e 100644 --- a/hr_payroll_attendance/tests/test_payroll_attendance.py +++ b/hr_payroll_attendance/tests/test_payroll_attendance.py @@ -4,10 +4,14 @@ from odoo.addons.hr_payroll_hibou.tests import common from odoo.exceptions import ValidationError -class TestUsPayslip(common.TestPayslip): +class TestAttendancePayslip(common.TestPayslip): def setUp(self): super().setUp() + self.work_type = self.env.ref('hr_attendance_work_entry.work_input_attendance') + self.overtime_rules = self.work_type.overtime_type_id + self.overtime_rules.hours_per_day = 0.0 + self.overtime_rules.multiplier = 1.5 self.test_hourly_wage = 21.5 self.employee = self._createEmployee() self.contract = self._createContract(self.employee, diff --git a/hr_payroll_attendance/views/hr_attendance_views.xml b/hr_payroll_attendance/views/hr_attendance_views.xml index c0da03f6..28a63e7f 100644 --- a/hr_payroll_attendance/views/hr_attendance_views.xml +++ b/hr_payroll_attendance/views/hr_attendance_views.xml @@ -8,7 +8,8 @@ - +