Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
2 Ответы
2516 Представления

Hello I am make meeting room app so I have query I have six conference room so how to make sure that Two people not book one Conference Room on same Date and time .

Аватар
Отменить
Лучший ответ

Consider that you have created a model(meeting.room) for meeting room where it has one2many field(booking_ids of room.booking.line) for take bookings for perticular room.So, in room.booking.line you can add constrains on date and time.Check below example:

@api.constrains('booking_date','start_time','end_time')
def check_booking(self):
bookings = self.env['meeting.room'].search([('room_id','=',self.room_id),('id','!=',self.id)])

if bookings:
for booking in bookings:
if booking.booking_date == self.booking_date:
if (booking.start_time <= self.start_time and booking.end_time >= self.start_time) \
or (booking.start_time <= self.end_time and booking.end_time >= self.end_time) :
raise ValidationError('Room is already booked')

Thanks, (Siddharth Tarpada)

Аватар
Отменить
Лучший ответ

Hello Prince,

You can try the code below to see if it helps you,

Find Code in Comment. 

Please do not hesitate to contact us if you want further customisation !! 

Thanks & Regards,
Email: odoo@aktivsoftware.com
Skype: kalpeshmaheshwari

Аватар
Отменить

def create(self, vals):
# Try with create method, anytime a user tries to reserve a conference room; if the conference room is available, let the user to create; otherwise, raise a warning.
conference_room_ids = self.search([('conference_room_field', '=',vals['conference_room_field'])])
for room_id in conference_room_ids:
room_data = self.browse(room_id)
# If condition to check availability of conference room
if ((vals['start_date']>= room_data.start_date) and (vals['end_date'] <= room_data.start_date)) or (vals['start_date'] >= room_data.end_date):
print(room_data)
# Hence raise warning that conference room is already booked
else:
raise Warning('Conference Room is Already Booked !!')

Related Posts Ответы Просмотры Активность
2
сент. 18
7173
9
мар. 16
61100
1
мар. 15
4933
1
мар. 15
5653
2
мар. 15
4670