diff --git a/yuthon_hr_attendance/models/card_approval.py b/yuthon_hr_attendance/models/card_approval.py index 3aebfe5ec..0d7295ff2 100644 --- a/yuthon_hr_attendance/models/card_approval.py +++ b/yuthon_hr_attendance/models/card_approval.py @@ -58,18 +58,23 @@ class CardApprovals(models.Model): max_hour = int(max_hour_to) max_minute = int(max_hour_to * 10 % max_hour_to) for rec in self: - # if rec.replacement_time == 'work': - # rec.attendance_id.check_in = rec.attendance_id.check_in.replace(hour=min_hour, minute=min_minute) - timedelta(hours=8) - # if rec.replacement_time == 'quitting': - # rec.attendance_id.check_out = rec.attendance_id.check_in.replace(hour=max_hour, minute=max_minute) - timedelta(hours=8) - # if rec.replacement_time == 'all': - rec.attendance_id.check_in = rec.attendance_id.check_in.replace(hour=min_hour, minute=min_minute) - timedelta(hours=8) - rec.attendance_id.check_out = rec.attendance_id.check_in.replace(hour=max_hour, minute=max_minute) - timedelta(hours=8) + current_data = rec.attendance_id.current_data + current_datetime = datetime.combine(current_data, datetime.min.time()) + if rec.attendance_id.check_in: + rec.attendance_id.check_in = rec.attendance_id.check_in.replace(hour=min_hour, minute=min_minute) - timedelta(hours=8) + else: + rec.attendance_id.check_in = current_datetime.replace(hour=min_hour, minute=min_minute) - timedelta(hours=8) + if rec.attendance_id.check_out: + rec.attendance_id.check_out = rec.attendance_id.check_in.replace(hour=max_hour, minute=max_minute) - timedelta(hours=8) + else: + rec.attendance_id.check_out = current_datetime.replace(hour=min_hour, minute=min_minute) - timedelta(hours=8) + rec.attendance_id.is_approval = True rec.attendance_id.is_abnormal = False rec.attendance_id.is_no_card = False rec.attendance_id.is_early_card = False rec.attendance_id.is_late_card = False + @api.onchange('is_issues') def _onchange_is_issues(self): if self.is_issues: diff --git a/yuthon_hr_attendance/views/card_approval.xml b/yuthon_hr_attendance/views/card_approval.xml index 9fabf0c16..68e2a50d8 100644 --- a/yuthon_hr_attendance/views/card_approval.xml +++ b/yuthon_hr_attendance/views/card_approval.xml @@ -29,7 +29,7 @@ - +