From d562b8910d482e2be816ae121f7c28c5aba7c81a Mon Sep 17 00:00:00 2001 From: Elouan Le Bars Date: Thu, 23 Jan 2020 15:38:27 +0100 Subject: [PATCH] [FIX] b_shift : created shifts not updating counters If one shift is directly created as "Attended", workers' shifts counters are not updated. They are only updated on state transitions. --- beesdoo_shift/models/attendance_sheet.py | 26 +++++++++--------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/beesdoo_shift/models/attendance_sheet.py b/beesdoo_shift/models/attendance_sheet.py index cd98dfe..742a852 100644 --- a/beesdoo_shift/models/attendance_sheet.py +++ b/beesdoo_shift/models/attendance_sheet.py @@ -503,31 +503,25 @@ class AttendanceSheet(models.Model): if len(non_assigned_shifts): actual_shift = non_assigned_shifts[0] - actual_shift.write( - { - "state": added_shift.state, - "worker_id": added_shift.worker_id.id, - "is_regular": not is_compensation - and is_regular_worker, - "is_compensation": is_compensation - and is_regular_worker, - } - ) else: actual_shift = self.env["beesdoo.shift.shift"].create( { "name": _("%s (added)" % self.name), "task_type_id": added_shift.task_type_id.id, - "state": added_shift.state, - "worker_id": added_shift.worker_id.id, "start_time": self.start_time, "end_time": self.end_time, - "is_regular": not is_compensation - and is_regular_worker, - "is_compensation": is_compensation - and is_regular_worker, } ) + actual_shift.write( + { + "state": added_shift.state, + "worker_id": added_shift.worker_id.id, + "is_regular": not is_compensation + and is_regular_worker, + "is_compensation": is_compensation + and is_regular_worker, + } + ) added_shift.task_id = actual_shift.id self.validated_by = user