41 lines
1.6 KiB
Python
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
|