[IMP] Replace ser_room_line by reservation_id

This commit is contained in:
Dario Lodeiros
2019-09-24 20:13:45 +02:00
parent 54857a52d4
commit 6093d7823b
8 changed files with 35 additions and 35 deletions

View File

@@ -139,7 +139,7 @@ class HotelReservation(models.Model):
required=True)
service_ids = fields.One2many(
'hotel.service',
'ser_room_line')
'reservation_id')
pricelist_id = fields.Many2one(
'product.pricelist',
related='folio_id.pricelist_id')
@@ -680,7 +680,7 @@ class HotelReservation(models.Model):
'product_id': product.id,
'is_board_service': True,
'folio_id': self.folio_id.id,
'ser_room_line': self.id,
'reservation_id': self.id,
}
line = self.env['hotel.service'].new(res)
res.update(
@@ -920,7 +920,7 @@ class HotelReservation(models.Model):
dfrom=real_checkin,
days=service_days_diff,
per_person=service.product_id.per_person,
persons=service.ser_room_line.adults,
persons=service.reservation_id.adults,
old_line_days=service.service_line_ids,
consumed_on=service.product_id.consumed_on,
))
@@ -946,7 +946,7 @@ class HotelReservation(models.Model):
record.shared_folio = \
len(record.folio_id.reservation_ids) > 1 \
or any(record.folio_id.service_ids.filtered(
lambda x: x.ser_room_line.id != record.id))
lambda x: x.reservation_id.id != record.id))
@api.multi
def compute_board_services(self, vals):

View File

@@ -23,19 +23,19 @@ class HotelService(models.Model):
for rec in self:
name = []
name.append('%(name)s' % {'name': rec.name})
if rec.ser_room_line.name:
name.append('%(name)s' % {'name': rec.ser_room_line.name})
if rec.reservation_id.name:
name.append('%(name)s' % {'name': rec.reservation_id.name})
result.append((rec.id, ", ".join(name)))
return result
@api.model
def _default_ser_room_line(self):
def _default_reservation_id(self):
if self.env.context.get('reservation_ids'):
ids = [item[1] for item in self.env.context['reservation_ids']]
return self.env['hotel.reservation'].browse([
(ids)], limit=1)
elif self.env.context.get('default_ser_room_line'):
return self.env.context.get('default_ser_room_line')
elif self.env.context.get('default_reservation_id'):
return self.env.context.get('default_reservation_id')
return False
@api.model
@@ -56,10 +56,10 @@ class HotelService(models.Model):
'Folio',
ondelete='cascade',
default=_default_folio_id)
ser_room_line = fields.Many2one(
reservation_id = fields.Many2one(
'hotel.reservation',
'Room',
default=_default_ser_room_line)
default=_default_reservation_id)
service_line_ids = fields.One2many(
'hotel.service.line',
'service_id')
@@ -235,8 +235,8 @@ class HotelService(models.Model):
for record in self:
folio = record.folio_id or self.env['hotel.folio'].browse(
self.env.context.get('default_folio_id'))
reservation = record.ser_room_line or self.env.context.get(
'ser_room_line')
reservation = record.reservation_id or self.env.context.get(
'reservation_id')
currency = folio.currency_id if folio else reservation.currency_id
product = record.product_id
price = record.price_unit * (1 - (record.discount or 0.0) * 0.01)
@@ -277,14 +277,14 @@ class HotelService(models.Model):
vals = {}
vals['product_qty'] = 1.0
for record in self:
if record.per_day and record.ser_room_line:
if record.per_day and record.reservation_id:
product = record.product_id
if self.env.context.get('default_ser_room_line'):
if self.env.context.get('default_reservation_id'):
reservation = self.env['hotel.reservation'].browse(
self.env.context.get('default_ser_room_line')
self.env.context.get('default_reservation_id')
)
else:
reservation = record.ser_room_line
reservation = record.reservation_id
if reservation.splitted:
checkin = reservation.real_checkin
checkout = reservation.real_checkout
@@ -354,7 +354,7 @@ class HotelService(models.Model):
if not(name == '' and operator == 'ilike'):
args += [
'|',
('ser_room_line.name', operator, name),
('reservation_id.name', operator, name),
('name', operator, name)
]
return super(HotelService, self).name_search(
@@ -365,7 +365,7 @@ class HotelService(models.Model):
vals.update(self._prepare_add_missing_fields(vals))
if self.compute_lines_out_vals(vals):
reservation = self.env['hotel.reservation'].browse(
vals['ser_room_line'])
vals['reservation_id'])
product = self.env['product.product'].browse(vals['product_id'])
if reservation.splitted:
checkin = reservation.real_checkin
@@ -401,8 +401,8 @@ class HotelService(models.Model):
else:
for record in self:
reservations = self.env['hotel.reservation']
reservation = reservations.browse(vals['ser_room_line']) \
if 'ser_room_line' in vals else record.ser_room_line
reservation = reservations.browse(vals['reservation_id']) \
if 'reservation_id' in vals else record.reservation_id
if reservation.splitted:
checkin = reservation.real_checkin
checkout = reservation.real_checkout
@@ -459,8 +459,8 @@ class HotelService(models.Model):
# If company_id is set, always filter taxes by the company
folio = record.folio_id or self.env['hotel.folio'].browse(
self.env.context.get('default_folio_id'))
reservation = record.ser_room_line or self.env.context.get(
'ser_room_line')
reservation = record.reservation_id or self.env.context.get(
'reservation_id')
origin = folio if folio else reservation
record.tax_ids = record.product_id.taxes_id.filtered(
lambda r: not record.company_id or
@@ -469,8 +469,8 @@ class HotelService(models.Model):
@api.multi
def _get_display_price(self, product):
folio = self.folio_id or self.env.context.get('default_folio_id')
reservation = self.ser_room_line or self.env.context.get(
'ser_room_line')
reservation = self.reservation_id or self.env.context.get(
'reservation_id')
origin = folio if folio else reservation
if origin.pricelist_id.discount_policy == 'with_discount':
return product.with_context(pricelist=origin.pricelist_id.id).price
@@ -503,8 +503,8 @@ class HotelService(models.Model):
def _compute_price_unit(self):
self.ensure_one()
folio = self.folio_id or self.env.context.get('default_folio_id')
reservation = self.ser_room_line or self.env.context.get(
'ser_room_line')
reservation = self.reservation_id or self.env.context.get(
'reservation_id')
origin = reservation if reservation else folio
if origin:
partner = origin.partner_id

View File

@@ -42,7 +42,7 @@ class HotelServiceLine(models.Model):
store=True)
room_id = fields.Many2one(
string='Room',
related="service_id.ser_room_line",
related="service_id.reservation_id",
readonly=True,
store=True)
discount = fields.Float(