[IMP]pms: folio sale line sequences

This commit is contained in:
Darío Lodeiros
2022-11-20 00:36:12 +01:00
parent 41c0370334
commit f6b3314e9b
2 changed files with 12 additions and 8 deletions

View File

@@ -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,

View File

@@ -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",