from odoo import models, fields, api from odoo.exceptions import UserError, ValidationError,Warning class booking_room(models.Model): _name = 'booking.room' _description = 'booking room' name2 = fields.Char('name',required=True) name=fields.Char('room name',compute='_compute_room_name') description = fields.Text('description') capacity = fields.Integer('max capacity') available_seats = fields.Integer('available seats') location_id=fields.Many2one('booking.location', string='location') def _compute_room_name(self): for rec in self: rec.name='' if rec.name2: rec.name=rec.name2+'('+str(rec.capacity)+')' class booking_room_occupation(models.Model): _name = 'booking.room.occupation' _description = 'room occupation' room_id = fields.Many2one('booking.room', string='room') event_id=fields.Many2one('event.event',domain="[('date_begin','>=',context_today().strftime('%Y-%m-%d 00:00:00'))]") event_registration_id = fields.Many2one('event.registration', string='event registration',domain="['&',('event_id', '=', event_id),('room_id', '=', False),('event_id.booking_event', '=', True)]") name=fields.Char(related='event_registration_id.name') date_begin=fields.Datetime(related='event_registration_id.event_id.date_begin') date_end=fields.Datetime(related='event_registration_id.event_id.date_begin') @api.model def create(self,vals): res=super(booking_room_occupation, self).create(vals) #event_reg=self.env['booking.room.occupation'].search([]) event_reg=self.env['event.registration'].search([('id','=',int(res.event_registration_id))]) event_reg.room_id= res.room_id return res