diff --git a/hotel/models/hotel_room_type.py b/hotel/models/hotel_room_type.py
index eb6783d0a..cc85c269f 100644
--- a/hotel/models/hotel_room_type.py
+++ b/hotel/models/hotel_room_type.py
@@ -109,17 +109,17 @@ class HotelRoomType(models.Model):
})
return super().create(vals)
- @api.constrains('shared_room', 'room_ids')
- def _constrain_shared_room(self):
- for record in self:
- if record.shared_room:
- if any(not room.shared_room_id for room in record.room_ids):
- raise ValidationError(_('We cant save normal rooms \
- in a shared room type'))
- else:
- if any(room.shared_room_id for room in record.room_ids):
- raise ValidationError(_('We cant save shared rooms \
- in a normal room type'))
+ # @api.constrains('shared_room', 'room_ids')
+ # def _constrain_shared_room(self):
+ # for record in self:
+ # if record.shared_room:
+ # if any(not room.shared_room_id for room in record.room_ids):
+ # raise ValidationError(_('We cant save normal rooms \
+ # in a shared room type'))
+ # else:
+ # if any(room.shared_room_id for room in record.room_ids):
+ # raise ValidationError(_('We cant save shared rooms \
+ # in a normal room type'))
@api.multi
def unlink(self):
diff --git a/hotel/models/hotel_service_line.py b/hotel/models/hotel_service_line.py
index abda6b251..ecd486977 100644
--- a/hotel/models/hotel_service_line.py
+++ b/hotel/models/hotel_service_line.py
@@ -12,7 +12,6 @@ class HotelServiceLine(models.Model):
service_id = fields.Many2one('hotel.service', string='Service Room',
ondelete='cascade', required=True,
copy=False)
- active = fields.Boolean('Active', compute="_compute_active")
date = fields.Date('Date')
day_qty = fields.Integer('Units')
product_id = fields.Many2one(related='service_id.product_id', store=True)
@@ -23,6 +22,10 @@ class HotelServiceLine(models.Model):
related="service_id.price_unit",
readonly=True,
store=True)
+ room_id = fields.Many2one(strin='Room',
+ related="service_id.ser_room_line",
+ readonly=True,
+ store=True)
discount = fields.Float('Discount',
related="service_id.discount",
readonly=True,
diff --git a/hotel/views/hotel_service_line_views.xml b/hotel/views/hotel_service_line_views.xml
index 052990189..d66e71c59 100644
--- a/hotel/views/hotel_service_line_views.xml
+++ b/hotel/views/hotel_service_line_views.xml
@@ -42,7 +42,8 @@
-
+
+
diff --git a/hotel_data_bi/models/data_bi.py b/hotel_data_bi/models/data_bi.py
index a6782dd88..308d34f24 100644
--- a/hotel_data_bi/models/data_bi.py
+++ b/hotel_data_bi/models/data_bi.py
@@ -541,50 +541,47 @@ class Data_Bi(models.Model):
precio_neto -= precio_comision
precio_iva = (precio_neto*10/100)
precio_neto -= precio_iva
- data = json.loads(
+ if reserva.reservation_id.channel_bind_ids.channel_raw_data:
+ data = json.loads(
reserva.reservation_id.channel_bind_ids.channel_raw_data)
- jsonBooked = data['booked_rooms'][0]
- if jsonBooked.get('ancillary').get(
- 'channel_rate_name') is not None:
- jsonRate = jsonBooked.get('ancillary').get(
- 'channel_rate_name')
- # _logger.warning("EXPEDIA ancillary : %s - %s",
- # jsonRate, reserva.id)
-
- elif jsonBooked.get('roomdays')[0].get(
- 'ancillary').get(
+ jsonBooked = data['booked_rooms'][0]
+ if jsonBooked.get('ancillary').get(
'channel_rate_name') is not None:
- jsonRate = jsonBooked.get(
- 'roomdays')[0].get(
- 'ancillary').get('channel_rate_name')
- # _logger.warning("EXPEDIA roomdays : %s - %s",
- # jsonRate, reserva.id)
+ jsonRate = jsonBooked.get('ancillary').get(
+ 'channel_rate_name')
+ # _logger.warning("EXPEDIA ancillary : %s - %s",
+ # jsonRate, reserva.id)
- else:
- _logger.critical(
- "EXPEDIA Tarifa No Contemplada : "
- + jsonBooked)
+ elif jsonBooked.get('roomdays')[0].get(
+ 'ancillary').get(
+ 'channel_rate_name') is not None:
+ jsonRate = jsonBooked.get(
+ 'roomdays')[0].get(
+ 'ancillary').get('channel_rate_name')
+ # _logger.warning("EXPEDIA roomdays : %s - %s",
+ # jsonRate, reserva.id)
- jsonRefundable = jsonRate.upper().find('REFUNDABLE')
- # _logger.warning("EXPEDIA Tarifa : %s", jsonRate)
- # _logger.warning("EXPEDIA Tarifa : %s y %s",
- # jsonRate, str(jsonRefundable))
+ else:
+ _logger.critical(
+ "EXPEDIA Tarifa No Contemplada : "
+ + jsonBooked)
- # 10 % Iva
- precio_iva = round((precio_neto-(precio_neto/1.1)), 2)
- # 18 % comision ?
- precio_comision = inv_percent(
+ jsonRefundable = jsonRate.upper().find('REFUNDABLE')
+ # _logger.warning("EXPEDIA Tarifa : %s", jsonRate)
+ # _logger.warning("EXPEDIA Tarifa : %s y %s",
+ # jsonRate, str(jsonRefundable))
+
+ # 10 % Iva
+ precio_iva = round((precio_neto-(precio_neto/1.1)), 2)
+ # 18 % comision ?
+ precio_comision = inv_percent(
precio_neto, self.env.user.company_id.expedia_rate)
- precio_neto += precio_comision
- # 3% Refundable ?
- if jsonRefundable >= 0:
- precio_dto = inv_percent(precio_neto, 3)
- precio_neto += precio_dto
- # _logger.warning("ODOO: %s , precio_neto: %s , precio_comision: \
- # %s , precio_iva: %s , precio_dto: %s", reserva.price,
- # precio_neto, precio_comision, precio_iva,
- # precio_dto)
+ precio_neto += precio_comision
+ # 3% Refundable ?
+ if jsonRefundable >= 0:
+ precio_dto = inv_percent(precio_neto, 3)
+ precio_neto += precio_dto
response_dic.append({'ota': reserva.reservation_id.ota_id.id,
'ota_id': reserva.reservation_id.ota_id.ota_id,
diff --git a/hotel_l10n_es/wizard/police_wizard.py b/hotel_l10n_es/wizard/police_wizard.py
index d8e85b638..3927215ab 100755
--- a/hotel_l10n_es/wizard/police_wizard.py
+++ b/hotel_l10n_es/wizard/police_wizard.py
@@ -43,10 +43,10 @@ class PoliceWizard(models.TransientModel):
def generate_file(self):
company = self.env.user.company_id
if company.police_number is not False and company.property_name is not False:
- lines = self.env['hotel.checkin.partner'].search(
- [('enter_date',
- '=',
- self.download_date)])
+ lines = self.env['hotel.checkin.partner'].search([
+ ('enter_date', '=', self.download_date),
+ ('state', 'in', ('booking', 'done')),
+ ])
content = "1|"+company.police_number+"|"+company.property_name.upper()[0:40]
content += "|"
content += datetime.datetime.now().strftime("%Y%m%d|%H%M")