mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[IMP]pms: add avoid_availbility_check context to swap operations
This commit is contained in:
@@ -425,6 +425,7 @@ class PmsReservationLine(models.Model):
|
|||||||
).ids
|
).ids
|
||||||
if (
|
if (
|
||||||
record.occupies_availability
|
record.occupies_availability
|
||||||
|
and not self.env.context.get("avoid_availability_check", False)
|
||||||
and record.room_id.id
|
and record.room_id.id
|
||||||
in avail.get_rooms_not_avail(
|
in avail.get_rooms_not_avail(
|
||||||
checkin=record.date,
|
checkin=record.date,
|
||||||
|
|||||||
@@ -110,7 +110,14 @@ class ReservationSplitJoinSwapWizard(models.TransientModel):
|
|||||||
record.checkin + datetime.timedelta(days=x)
|
record.checkin + datetime.timedelta(days=x)
|
||||||
for x in range(0, (record.checkout - record.checkin).days)
|
for x in range(0, (record.checkout - record.checkin).days)
|
||||||
]:
|
]:
|
||||||
domain_lines = []
|
domain_lines = [
|
||||||
|
("occupies_availability", "=", True),
|
||||||
|
(
|
||||||
|
"pms_property_id",
|
||||||
|
"=",
|
||||||
|
record.reservation_id.pms_property_id.id,
|
||||||
|
),
|
||||||
|
]
|
||||||
if record.room_source and record.room_target:
|
if record.room_source and record.room_target:
|
||||||
domain_lines.extend(
|
domain_lines.extend(
|
||||||
[
|
[
|
||||||
@@ -129,7 +136,7 @@ class ReservationSplitJoinSwapWizard(models.TransientModel):
|
|||||||
[
|
[
|
||||||
("id", "in", reservation_ids),
|
("id", "in", reservation_ids),
|
||||||
("rooms", "!=", False),
|
("rooms", "!=", False),
|
||||||
]
|
],
|
||||||
)
|
)
|
||||||
.sorted("rooms")
|
.sorted("rooms")
|
||||||
)
|
)
|
||||||
@@ -279,19 +286,12 @@ class ReservationSplitJoinSwapWizard(models.TransientModel):
|
|||||||
[("date", "=", date_iterator), ("room_id", "=", target)]
|
[("date", "=", date_iterator), ("room_id", "=", target)]
|
||||||
)
|
)
|
||||||
if line_room_source and line_room_target:
|
if line_room_source and line_room_target:
|
||||||
|
line_room_target.with_context(
|
||||||
# this causes an unique error constraint
|
avoid_availability_check=True
|
||||||
line_room_target.occupies_availability = False
|
).room_id = source
|
||||||
line_room_source.occupies_availability = False
|
line_room_source.with_context(
|
||||||
|
avoid_availability_check=True
|
||||||
line_room_target.room_id = source
|
).room_id = target
|
||||||
line_room_source.room_id = target
|
|
||||||
|
|
||||||
self.flush()
|
|
||||||
|
|
||||||
line_room_target._compute_occupies_availability()
|
|
||||||
line_room_source._compute_occupies_availability()
|
|
||||||
|
|
||||||
elif line_room_source:
|
elif line_room_source:
|
||||||
line_room_source.room_id = target
|
line_room_source.room_id = target
|
||||||
elif line_room_target:
|
elif line_room_target:
|
||||||
|
|||||||
Reference in New Issue
Block a user