Files
gzth/yuthon_will_task/models/inherit_room_booking.py
T
2025-12-12 10:26:39 +08:00

41 lines
1.6 KiB
Python

from odoo import api, fields, models
class InheritRoomBooking(models.Model):
_inherit = 'room.booking'
@api.model
def create(self, vals):
task_time_ids = self.env['yuthon.task.time'].search([('name', '=', '30分钟')])
new_record = super(InheritRoomBooking, self).create(vals)
employee_list = []
if new_record.room_users_ids:
for user_id in new_record.room_users_ids:
if user_id.employee_id:
employee_list.append(user_id.employee_id.id)
def get_hour_selection(datetime_obj):
if not datetime_obj:
return None
hour = datetime_obj.hour
minute = datetime_obj.minute
return str(hour) if minute == 0 else f"{hour}.5"
if task_time_ids:
start_datetime = new_record.start_datetime
start_date = start_datetime.date()
request_hour_from = get_hour_selection(new_record.start_datetime)
request_hour_to = get_hour_selection(new_record.end_datetime)
self.env['yuthon.will.task'].sudo().create({
'name': new_record.name,
'users_ids': [(6, 0, new_record.room_users_ids.ids)],
'employee_ids': [(6, 0, employee_list)],
'task_time_ids': [(6, 0, task_time_ids.ids)],
'start_date': start_date,
'request_hour_from': request_hour_from,
'request_hour_to': request_hour_to,
'address' : new_record.room_id.name,
'task_state': 'will',
})
return new_record