diff --git a/pms/models/pms_reservation_line.py b/pms/models/pms_reservation_line.py index 19a7d1fcc..c1be88987 100644 --- a/pms/models/pms_reservation_line.py +++ b/pms/models/pms_reservation_line.py @@ -88,13 +88,18 @@ class PmsReservationLine(models.Model): compute="_compute_avail_id", check_pms_properties=True, ) - discount = fields.Float( string="Discount (%)", help="", default=0.0, digits=("Discount"), ) + price_day_total = fields.Float( + string="Final price", + help="Get the price with discount applied", + store=True, + compute="_compute_price_day_total", + ) occupies_availability = fields.Boolean( string="Occupies", help="This record is taken into account to calculate availability", @@ -473,6 +478,15 @@ class PmsReservationLine(models.Model): else: record.avail_id = False + @api.depends("price", "discount", "cancel_discount") + def _compute_price_day_total(self): + for line in self: + first_discount = line.price * ((line.discount or 0.0) * 0.01) + price = line.price - first_discount + cancel_discount = price * ((line.cancel_discount or 0.0) * 0.01) + discount = first_discount + cancel_discount + line.price_day_total = line.price - discount + @api.depends("reservation_id.overbooking") def _compute_overbooking(self): for record in self: diff --git a/pms/views/pms_reservation_views.xml b/pms/views/pms_reservation_views.xml index a273e7d42..5b630d6b0 100644 --- a/pms/views/pms_reservation_views.xml +++ b/pms/views/pms_reservation_views.xml @@ -498,6 +498,7 @@ +