def write(self, vals):
status_history_obj = self.env['hc.appointment.participant.status.history']
res = super(AppointmentParticipant, self).write(vals)
status_history_record_ids = status_history_obj.search([('end_date','=', False)])
if status_history_record_ids:
if vals.get('status') and status_history_record_ids[0].status != vals.get('status'):
for status_history in status_history_record_ids:
status_history.end_date = datetime.strftime(datetime.today(), DTF)
time_diff = datetime.today() - datetime.strptime(status_history.start_date, DTF)
if time_diff:
days = str(time_diff).split(',')
if days and len(days) > 1:
status_history.time_diff_day = str(days[0])
times = str(days[1]).split(':')
if times and times > 1:
status_history.time_diff_hour = str(times[0])
status_history.time_diff_min = str(times[1])
status_history.time_diff_sec = str(times[2])
else:
times = str(time_diff).split(':')
if times and times > 1:
status_history.time_diff_hour = str(times[0])
status_history.time_diff_min = str(times[1])
status_history.time_diff_sec = str(times[2])
status_history_vals = {
'participant_id': self.id,
'status': vals.get('status'),
'start_date': datetime.today()
}
status_history_obj.create(status_history_vals)
return res
评论列表
文章目录