Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
2 Odpowiedzi
2527 Widoki

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 .

Awatar
Odrzuć
Najlepsza odpowiedź

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)

Awatar
Odrzuć
Najlepsza odpowiedź

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

Awatar
Odrzuć

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 !!')

Powiązane posty Odpowiedzi Widoki Czynność
2
wrz 18
7174
9
mar 16
61102
1
mar 15
4934
1
mar 15
5654
2
mar 15
4670