diff --git a/yuthon_holiday/models/inherit_hr_leave.py b/yuthon_holiday/models/inherit_hr_leave.py index a4a36577b..43da85e97 100644 --- a/yuthon_holiday/models/inherit_hr_leave.py +++ b/yuthon_holiday/models/inherit_hr_leave.py @@ -249,12 +249,6 @@ class HrLeave(models.Model): if not self.env.context.get('no_change_request_unit_hours'): super()._compute_request_unit_hours() - @api.constrains('number_of_hours_text') - def _check_number_of_hours_text(self): - if self.number_of_hours_text: - if self.number_of_hours_text == 0: - raise UserError('请假天数不能为0') - @api.constrains('date_from', 'date_to', 'employee_id') def _check_date(self): if self.env.context.get('leave_skip_date_check', False): @@ -411,6 +405,11 @@ class HolidaysRequestBatch(models.Model): if self.employee_id: if self.hour_leave_ids and not self.leave_ids: + for line in self.hour_leave_ids: + if line.request_date_from and line.request_hour_to: + match = re.search(r'(\d+(?:\.\d+)?)', line.number_of_hours_text) + if float(match.group(1)) == 0: + raise UserError("请假小时数不能为0!") # 只按小时请假的情况 first_hour_leave = self.hour_leave_ids[0] date_str = first_hour_leave.request_date_from.strftime('%Y/%m/%d')