[IMP]pms: service add inverse discount and no auto add lines option

This commit is contained in:
Darío Lodeiros
2022-04-15 09:44:42 +02:00
parent f1b6cb3262
commit 6caead3b4f

View File

@@ -183,12 +183,21 @@ class PmsService(models.Model):
) )
discount = fields.Float( discount = fields.Float(
string="Discount (€)", string="Discount (€/ud)",
help="Discount of total price", help="Discount of total price",
readonly=False, readonly=False,
store=True, store=True,
digits=("Discount"), digits=("Discount"),
compute="_compute_discount", compute="_compute_discount",
inverse="_inverse_discount",
)
no_auto_add_lines = fields.Boolean(
string="Force No Auto Add Lines",
help="""Technical field to avoid add service lines to service
automatically when creating a new service. It is used when
creating a new service with lines in vals
""",
default=False,
) )
# Compute and Search methods # Compute and Search methods
@@ -296,6 +305,8 @@ class PmsService(models.Model):
) )
def _compute_service_line_ids(self): def _compute_service_line_ids(self):
for service in self: for service in self:
if service.no_auto_add_lines:
continue
if service.product_id: if service.product_id:
day_qty = 1 day_qty = 1
if service.reservation_id and service.product_id: if service.reservation_id and service.product_id:
@@ -408,6 +419,14 @@ class PmsService(models.Model):
discount += first_discount + cancel_discount discount += first_discount + cancel_discount
record.discount = discount record.discount = discount
def _inverse_discount(self):
# compute the discount line percentage
# based on the discount amount
for record in self:
for line in record.service_line_ids:
line.discount = record.discount
line.cancel_discount = 0
def name_get(self): def name_get(self):
result = [] result = []
for rec in self: for rec in self: