[IMP]pms: Improvement services date in reservations

This commit is contained in:
Darío Lodeiros
2024-06-24 08:45:31 +02:00
parent b331790e53
commit 60878d9d38
3 changed files with 14 additions and 6 deletions

View File

@@ -346,7 +346,7 @@ class PmsService(models.Model):
continue
product = service.product_id
consumed_on = product.consumed_on
if product.per_day:
if product.per_day and consumed_on in ("before", "after"):
lines = []
day_qty = service._service_day_qty()
days_diff = (reservation.checkout - reservation.checkin).days
@@ -406,13 +406,18 @@ class PmsService(models.Model):
service.service_line_ids = lines
else:
if not service.service_line_ids:
target_date = (
reservation.checkin
if consumed_on == "checkin"
else reservation.checkout
)
price_unit = service._get_price_unit_line()
service.service_line_ids = [
(
0,
False,
{
"date": fields.Date.today(),
"date": target_date,
"day_qty": day_qty,
"price_unit": price_unit,
},

View File

@@ -31,7 +31,12 @@ class ProductTemplate(models.Model):
consumed_on = fields.Selection(
string="Consumed",
help="Indicates when the product is consumed",
selection=[("before", "Before night"), ("after", "After night")],
selection=[
("before", "All before night"),
("after", "All after night"),
("checkin", "Only first day"),
("checkout", "Only last day"),
],
default="before",
)
daily_limit = fields.Integer(

View File

@@ -343,9 +343,7 @@ class BookingDuplicate(models.TransientModel):
"price_unit": ser_line.price_unit,
"discount": ser_line.discount,
"date": ser_line.date
+ datetime.timedelta(days=displacement_days)
if service.per_day
else fields.Date.today(),
+ datetime.timedelta(days=displacement_days),
},
)
)