mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[IMP] Replace ser_room_line by reservation_id
This commit is contained in:
@@ -7758,7 +7758,7 @@ msgstr "Devoluciones"
|
||||
#: model:ir.model.fields,field_description:hotel.field_hotel_reservation_room_id
|
||||
#: model:ir.model.fields,field_description:hotel.field_hotel_reservation_wizard_room_id
|
||||
#: model:ir.model.fields,field_description:hotel.field_hotel_service_line_room_id
|
||||
#: model:ir.model.fields,field_description:hotel.field_hotel_service_ser_room_line
|
||||
#: model:ir.model.fields,field_description:hotel.field_hotel_service_reservation_id
|
||||
#: model:ir.ui.menu,name:hotel.menu_hotel_room
|
||||
#: model:ir.ui.view,arch_db:hotel.hotel_reservation_view_form
|
||||
msgid "Room"
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -250,7 +250,7 @@
|
||||
type="action" icon="fa-coffee"/>
|
||||
<group string="Reservation Services" name="reservation_services">
|
||||
<field name="service_ids"
|
||||
context="{'default_ser_room_line': active_id, 'default_folio_id': folio_id, 'form_view_ref':'hotel.hotel_service_view_form'}"
|
||||
context="{'default_reservation_id': active_id, 'default_folio_id': folio_id, 'form_view_ref':'hotel.hotel_service_view_form'}"
|
||||
nolabel="1">
|
||||
<!-- If charge this view with tree_view_ref, its !crash! (field not found) when open reservation form from folio form... ¿?-->
|
||||
<tree string="Services" editable="bottom"
|
||||
@@ -264,7 +264,7 @@
|
||||
attrs="{'invisible':[('is_board_service','=', False)]}" />
|
||||
<field name="per_day" invisible="1" readonly="1"/>
|
||||
<field name="folio_id" invisible="1"/>
|
||||
<field name="ser_room_line" invisible="1"
|
||||
<field name="reservation_id" invisible="1"
|
||||
attrs = "{'required': [('per_day','=',True)]}" />
|
||||
<field name="product_id"
|
||||
domain="[('sale_ok', '=', True)]"
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
<field name="folio_id" invisible="1"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="hotel_id" invisible="1"/>
|
||||
<field name="ser_room_line"
|
||||
<field name="reservation_id"
|
||||
attrs = "{'required': [('per_day','=',True)]}" />
|
||||
<field name="product_id"
|
||||
domain="[('sale_ok', '=', True)]"
|
||||
|
||||
@@ -294,8 +294,8 @@ class FolioAdvancePaymentInv(models.TransientModel):
|
||||
for service in folio.service_ids.filtered(
|
||||
lambda x: x.is_board_service == False and \
|
||||
x.qty_to_invoice != 0 and \
|
||||
(x.ser_room_line.id in self.reservation_ids.ids or \
|
||||
not x.ser_room_line.id)):
|
||||
(x.reservation_id.id in self.reservation_ids.ids or \
|
||||
not x.reservation_id.id)):
|
||||
invoice_lines[service.id] = {
|
||||
'description': service.name,
|
||||
'product_id': service.product_id.id,
|
||||
|
||||
@@ -237,7 +237,7 @@ class HotelReservation(models.Model):
|
||||
ON hf.closure_reason_id = rcr.id
|
||||
LEFT JOIN hotel_board_service_room_type_rel AS hbsrt ON hr.board_service_room_id = hbsrt.id
|
||||
LEFT JOIN hotel_board_service AS hbs ON hbsrt.hotel_board_service_id = hbs.id
|
||||
LEFT JOIN hotel_service AS hs ON hr.id = hs.ser_room_line
|
||||
LEFT JOIN hotel_service AS hs ON hr.id = hs.reservation_id
|
||||
LEFT JOIN product_product AS pp2 ON hs.product_id = pp2.id
|
||||
LEFT JOIN product_template AS pt2 ON pp2.product_tmpl_id = pt2.id
|
||||
WHERE room_id IN %s AND (
|
||||
|
||||
Reference in New Issue
Block a user