- % if vroom.name:
+ % if room_type.name:
|
- ${vroom.name}
+ ${room_type.name}
|
% else:
diff --git a/hotel/models/__init__.py b/hotel/models/__init__.py
index ba680c7ff..6b4eea4f4 100644
--- a/hotel/models/__init__.py
+++ b/hotel/models/__init__.py
@@ -19,7 +19,7 @@ from . import inherit_account_invoice
# from . import inherit_product_category
from . import inherit_product_product
from . import inherit_res_company
-# from . import virtual_room
+# from . import room_type
from . import inherit_account_payment
from . import hotel_room_type_restriction
from . import hotel_room_type_restriction_item
diff --git a/hotel/models/currency_exchange.py b/hotel/models/currency_exchange.py
index c0c4a7fda..a56341d8e 100644
--- a/hotel/models/currency_exchange.py
+++ b/hotel/models/currency_exchange.py
@@ -10,7 +10,6 @@ from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT
class CurrencyExchangeRate(models.Model):
-
_name = "currency.exchange"
_description = "currency"
diff --git a/hotel/models/hotel_folio.py b/hotel/models/hotel_folio.py
index 0282172f7..72e6dae36 100644
--- a/hotel/models/hotel_folio.py
+++ b/hotel/models/hotel_folio.py
@@ -21,6 +21,10 @@ from odoo.addons import decimal_precision as dp
class HotelFolio(models.Model):
+ _name = 'hotel.folio'
+ _description = 'Hotel Folio'
+ _inherit = ['mail.thread', 'mail.activity.mixin', 'portal.mixin']
+ _order = 'id'
# @api.depends('invoice_lines.invoice_id.state', 'invoice_lines.quantity')
def _get_invoice_qty(self):
@@ -41,12 +45,6 @@ class HotelFolio(models.Model):
def _amount_all(self):
pass
- _name = 'hotel.folio'
- _description = 'Hotel Folio'
-
- _order = 'id'
- _inherit = ['mail.thread', 'mail.activity.mixin', 'portal.mixin']
-
name = fields.Char('Folio Number', readonly=True, index=True,
default=lambda self: _('New'))
partner_id = fields.Many2one('res.partner',
diff --git a/hotel/models/hotel_reservation.py b/hotel/models/hotel_reservation.py
index f333f6c8e..eabdc9add 100644
--- a/hotel/models/hotel_reservation.py
+++ b/hotel/models/hotel_reservation.py
@@ -16,6 +16,10 @@ _logger = logging.getLogger(__name__)
class HotelReservation(models.Model):
+ _name = 'hotel.reservation'
+ _description = 'Hotel Reservation'
+ _inherit = ['mail.thread', 'mail.activity.mixin', 'portal.mixin']
+ _order = "last_updated_res desc, name"
def _get_default_checkin(self):
folio = False
@@ -110,11 +114,6 @@ class HotelReservation(models.Model):
fields.Date.from_string(res.checkout) - fields.Date.from_string(res.checkin)
).days
- _name = 'hotel.reservation'
- _description = 'Hotel Reservation'
- _inherit = ['mail.thread', 'mail.activity.mixin', 'portal.mixin']
- _order = "last_updated_res desc, name"
-
name = fields.Text('Reservation Description', required=True)
room_id = fields.Many2one('hotel.room', string='Room')
@@ -312,9 +311,12 @@ class HotelReservation(models.Model):
})
for record in self:
if record.compute_price_out_vals(vals):
+ checkin = vals['checkin'] if 'checkin' in vals else record.checkin
+ checkout = vals['checkout'] if 'checkout' in vals else record.checkout
+
days_diff = (
- fields.Date.from_string(record.checkout) - \
- fields.Date.from_string(record.checkin)
+ fields.Date.from_string(checkout) - \
+ fields.Date.from_string(checkin)
).days
record.update(record.prepare_reservation_lines(
vals['checkin'],
@@ -390,7 +392,7 @@ class HotelReservation(models.Model):
'overbooking': self.overbooking,
'price_unit': self.price_unit,
'splitted': self.splitted,
- # 'virtual_room_id': self.virtual_room_id.id,
+ # 'room_type_id': self.room_type_id.id,
'room_type_id': self.room_type_id.id,
}
@@ -419,7 +421,7 @@ class HotelReservation(models.Model):
#Si el registro no existe, modificar room_type aunque ya esté establecido
if not self.room_type_id:
write_vals.update({'room_type_id': self.room_id.room_type_id.id})
- self.write(write_vals)
+ self.update(write_vals)
@api.onchange('partner_id')
def onchange_partner_id(self):
diff --git a/hotel/models/hotel_room_amenities.py b/hotel/models/hotel_room_amenities.py
index 137af8363..dc0ce906a 100644
--- a/hotel/models/hotel_room_amenities.py
+++ b/hotel/models/hotel_room_amenities.py
@@ -7,6 +7,7 @@ from odoo import models, fields, api, _
class HotelRoomAmenities(models.Model):
_name = 'hotel.room.amenities'
_description = 'Room amenities'
+
# The record's name
name = fields.Char('Amenity Name', required=True)
# Used for activate records
diff --git a/hotel/models/hotel_room_amenities_type.py b/hotel/models/hotel_room_amenities_type.py
index a7da08d3c..4cc3d32ff 100644
--- a/hotel/models/hotel_room_amenities_type.py
+++ b/hotel/models/hotel_room_amenities_type.py
@@ -7,6 +7,7 @@ from odoo import models, fields, api, _
class HotelRoomAmenitiesType(models.Model):
_name = 'hotel.room.amenities.type'
_description = 'Amenities Type'
+
# The record's name
name = fields.Char('Amenity Name', required=True)
# Used for activate records
diff --git a/hotel/models/hotel_room_type.py b/hotel/models/hotel_room_type.py
index 16576fb68..8ce8d5f3d 100644
--- a/hotel/models/hotel_room_type.py
+++ b/hotel/models/hotel_room_type.py
@@ -10,8 +10,8 @@ class HotelRoomType(models.Model):
"""
_name = "hotel.room.type"
_description = "Room Type"
-
_inherits = {'product.product': 'product_id'}
+
# Relationship between models
product_id = fields.Many2one('product.product', 'Product Room Type',
required=True, delegate=True,
@@ -59,7 +59,7 @@ class HotelRoomType(models.Model):
@api.model
# TODO Rename to check_availability_room_type
- def check_availability_virtual_room(self, dfrom, dto,
+ def check_availability_room(self, dfrom, dto,
room_type_id=False, notthis=[]):
"""
Check the avalability for an specific type of room
diff --git a/hotel/models/hotel_room_type_availability.py b/hotel/models/hotel_room_type_availability.py
index 7f75d2b7c..b17fa56f6 100644
--- a/hotel/models/hotel_room_type_availability.py
+++ b/hotel/models/hotel_room_type_availability.py
@@ -10,7 +10,7 @@ class HotelRoomTypeAvailability(models.Model):
_inherit = 'mail.thread'
_name = 'hotel.room.type.availability'
- # virtual_room_id = fields.Many2one('hotel.virtual.room', 'Virtual Room',
+ # room_type_id = fields.Many2one('hotel.virtual.room', 'Virtual Room',
# required=True, track_visibility='always',
# ondelete='cascade')
room_type_id = fields.Many2one('hotel.room.type', 'Room Type',
@@ -34,7 +34,7 @@ class HotelRoomTypeAvailability(models.Model):
self.avail = 0
room_type_obj = self.env['hotel.room.type']
- cavail = len(room_type_obj.check_availability_virtual_room(
+ cavail = len(room_type_obj.check_availability_room(
self.date,
self.date,
room_type_id=self.room_type_id.id))
@@ -44,7 +44,7 @@ class HotelRoomTypeAvailability(models.Model):
self.avail = max_avail
@api.constrains('date', 'room_type_id')
- def _check_date_virtual_room_id(self):
+ def _check_date_room_type_id(self):
count = self.search_count([
('date', '=', self.date),
('room_type_id', '=', self.room_type_id.id)
diff --git a/hotel/models/hotel_room_type_restriction_item.py b/hotel/models/hotel_room_type_restriction_item.py
index dadb9ff7e..d704e1eaf 100644
--- a/hotel/models/hotel_room_type_restriction_item.py
+++ b/hotel/models/hotel_room_type_restriction_item.py
@@ -13,7 +13,7 @@ class HotelRoomTypeRestrictionItem(models.Model):
restriction_id = fields.Many2one('hotel.room.type.restriction',
'Restriction Plan', ondelete='cascade',
index=True)
- # virtual_room_id = fields.Many2one('hotel.virtual.room', 'Virtual Room',
+ # room_type_id = fields.Many2one('hotel.virtual.room', 'Virtual Room',
# required=True, ondelete='cascade')
room_type_id = fields.Many2one('hotel.room.type', 'Room Type',
required=True, ondelete='cascade')
@@ -21,8 +21,8 @@ class HotelRoomTypeRestrictionItem(models.Model):
date_end = fields.Date("To")
applied_on = fields.Selection([
('1_global', 'Global'),
- # ('0_virtual_room', 'Virtual Room')], string="Apply On", required=True,
- # default='0_virtual_room',
+ # ('0_room_type', 'Virtual Room')], string="Apply On", required=True,
+ # default='0_room_type',
('0_room_type', 'Room Type')], string="Apply On", required=True,
default='0_room_type',
help='Pricelist Item applicable on selected option')
diff --git a/hotel/models/hotel_service.py b/hotel/models/hotel_service.py
index e3895c7b8..7352702db 100644
--- a/hotel/models/hotel_service.py
+++ b/hotel/models/hotel_service.py
@@ -8,7 +8,9 @@ from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT
_logger = logging.getLogger(__name__)
class HotelService(models.Model):
-
+ _name = 'hotel.service'
+ _description = 'Hotel Services and its charges'
+
@api.model
def _service_checkin(self):
if 'checkin' in self._context:
@@ -30,9 +32,6 @@ class HotelService(models.Model):
], limit=1)
return False
- _name = 'hotel.service'
- _description = 'Hotel Services and its charges'
-
name = fields.Char('Service description')
# services in the hotel are products
product_id = fields.Many2one('product.product', 'Service', required=True)
diff --git a/hotel/models/hotel_service_line.py b/hotel/models/hotel_service_line.py
index c772b5531..74161fe08 100644
--- a/hotel/models/hotel_service_line.py
+++ b/hotel/models/hotel_service_line.py
@@ -146,7 +146,7 @@ class HotelServiceLine(models.Model):
'product_uom': self.product_id.uom_id,
'price_unit': self.product_id.price,
})
- self.write(write_vals)
+ self.update(write_vals)
#~ self.price_unit = tax_obj._fix_tax_included_price(prod.price,
#~ prod.taxes_id,
diff --git a/hotel/models/inherit_account_payment.py b/hotel/models/inherit_account_payment.py
index 0a953741c..9ac50cb80 100644
--- a/hotel/models/inherit_account_payment.py
+++ b/hotel/models/inherit_account_payment.py
@@ -7,7 +7,6 @@ _logger = logging.getLogger(__name__)
class AccountPayment(models.Model):
-
_inherit = 'account.payment'
folio_id = fields.Many2one('hotel.folio', string='Folio')
diff --git a/hotel/security/ir.model.access.csv b/hotel/security/ir.model.access.csv
index e1b816195..fad9d9dee 100644
--- a/hotel/security/ir.model.access.csv
+++ b/hotel/security/ir.model.access.csv
@@ -20,12 +20,12 @@ access_hotel_order_call,hotel.order.call,sale.model_sale_order,hotel.group_hotel
access_hotel_order_line_call,hotel.order.line.call,sale.model_sale_order_line,hotel.group_hotel_call,1,1,1,1
access_hotel_order_line_user,hotel.order.line.user,sale.model_sale_order_line,hotel.group_hotel_user,1,1,1,1
access_hotel_order_user,hotel.order.user,sale.model_sale_order,hotel.group_hotel_user,1,1,1,1
-access_hotel_restrictions_call,hotel.restriction. All,hotel.model_hotel_virtual_room_restriction,hotel.group_hotel_call,1,0,0,0
-access_hotel_restrictions_item_call,hotel.restriction.item.call,hotel.model_hotel_virtual_room_restriction_item,hotel.group_hotel_call,1,0,0,0
-access_hotel_restrictions_item_manager,hotel.restriction.item.manager,hotel.model_hotel_virtual_room_restriction_item,hotel.group_hotel_manager,1,1,1,1
-access_hotel_restrictions_item_user,hotel.restriction.item.user,hotel.model_hotel_virtual_room_restriction_item,hotel.group_hotel_user,1,0,0,0
-access_hotel_restrictions_manager,hotel.restriction.manager,hotel.model_hotel_virtual_room_restriction,hotel.group_hotel_manager,1,1,1,1
-access_hotel_restrictions_user,hotel.restriction.user,hotel.model_hotel_virtual_room_restriction,hotel.group_hotel_user,1,0,0,0
+access_hotel_restrictions_call,hotel.restriction. All,hotel.model_hotel_room_type_restriction,hotel.group_hotel_call,1,0,0,0
+access_hotel_restrictions_item_call,hotel.restriction.item.call,hotel.model_hotel_room_type_restriction_item,hotel.group_hotel_call,1,0,0,0
+access_hotel_restrictions_item_manager,hotel.restriction.item.manager,hotel.model_hotel_room_type_restriction_item,hotel.group_hotel_manager,1,1,1,1
+access_hotel_restrictions_item_user,hotel.restriction.item.user,hotel.model_hotel_room_type_restriction_item,hotel.group_hotel_user,1,0,0,0
+access_hotel_restrictions_manager,hotel.restriction.manager,hotel.model_hotel_room_type_restriction,hotel.group_hotel_manager,1,1,1,1
+access_hotel_restrictions_user,hotel.restriction.user,hotel.model_hotel_room_type_restriction,hotel.group_hotel_user,1,0,0,0
access_hotel_room,hotel.room.user,model_hotel_room,hotel.group_hotel_user,1,0,0,0
access_hotel_room_amenities,hotel.room_aminities.user,model_hotel_room_amenities,hotel.group_hotel_user,1,0,0,0
access_hotel_room_amenities_call,hotel.room_aminities.call,model_hotel_room_amenities,hotel.group_hotel_call,1,0,0,0
@@ -43,9 +43,9 @@ access_hotel_service_call,hotel_service.call,model_hotel_service,hotel.group_hot
access_hotel_user reconcilie,hotel.user reconcilie,account.model_account_partial_reconcile,hotel.group_hotel_user,1,1,1,1
access_hotel_user_account_full_reconcilie,hotel.user_account_full_reconcilie,account.model_account_full_reconcile,hotel.group_hotel_user,1,1,1,1
access_hotel_user_user,hotel.user_res_user,auth_crypt.model_res_users,hotel.group_hotel_user,1,1,0,0
-access_hotel_virtual_room_availability_call,hotel.availability.call,hotel.model_hotel_virtual_room_availability,hotel.group_hotel_call,1,1,1,1
-access_hotel_virtual_room_availability_manager,hotel.availability.manager,hotel.model_hotel_virtual_room_availability,hotel.group_hotel_manager,1,1,1,1
-access_hotel_virtual_room_availability_user,hotel.availability.user,hotel.model_hotel_virtual_room_availability,hotel.group_hotel_user,1,1,1,1
+access_hotel_room_type_availability_call,hotel.availability.call,hotel.model_hotel_room_type_availability,hotel.group_hotel_call,1,1,1,1
+access_hotel_room_type_availability_manager,hotel.availability.manager,hotel.model_hotel_room_type_availability,hotel.group_hotel_manager,1,1,1,1
+access_hotel_room_type_availability_user,hotel.availability.user,hotel.model_hotel_room_type_availability,hotel.group_hotel_user,1,1,1,1
access_product_category,product.category.user,product.model_product_category,hotel.group_hotel_user,1,0,0,0
access_product_category_call,product.category.call,product.model_product_category,hotel.group_hotel_call,1,0,0,0
access_product_category_manager,product.category.manager,product.model_product_category,hotel.group_hotel_manager,1,1,1,1
diff --git a/hotel/tests/common.py b/hotel/tests/common.py
index 3f6ffee51..b0b27aa1d 100644
--- a/hotel/tests/common.py
+++ b/hotel/tests/common.py
@@ -59,7 +59,7 @@ class TestHotel(TestMail):
'checkin': checkin.strftime(DEFAULT_SERVER_DATETIME_FORMAT),
'checkout': checkout.strftime(DEFAULT_SERVER_DATETIME_FORMAT),
'folio_id': folio.id,
- 'virtual_room_id': room.price_virtual_room.id,
+ 'room_type_id': room.price_room_type.id,
'product_id': room.product_id.id,
})
self.assertTrue(
@@ -171,14 +171,14 @@ class TestHotel(TestMail):
cls.hotel_room_simple_100 = Rooms.create({
'name': '100',
'sale_price_type': 'vroom',
- 'price_virtual_room': cls.hotel_vroom_budget.id,
+ 'price_room_type': cls.hotel_vroom_budget.id,
'categ_id': cls.hotel_room_type_simple.cat_id.id,
'capacity': 1,
})
cls.hotel_room_simple_101 = Rooms.create({
'name': '101',
'sale_price_type': 'vroom',
- 'price_virtual_room': cls.hotel_vroom_budget.id,
+ 'price_room_type': cls.hotel_vroom_budget.id,
'categ_id': cls.hotel_room_type_simple.cat_id.id,
'capacity': 1,
'sequence': 1,
@@ -186,7 +186,7 @@ class TestHotel(TestMail):
cls.hotel_room_double_200 = Rooms.create({
'name': '200',
'sale_price_type': 'vroom',
- 'price_virtual_room': cls.hotel_vroom_special.id,
+ 'price_room_type': cls.hotel_vroom_special.id,
'categ_id': cls.hotel_room_type_double.cat_id.id,
'capacity': 2,
})
@@ -228,16 +228,16 @@ class TestHotel(TestMail):
for i in range(0, len(v_vr)):
ndate = now_utc_dt + timedelta(days=i)
vroom_avail_obj.create({
- 'virtual_room_id': k_vr,
+ 'room_type_id': k_vr,
'avail': v_vr[i],
'date': ndate.strftime(DEFAULT_SERVER_DATE_FORMAT)
})
vroom_rest_item_obj.create({
- 'virtual_room_id': k_vr,
+ 'room_type_id': k_vr,
'restriction_id': cls.parity_restrictions_id,
'date_start': ndate.strftime(DEFAULT_SERVER_DATE_FORMAT),
'date_end': ndate.strftime(DEFAULT_SERVER_DATE_FORMAT),
- 'applied_on': '0_virtual_room',
+ 'applied_on': '0_room_type',
'min_stay': cls.restrictions_min_stay_tmp[k_vr][i],
})
pricelist_item_obj.create({
diff --git a/hotel/tests/test_reservation.py b/hotel/tests/test_reservation.py
index 687f7e25e..a4ec21534 100644
--- a/hotel/tests/test_reservation.py
+++ b/hotel/tests/test_reservation.py
@@ -232,7 +232,7 @@ class TestHotelReservations(TestHotel):
# 5.0, 15.0, 15.0, 35.0, 35.0, 10.0, 10.0
- vroom_prices = self.prices_tmp[self.hotel_room_double_200.price_virtual_room.id]
+ vroom_prices = self.prices_tmp[self.hotel_room_double_200.price_room_type.id]
org_reserv_start_utc_dt = now_utc_dt + timedelta(days=1)
org_reserv_end_utc_dt = org_reserv_start_utc_dt + timedelta(days=2)
folio = self.create_folio(self.user_hotel_manager, self.partner_2)
diff --git a/hotel/views/hotel_folio.xml b/hotel/views/hotel_folio.xml
index 9d7ba79cf..be1003cce 100644
--- a/hotel/views/hotel_folio.xml
+++ b/hotel/views/hotel_folio.xml
@@ -194,7 +194,7 @@
-
+
@@ -307,7 +307,7 @@
-
diff --git a/hotel/views/hotel_reservation.xml b/hotel/views/hotel_reservation.xml
index 67c4f4118..1e57866d8 100644
--- a/hotel/views/hotel_reservation.xml
+++ b/hotel/views/hotel_reservation.xml
@@ -186,7 +186,7 @@
-
@@ -335,7 +335,7 @@
/>
-
+
@@ -432,7 +432,7 @@
/>
+ context="{'group_by':'room_type_id'}"/> -->
-
-
-
+
+
+
diff --git a/hotel/views/reservation_restriction_item_views.xml b/hotel/views/reservation_restriction_item_views.xml
index 852afec62..459da61cb 100644
--- a/hotel/views/reservation_restriction_item_views.xml
+++ b/hotel/views/reservation_restriction_item_views.xml
@@ -9,7 +9,7 @@
|