diff --git a/.travis.yml b/.travis.yml index dc36e45bd..582828af2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: python python: - - "2.7" + - "3.5" sudo: false cache: pip @@ -12,13 +12,10 @@ addons: packages: - expect-dev # provides unbuffer utility - python-lxml # because pip installation is slow - # needed because server-tools is loaded in the dependency chain - - unixodbc-dev - - python-mysqldb env: global: - - VERSION="10.0" TESTS="0" LINT_CHECK="0" TRANSIFEX="0" UNIT_TEST="0" + - VERSION="11.0" TESTS="0" LINT_CHECK="0" TRANSIFEX="0" UNIT_TEST="0" # - TRANSIFEX_USER='transbot@odoo-community.org' # - secure: "XLhGdCIh86zcqww9qBpnk8Xqsf1Pcgw9SKr7X0KYBHJofHj4Z6Kq/oVFjpZ1LSjadsaABKbwY7h4hvKEpxZwptCv+fNTOKYy7hXFLGYnDeNeWu4zA4LI7TA5uPvyZjZ+g2xc+9dzR/VbfRHNqjvmgiEidxxqLeOnNFZ5CHdOdCw=" matrix: @@ -27,9 +24,6 @@ env: - TESTS="1" ODOO_REPO="odoo/odoo" - TESTS="1" ODOO_REPO="OCA/OCB" -virtualenv: - system_site_packages: true - install: - git clone https://github.com/OCA/maintainer-quality-tools.git ${HOME}/maintainer-quality-tools --depth=1 - export PATH=${HOME}/maintainer-quality-tools/travis:${PATH} @@ -37,6 +31,10 @@ install: - git clone -b ${VERSION} https://github.com/OCA/web.git ${HOME}/dependencies/web --depth=1 - git clone -b ${VERSION} https://github.com/OCA/partner-contact.git ${HOME}/dependencies/partner-contact --depth=1 - git clone -b ${VERSION} https://github.com/OCA/account-payment.git ${HOME}/dependencies/account_payment_return --depth=1 + - git clone -b ${VERSION} https://github.com/OCA/connector.git ${HOME}/dependencies/connector --depth=1 + - git clone -b ${VERSION} https://github.com/OCA/queue.git ${HOME}/dependencies/queue --depth=1 + - pip install odoorpc + - pip install cachetools script: - travis_wait travis_run_tests diff --git a/hotel/data/hotel_data.xml b/hotel/data/hotel_data.xml index 7861a5487..51343aa87 100644 --- a/hotel/data/hotel_data.xml +++ b/hotel/data/hotel_data.xml @@ -13,33 +13,33 @@ - + Beds - + Connectivity - + Extra - + Twin Beds - + - + Double Beds - + - + Extra Bed - + - + 4G - + @@ -116,7 +116,7 @@ 25.00 3 - diff --git a/hotel/models/hotel_reservation.py b/hotel/models/hotel_reservation.py index 2cc090865..18d7d81d9 100644 --- a/hotel/models/hotel_reservation.py +++ b/hotel/models/hotel_reservation.py @@ -353,7 +353,7 @@ class HotelReservation(models.Model): checkout = values.get('checkout') room_type = values.get('room_type_id') if checkin and checkout and room_type: - room_chosen = self.env['hotel.room.type'].check_availability_room(checkin, checkout, room_type)[0] + room_chosen = self.env['hotel.room.type'].check_availability_room_type(checkin, checkout, room_type)[0] # Check room_chosen exist res.update({ 'room_id': room_chosen.id diff --git a/hotel/models/hotel_room.py b/hotel/models/hotel_room.py index c4896cc2e..a71d5c71c 100644 --- a/hotel/models/hotel_room.py +++ b/hotel/models/hotel_room.py @@ -16,7 +16,9 @@ class HotelRoom(models.Model): name = fields.Char('Room Name', required=True) active = fields.Boolean('Active', default=True) sequence = fields.Integer('Sequence', default=0) - room_type_id = fields.Many2one('hotel.room.type', 'Hotel Room Type') + room_type_id = fields.Many2one('hotel.room.type', 'Hotel Room Type', + required=True, + ondelete='restrict') floor_id = fields.Many2one('hotel.floor', 'Ubication', help='At which floor the room is located.') max_adult = fields.Integer('Max Adult') diff --git a/hotel/models/hotel_room_type.py b/hotel/models/hotel_room_type.py index 759f94d2d..17577d3da 100644 --- a/hotel/models/hotel_room_type.py +++ b/hotel/models/hotel_room_type.py @@ -1,7 +1,8 @@ # Copyright 2017 Alexandre Díaz # Copyright 2017 Dario Lodeiros # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import models, fields, api +from odoo import models, fields, api, _ +from odoo.exceptions import ValidationError class HotelRoomType(models.Model): """ Before creating a 'room type', you need to consider the following: @@ -11,7 +12,7 @@ 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, @@ -64,8 +65,7 @@ class HotelRoomType(models.Model): return min(capacities) if any(capacities) else 0 @api.model - # TODO Rename to check_availability_room_type - def check_availability_room(self, dfrom, dto, + def check_availability_room_type(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 e15c600c9..84a076182 100644 --- a/hotel/models/hotel_room_type_availability.py +++ b/hotel/models/hotel_room_type_availability.py @@ -27,7 +27,7 @@ class HotelRoomTypeAvailability(models.Model): record.avail = 0 else: room_type_obj = self.env['hotel.room.type'] - cavail = len(room_type_obj.check_availability_room( + cavail = len(room_type_obj.check_availability_room_type( record.date, record.date, room_type_id=record.room_type_id.id)) diff --git a/hotel/tests/__init__.py b/hotel/tests/__init__.py index 6166d346a..09be3071d 100644 --- a/hotel/tests/__init__.py +++ b/hotel/tests/__init__.py @@ -20,5 +20,7 @@ # along with this program. If not, see . # ############################################################################## -from . import test_reservation -from . import test_folio +#from . import test_reservation +#from . import test_folio +from . import test_hotel_room_type_model +from . import test_hotel_room_model diff --git a/hotel/tests/common.py b/hotel/tests/common.py index 99ba08061..b0b6cb3dd 100644 --- a/hotel/tests/common.py +++ b/hotel/tests/common.py @@ -21,21 +21,18 @@ # ############################################################################## from datetime import timedelta -from odoo import api, fields +from odoo import api, fields from odoo.tests import common -from openerp.tools import ( +from odoo.tools import ( DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT) -from odoo.addons.mail.tests.common import TestMail -from odoo.addons.hotel import date_utils -import pytz import logging _logger = logging.getLogger(__name__) # TestMail crea recursos utiles para nuestros test... # por ejemplo, usuarios con distintos tipos de nivel, etc... -class TestHotel(TestMail): +class TestHotel(common.SavepointCase): @classmethod def _init_mock_hotel(cls): @@ -67,13 +64,13 @@ class TestHotel(TestMail): "Hotel Calendar can't create a new reservation!") # Create Reservation Lines + Update Reservation Price - days_diff = date_utils.date_diff(checkin, checkout, hours=False) - res = reservation.sudo(creator).prepare_reservation_lines( - checkin.strftime(DEFAULT_SERVER_DATETIME_FORMAT), days_diff) - reservation.sudo(creator).write({ - 'reservation_lines': res['commands'], - 'price_unit': res['total_price'], - }) + # days_diff = date_utils.date_diff(checkin, checkout, hours=False) + # res = reservation.sudo(creator).prepare_reservation_lines( + # checkin.strftime(DEFAULT_SERVER_DATETIME_FORMAT), days_diff) + # reservation.sudo(creator).write({ + # 'reservation_lines': res['commands'], + # 'price_unit': res['total_price'], + # }) return reservation @@ -83,169 +80,16 @@ class TestHotel(TestMail): cls._init_mock_hotel() - # Restriction Plan - cls.restriction_1 = cls.env['hotel.room.type.restriction'].create({ - 'name': 'Restriction Test #1', - 'active': True - }) - - # Pricelist - cls.pricelist_1 = cls.env['product.pricelist'].create({ - 'name': 'Pricelist Test #1', - }) - - # Minimal Hotel Configuration - cls.tz_hotel = 'Europe/Madrid' - cls.default_pricelist_id = cls.pricelist_1.id - cls.default_restriction_id = cls.restriction_1.id - cls.env['ir.values'].sudo().set_default('res.config.settings', - 'tz_hotel', cls.tz_hotel) - cls.env['ir.values'].sudo().set_default('res.config.settings', - 'default_pricelist_id', - cls.default_pricelist_id) - cls.env['ir.values'].sudo().set_default('res.config.settings', - 'default_restriction_id', - cls.default_restriction_id) - - # User Groups - user_group_hotel_manager = cls.env.ref('hotel.group_hotel_manager') - user_group_hotel_user = cls.env.ref('hotel.group_hotel_user') - user_group_employee = cls.env.ref('base.group_user') - user_group_public = cls.env.ref('base.group_public') - user_group_account_inv = cls.env.ref('account.group_account_invoice') - user_group_sale_manager = cls.env.ref('sales_team.group_sale_manager') - user_group_base_partner_manager = cls.env.ref( - 'base.group_partner_manager') - - # Create Test Users - Users = cls.env['res.users'].with_context({ - 'no_reset_password': True, - 'mail_create_nosubscribe': True - }) - cls.user_hotel_manager = Users.create({ - 'name': 'Jeff Hotel Manager', - 'login': 'hoteljeff', - 'email': 'mynameisjeff@example.com', - 'signature': '--\nJeff', - 'notify_email': 'always', - 'groups_id': [(6, 0, [user_group_hotel_manager.id, - user_group_employee.id, - user_group_account_inv.id, - user_group_sale_manager.id, - user_group_base_partner_manager.id])] - }) - cls.user_hotel_user = Users.create({ - 'name': 'Juancho Hotel User', - 'login': 'juancho', - 'email': 'juancho@example.com', - 'signature': '--\nJuancho', - 'notify_email': 'always', - 'groups_id': [(6, 0, [user_group_hotel_user.id, - user_group_public.id])] - }) - # Create Tests Records - RoomTypes = cls.env['hotel.room.type'] - cls.hotel_room_type_simple = RoomTypes.create({ - 'name': 'Simple', - 'code_type': 'TSMP', - }) - cls.hotel_room_type_double = RoomTypes.create({ - 'name': 'Double', - 'code_type': 'TDBL', - }) + cls.room_type_0 = cls.env.ref('hotel.hotel_room_type_0') + cls.room_type_1 = cls.env.ref('hotel.hotel_room_type_1') + cls.room_type_2 = cls.env.ref('hotel.hotel_room_type_2') + cls.room_type_3 = cls.env.ref('hotel.hotel_room_type_3') - VRooms = cls.env['hotel.virtual.room'] - cls.hotel_room_type_budget = VRooms.create({ - 'name': 'Budget Room', - 'virtual_code': '001', - 'list_price': 50, - }) - cls.hotel_room_type_special = VRooms.create({ - 'name': 'Special Room', - 'virtual_code': '002', - 'list_price': 150, - }) - - Rooms = cls.env['hotel.room'] - cls.hotel_room_simple_100 = Rooms.create({ - 'name': '100', - 'sale_price_type': 'room_type', - 'price_room_type': cls.hotel_room_type_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': 'room_type', - 'price_room_type': cls.hotel_room_type_budget.id, - 'categ_id': cls.hotel_room_type_simple.cat_id.id, - 'capacity': 1, - 'sequence': 1, - }) - cls.hotel_room_double_200 = Rooms.create({ - 'name': '200', - 'sale_price_type': 'room_type', - 'price_room_type': cls.hotel_room_type_special.id, - 'categ_id': cls.hotel_room_type_double.cat_id.id, - 'capacity': 2, - }) - - cls.hotel_room_type_budget.write({ - 'room_ids': [(6, False, [cls.hotel_room_simple_100.id, - cls.hotel_room_simple_101.id])], - }) - cls.hotel_room_type_special.write({ - 'room_ids': [(6, False, [cls.hotel_room_double_200.id])], - }) - - # Create a week of fresh data - now_utc_dt = date_utils.now() - cls.avails_tmp = { - cls.hotel_room_type_budget.id: (1, 2, 2, 1, 1, 2, 2), - cls.hotel_room_type_special.id: (1, 1, 1, 1, 1, 1, 1), - } - cls.prices_tmp = { - cls.hotel_room_type_budget.id: (10.0, 80.0, 80.0, 95.0, 90.0, 80.0, - 20.0), - cls.hotel_room_type_special.id: (5.0, 15.0, 15.0, 35.0, 35.0, 10.0, - 10.0), - } - cls.restrictions_min_stay_tmp = { - cls.hotel_room_type_budget.id: (0, 1, 2, 1, 1, 0, 0), - cls.hotel_room_type_special.id: (3, 1, 0, 2, 0, 1, 4), - } - budget_product_id = cls.hotel_room_type_budget.product_id - special_product_id = cls.hotel_room_type_special.product_id - product_tmpl_ids = { - cls.hotel_room_type_budget.id: budget_product_id.product_tmpl_id.id, - cls.hotel_room_type_special.id: special_product_id.product_tmpl_id.id, - } - room_type_avail_obj = cls.env['hotel.room.type.availability'] - room_type_rest_item_obj = cls.env['hotel.room.type.restriction.item'] - pricelist_item_obj = cls.env['product.pricelist.item'] - for k_vr, v_vr in cls.avails_tmp.iteritems(): - for i in range(0, len(v_vr)): - ndate = now_utc_dt + timedelta(days=i) - room_type_avail_obj.create({ - 'room_type_id': k_vr, - 'avail': v_vr[i], - 'date': ndate.strftime(DEFAULT_SERVER_DATE_FORMAT) - }) - room_type_rest_item_obj.create({ - 'room_type_id': k_vr, - 'restriction_id': cls.default_restriction_id, - 'date_start': ndate.strftime(DEFAULT_SERVER_DATE_FORMAT), - 'date_end': ndate.strftime(DEFAULT_SERVER_DATE_FORMAT), - 'applied_on': '0_room_type', - 'min_stay': cls.restrictions_min_stay_tmp[k_vr][i], - }) - pricelist_item_obj.create({ - 'pricelist_id': cls.default_pricelist_id, - 'date_start': ndate.strftime(DEFAULT_SERVER_DATE_FORMAT), - 'date_end': ndate.strftime(DEFAULT_SERVER_DATE_FORMAT), - 'compute_price': 'fixed', - 'applied_on': '1_product', - 'product_tmpl_id': product_tmpl_ids[k_vr], - 'fixed_price': cls.prices_tmp[k_vr][i], - }) + cls.room_0 = cls.env.ref('hotel.hotel_room_0') + cls.room_1 = cls.env.ref('hotel.hotel_room_1') + cls.room_2 = cls.env.ref('hotel.hotel_room_2') + cls.room_3 = cls.env.ref('hotel.hotel_room_3') + cls.room_4 = cls.env.ref('hotel.hotel_room_4') + cls.room_5 = cls.env.ref('hotel.hotel_room_5') + cls.room_6 = cls.env.ref('hotel.hotel_room_6') diff --git a/hotel/tests/test_hotel_room_model.py b/hotel/tests/test_hotel_room_model.py new file mode 100644 index 000000000..4c28fdb2c --- /dev/null +++ b/hotel/tests/test_hotel_room_model.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2017 Solucións Aloxa S.L. +# Alexandre Díaz +# +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +############################################################################## +from .common import TestHotel +from odoo.exceptions import ValidationError + + +class TestHotelRoom(TestHotel): + + def test_check_capacity(self): + # TODO Do the test using different users + with self.assertRaises(ValidationError): + self.room_0.sudo().write({ + 'capacity': 0 + }) diff --git a/hotel/tests/test_hotel_room_type_model.py b/hotel/tests/test_hotel_room_type_model.py new file mode 100644 index 000000000..59a417298 --- /dev/null +++ b/hotel/tests/test_hotel_room_type_model.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2017 Solucións Aloxa S.L. +# Alexandre Díaz +# +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +############################################################################## +from .common import TestHotel +from psycopg2 import IntegrityError + + +class TestHotelRoomType(TestHotel): + + def test_code_type_unique(self): + #TODO: use sudo users hotel + with self.assertRaises(IntegrityError): + self.room_type_0.sudo().write({ + 'code_type': self.room_type_1.code_type + }) diff --git a/hotel/views/hotel_room_type_availability_views.xml b/hotel/views/hotel_room_type_availability_views.xml index 36d3b07c7..93d369dc9 100644 --- a/hotel/views/hotel_room_type_availability_views.xml +++ b/hotel/views/hotel_room_type_availability_views.xml @@ -15,8 +15,6 @@ - -
@@ -37,8 +35,6 @@ - - diff --git a/hotel/wizard/duplicate_reservation.py b/hotel/wizard/duplicate_reservation.py index 96016d069..3af205cf9 100644 --- a/hotel/wizard/duplicate_reservation.py +++ b/hotel/wizard/duplicate_reservation.py @@ -32,7 +32,7 @@ class DuplicateReservationWizard(models.TransientModel): })) # Check Input - avails = hotel_room_type_obj.check_availability_room( + avails = hotel_room_type_obj.check_availability_room_type( reservation_id.checkin, reservation_id.checkout, room_type_id=reservation_id.room_type_id.id) @@ -43,7 +43,7 @@ class DuplicateReservationWizard(models.TransientModel): There are no '%d' free rooms") % self.num) for i in range(0, self.num): - free_rooms = hotel_room_type_obj.check_availability_room( + free_rooms = hotel_room_type_obj.check_availability_room_type( reservation_id.checkin, reservation_id.checkout, room_type_id=reservation_id.room_type_id.id) diff --git a/hotel/wizard/massive_changes.py b/hotel/wizard/massive_changes.py index 7e1d93528..252bfc6c9 100644 --- a/hotel/wizard/massive_changes.py +++ b/hotel/wizard/massive_changes.py @@ -192,7 +192,7 @@ class MassiveChangesWizard(models.TransientModel): hotel_room_type_obj = self.env['hotel.room.type'] vals = {} if record.change_avail: - cavail = len(hotel_room_type_obj.check_availability_room( + cavail = len(hotel_room_type_obj.check_availability_room_type( ndate.strftime(DEFAULT_SERVER_DATETIME_FORMAT), ndate.strftime(DEFAULT_SERVER_DATETIME_FORMAT), room_type_id=room_type.id)) diff --git a/hotel/wizard/wizard_reservation.py b/hotel/wizard/wizard_reservation.py index 7671e5f17..6db0969ed 100644 --- a/hotel/wizard/wizard_reservation.py +++ b/hotel/wizard/wizard_reservation.py @@ -281,7 +281,7 @@ class HotelRoomTypeWizards(models.TransientModel): avail_restrictions = self.env['hotel.room.type.availability'].search([ ('room_type_id', '=', res.room_type_id.id) ]) - real_max = len(res.room_type_id.check_availability_room( + real_max = len(res.room_type_id.check_availability_room_type( res.checkin, res.checkout, res.room_type_id.id)) diff --git a/hotel_calendar/models/hotel_calendar_management.py b/hotel_calendar/models/hotel_calendar_management.py index 05aa173a5..523162ca7 100644 --- a/hotel_calendar/models/hotel_calendar_management.py +++ b/hotel_calendar/models/hotel_calendar_management.py @@ -36,7 +36,7 @@ class HotelCalendarManagement(models.TransientModel): @api.model def _get_availability_values(self, avail, room_type): room_type_obj = self.env['hotel.room.type'] - cavail = len(room_type_obj.check_availability_room( + cavail = len(room_type_obj.check_availability_room_type( avail['date'], avail['date'], room_type_id=room_type.id)) ravail = min(cavail, room_type.total_rooms_count, int(avail['avail'])) vals = { @@ -251,7 +251,7 @@ class HotelCalendarManagement(models.TransientModel): json_data.setdefault(room_type.id, []).append({ 'date': cur_date_str, 'num': len( - room_type_obj.check_availability_room( + room_type_obj.check_availability_room_type( cur_date_str, cur_date_str, room_type_id=room_type.id)), diff --git a/hotel_channel_connector/components/importer.py b/hotel_channel_connector/components/importer.py index 2127da1ff..35608e458 100644 --- a/hotel_channel_connector/components/importer.py +++ b/hotel_channel_connector/components/importer.py @@ -367,7 +367,7 @@ class HotelChannelConnectorImporter(AbstractComponent): internal_message="Invalid reservation total price! %.2f != %.2f" % (vals['price_unit'], book['amount']), channel_object_id=book['reservation_code']) - free_rooms = room_type.odoo_id.check_availability_room( + free_rooms = room_type.odoo_id.check_availability_room_type( checkin_str, checkout_str, room_type_id=room_type.odoo_id.id, diff --git a/hotel_channel_connector/models/hotel_room_type_availability/common.py b/hotel_channel_connector/models/hotel_room_type_availability/common.py index ccd521a36..4c54d0e51 100644 --- a/hotel_channel_connector/models/hotel_room_type_availability/common.py +++ b/hotel_channel_connector/models/hotel_room_type_availability/common.py @@ -100,7 +100,7 @@ class HotelRoomTypeAvailability(models.Model): room_type_obj = self.env['hotel.room.type'] issue_obj = self.env['hotel.channel.connector.issue'] for record in self: - cavail = len(room_type_obj.check_availability_room( + cavail = len(room_type_obj.check_availability_room_type( record.date, record.date, room_type_id=record.room_type_id.id)) @@ -143,7 +143,7 @@ class HotelRoomTypeAvailability(models.Model): for i in range(0, date_diff): ndate_dt = date_start + timedelta(days=i) ndate_str = ndate_dt.strftime(DEFAULT_SERVER_DATE_FORMAT) - avail = len(room_type_obj.check_availability_room( + avail = len(room_type_obj.check_availability_room_type( ndate_str, ndate_str, room_type_id=room_type.id)) diff --git a/hotel_node_helper/models/inherited_hotel_room_type.py b/hotel_node_helper/models/inherited_hotel_room_type.py index 52d14f20a..3247a2035 100644 --- a/hotel_node_helper/models/inherited_hotel_room_type.py +++ b/hotel_node_helper/models/inherited_hotel_room_type.py @@ -3,7 +3,6 @@ # Copyright 2018 Dario Lodeiros # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -import wdb from odoo import models, fields, api @@ -18,12 +17,12 @@ class HotelRoomType(models.Model): Check availability for all or specific room types between dates @return: A list of `ids` with free rooms """ - free_rooms = super().check_availability_room(dfrom, dto, room_type_id, notthis) + free_rooms = super().check_availability_room_type(dfrom, dto, room_type_id, notthis) return free_rooms.ids @api.model def get_room_type_availability(self, dfrom, dto, room_type_id): - free_rooms = self.check_availability_room(dfrom, dto) + free_rooms = self.check_availability_room_type(dfrom, dto) availability_real = self.env['hotel.room'].search_count([ ('id', 'in', free_rooms.ids), ('room_type_id', '=', room_type_id), diff --git a/hotel_node_master/models/hotel_node.py b/hotel_node_master/models/hotel_node.py index f30f87b9f..5da56c387 100644 --- a/hotel_node_master/models/hotel_node.py +++ b/hotel_node_master/models/hotel_node.py @@ -3,7 +3,6 @@ # Copyright 2018 Dario Lodeiros # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -import wdb import logging import urllib.error import odoorpc.odoo diff --git a/hotel_node_master/models/hotel_node_room_type.py b/hotel_node_master/models/hotel_node_room_type.py index 1da0ed93b..4c4c5e1f6 100644 --- a/hotel_node_master/models/hotel_node_room_type.py +++ b/hotel_node_master/models/hotel_node_room_type.py @@ -3,7 +3,6 @@ # Copyright 2018 Dario Lodeiros # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -import wdb import logging from odoo import models, fields, api, _ from odoo.exceptions import ValidationError diff --git a/hotel_node_master/models/hotel_node_user.py b/hotel_node_master/models/hotel_node_user.py index d6d0455dd..0cedaec0f 100644 --- a/hotel_node_master/models/hotel_node_user.py +++ b/hotel_node_master/models/hotel_node_user.py @@ -3,7 +3,6 @@ # Copyright 2018 Dario Lodeiros # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -import wdb import logging import urllib.error import odoorpc.odoo diff --git a/hotel_node_master/wizards/wizard_hotel_node_reservation.py b/hotel_node_master/wizards/wizard_hotel_node_reservation.py index 6734950f3..5b492412b 100644 --- a/hotel_node_master/wizards/wizard_hotel_node_reservation.py +++ b/hotel_node_master/wizards/wizard_hotel_node_reservation.py @@ -2,7 +2,6 @@ # Copyright 2018 Alexandre Díaz # Copyright 2018 Dario Lodeiros # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -import wdb import logging import urllib.error import odoorpc.odoo