mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[IMP]pms: folio sale line sequences
This commit is contained in:
@@ -800,7 +800,11 @@ class PmsFolio(models.Model):
|
|||||||
sale_lines_vals = []
|
sale_lines_vals = []
|
||||||
if folio.reservation_type == "normal":
|
if folio.reservation_type == "normal":
|
||||||
sale_lines_vals_to_drop = []
|
sale_lines_vals_to_drop = []
|
||||||
for reservation in folio.reservation_ids:
|
seq = 0
|
||||||
|
for reservation in sorted(
|
||||||
|
folio.reservation_ids, key=lambda r: r.folio_sequence
|
||||||
|
):
|
||||||
|
seq += reservation.folio_sequence
|
||||||
# RESERVATION LINES
|
# RESERVATION LINES
|
||||||
reservation_sale_lines = []
|
reservation_sale_lines = []
|
||||||
reservation_sale_lines_to_drop = []
|
reservation_sale_lines_to_drop = []
|
||||||
@@ -809,12 +813,13 @@ class PmsFolio(models.Model):
|
|||||||
reservation_sale_lines,
|
reservation_sale_lines,
|
||||||
reservation_sale_lines_to_drop,
|
reservation_sale_lines_to_drop,
|
||||||
) = self._get_reservation_sale_lines(
|
) = self._get_reservation_sale_lines(
|
||||||
folio, reservation, sequence=reservation.folio_sequence
|
folio, reservation, sequence=seq
|
||||||
)
|
)
|
||||||
if reservation_sale_lines:
|
if reservation_sale_lines:
|
||||||
sale_lines_vals.extend(reservation_sale_lines)
|
sale_lines_vals.extend(reservation_sale_lines)
|
||||||
if reservation_sale_lines_to_drop:
|
if reservation_sale_lines_to_drop:
|
||||||
sale_lines_vals_to_drop.extend(reservation_sale_lines_to_drop)
|
sale_lines_vals_to_drop.extend(reservation_sale_lines_to_drop)
|
||||||
|
seq += len(reservation_sale_lines)
|
||||||
# RESERVATION SERVICES
|
# RESERVATION SERVICES
|
||||||
service_sale_lines = []
|
service_sale_lines = []
|
||||||
service_sale_lines_to_drop = []
|
service_sale_lines_to_drop = []
|
||||||
@@ -825,13 +830,13 @@ class PmsFolio(models.Model):
|
|||||||
) = self._get_service_sale_lines(
|
) = self._get_service_sale_lines(
|
||||||
folio,
|
folio,
|
||||||
reservation,
|
reservation,
|
||||||
sequence=reservation.folio_sequence
|
sequence=seq,
|
||||||
+ len(reservation_sale_lines),
|
|
||||||
)
|
)
|
||||||
if service_sale_lines:
|
if service_sale_lines:
|
||||||
sale_lines_vals.extend(service_sale_lines)
|
sale_lines_vals.extend(service_sale_lines)
|
||||||
if service_sale_lines_to_drop:
|
if service_sale_lines_to_drop:
|
||||||
sale_lines_vals_to_drop.extend(service_sale_lines_to_drop)
|
sale_lines_vals_to_drop.extend(service_sale_lines_to_drop)
|
||||||
|
seq += len(service_sale_lines)
|
||||||
# FOLIO SERVICES
|
# FOLIO SERVICES
|
||||||
if folio.service_ids.filtered(lambda r: not r.reservation_id):
|
if folio.service_ids.filtered(lambda r: not r.reservation_id):
|
||||||
service_sale_lines = False
|
service_sale_lines = False
|
||||||
@@ -839,9 +844,7 @@ class PmsFolio(models.Model):
|
|||||||
(
|
(
|
||||||
service_sale_lines,
|
service_sale_lines,
|
||||||
service_sale_lines_to_drop,
|
service_sale_lines_to_drop,
|
||||||
) = self._get_folio_services_sale_lines(
|
) = self._get_folio_services_sale_lines(folio, sequence=seq + 1)
|
||||||
folio, sequence=len(sale_lines_vals)
|
|
||||||
)
|
|
||||||
if service_sale_lines:
|
if service_sale_lines:
|
||||||
sale_lines_vals.extend(service_sale_lines)
|
sale_lines_vals.extend(service_sale_lines)
|
||||||
if service_sale_lines_to_drop:
|
if service_sale_lines_to_drop:
|
||||||
@@ -2346,6 +2349,7 @@ class PmsFolio(models.Model):
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
|
sequence += 1
|
||||||
sale_reservation_vals.append(
|
sale_reservation_vals.append(
|
||||||
(
|
(
|
||||||
1,
|
1,
|
||||||
@@ -2380,7 +2384,6 @@ class PmsFolio(models.Model):
|
|||||||
)
|
)
|
||||||
partner_invoice = lines_to.mapped("default_invoice_to")
|
partner_invoice = lines_to.mapped("default_invoice_to")
|
||||||
if current_sale_line_ids and index <= (len(current_sale_line_ids) - 1):
|
if current_sale_line_ids and index <= (len(current_sale_line_ids) - 1):
|
||||||
|
|
||||||
current = {
|
current = {
|
||||||
"price_unit": item["price"],
|
"price_unit": item["price"],
|
||||||
"discount": final_discount,
|
"discount": final_discount,
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ class BookingEngine(models.TransientModel):
|
|||||||
domain=[("channel_type", "=", "direct")],
|
domain=[("channel_type", "=", "direct")],
|
||||||
ondelete="restrict",
|
ondelete="restrict",
|
||||||
compute="_compute_channel_type_id",
|
compute="_compute_channel_type_id",
|
||||||
|
required=True,
|
||||||
)
|
)
|
||||||
total_price_folio = fields.Float(
|
total_price_folio = fields.Float(
|
||||||
string="Total Price",
|
string="Total Price",
|
||||||
|
|||||||
Reference in New Issue
Block a user