日程管理
This commit is contained in:
@@ -125,7 +125,7 @@ class YuthonWillTask(models.Model):
|
||||
for record in will_ids:
|
||||
record._check_task_time()
|
||||
|
||||
@api.constrains('start_date', 'request_hour_from', 'request_hour_to')
|
||||
@api.constrains('start_date', 'request_hour_from', 'request_hour_to', 'task_type', 'room_booking_id')
|
||||
def _check_task_time(self):
|
||||
for record in self:
|
||||
date_str = ""
|
||||
@@ -160,7 +160,14 @@ class YuthonWillTask(models.Model):
|
||||
from_time = hour_mapping.get(record.request_hour_from, "")
|
||||
to_time = hour_mapping.get(record.request_hour_to, "")
|
||||
if date_str and from_time and to_time:
|
||||
record.task_time = f"{date_str} {record.task_week} {from_time}"
|
||||
base_time = f"{date_str} {record.task_week} {from_time}"
|
||||
# 会议类型:拼接会议室预订的结束时间
|
||||
if record.task_type == 'meet' and record.room_booking_id and record.room_booking_id.stop_datetime:
|
||||
stop_local = record.room_booking_id.stop_datetime + timedelta(hours=8)
|
||||
stop_str = stop_local.strftime("%H:%M")
|
||||
record.task_time = f"{base_time}-{stop_str}"
|
||||
else:
|
||||
record.task_time = base_time
|
||||
else:
|
||||
record.task_time = ""
|
||||
|
||||
@@ -276,7 +283,7 @@ class YuthonWillTask(models.Model):
|
||||
def write(self, vals):
|
||||
"""修改日程时,先删除旧提醒任务,再创建新的"""
|
||||
res = super(YuthonWillTask, self).write(vals)
|
||||
key_fields = ['start_date', 'request_hour_from', 'task_time_ids', 'employee_ids', 'employee_ids2']
|
||||
key_fields = ['start_date', 'request_hour_from', 'task_time_ids', 'employee_ids', 'employee_ids2', 'task_type', 'room_booking_id']
|
||||
if any(field in vals for field in key_fields):
|
||||
self._sync_dates_task()
|
||||
return res
|
||||
|
||||
Reference in New Issue
Block a user