Hello,
I need to get out of the equipment of a list following the following conditions:
A = is_bookable
B = maintenance.schedule_date
C = maintenance.end_date
D = context.schedule_date
E = context.end_date
F = maintenance_ids
So i need :
(A = true and F = false) or ( A = true and ( (B>E or C<D) or (B<E or C>D) ) )
I have tried this but I can book a equipment when I want to... The restriction of date are not taken...
[
"|",
"&",("is_bookable","=",True),("maintenance_ids","=",False),
"&",("is_bookable","=",True),
[
"|",["maintenance_ids.schedule_date",">",context.get('end_date')],["maintenance_ids.end_date","<",context.get('schedule_date')],
"|",["maintenance_ids.schedule_date","<",context.get('end_date')],["maintenance_ids.end_date",">",context.get('schedule_date')]
]
]
maintenance_ids is a o2m or m2m field? to which record schedule_date belongs to if there are many?
Hi Yogesh, thanks for your interest! :)
maintenance_ids is a o2m. One equipment but multiple booking.
Its a module for the booking of equipment so i need to check if the equipment was free for the date the user want. For exemple i have 2 phone. I have a phone book from 01/01/2018 to 31/01/2018. It must be that this phone is not available if someone wants to book a phone of the 04/01/2018 to 08/01/2018
sorry for my english... I hope you understand what i mean..
I don't understand (A = true and F = false) or ( A = true and ( (B>E or C<D) or (B<E or C>D) ) )
Because for me, this equals to :
(A = true) AND (F = false or B > E or C < D or B < E or C > D)
That's a non-sense. I think you should say :
(A = true) AND (F = false OR (B > E and C < D) OR (B < E AND C > D))
That's right ?
Hi Quentin,
Verbatim I need to be able to book a equipment if its date of the beginning and end of its reservation before or after a reservation already existing. No possible overlap
so if I have 3 equipment:
the First E1 is book of the 02/01/2018 to 04/01/2018
The second E2 is book of the 06/01/2018 to 10/01/2018
The third E3 is book of the 02/01/2018 to 10/01/2018
My user like to book a equipment of the 02/01/2018 to 05/02/2018 therefore only E2 can be book.
By against if the user like book of the 01/01/2018 to 11/01/2018 No equipment cannot be Book
It is more clear?