From bb88d2b2859baf3e3f1e6f3e94c5d159dac3f807 Mon Sep 17 00:00:00 2001 From: Pablo Date: Thu, 18 Oct 2018 17:58:08 +0200 Subject: [PATCH] [ADD] Hotel Node Helper This module is for providing helper functions to the hotel node master module. --- hotel_node_helper/README.rst | 22 ++++++++++++++++++ hotel_node_helper/__init__.py | 3 +++ hotel_node_helper/__manifest__.py | 21 +++++++++++++++++ hotel_node_helper/models/__init__.py | 3 +++ .../models/inherited_hotel_room_type.py | 22 ++++++++++++++++++ .../security/hotel_node_security.xml | 3 +++ .../security/ir.model.access.csv | 1 + hotel_node_helper/static/description/icon.png | Bin 0 -> 29724 bytes 8 files changed, 75 insertions(+) create mode 100644 hotel_node_helper/README.rst create mode 100644 hotel_node_helper/__init__.py create mode 100644 hotel_node_helper/__manifest__.py create mode 100644 hotel_node_helper/models/__init__.py create mode 100644 hotel_node_helper/models/inherited_hotel_room_type.py create mode 100644 hotel_node_helper/security/hotel_node_security.xml create mode 100644 hotel_node_helper/security/ir.model.access.csv create mode 100644 hotel_node_helper/static/description/icon.png diff --git a/hotel_node_helper/README.rst b/hotel_node_helper/README.rst new file mode 100644 index 000000000..4a067e3c4 --- /dev/null +++ b/hotel_node_helper/README.rst @@ -0,0 +1,22 @@ +================= +Hotel Node Helper +================= + +This module is for providing helper functions to the hotel node master module. + +**Try me on Runbot** + +**Known issues / Roadmap** + +... + +**Bug Tracker** + +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback here. + +Credits + +Contributors + +Maintainer + diff --git a/hotel_node_helper/__init__.py b/hotel_node_helper/__init__.py new file mode 100644 index 000000000..69f7babdf --- /dev/null +++ b/hotel_node_helper/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import models diff --git a/hotel_node_helper/__manifest__.py b/hotel_node_helper/__manifest__.py new file mode 100644 index 000000000..917ab41b4 --- /dev/null +++ b/hotel_node_helper/__manifest__.py @@ -0,0 +1,21 @@ +{ + 'name': 'Hotel Node Helper', + 'summary': """Provides helper functions to the hotel node master module""", + 'version': '0.1.0', + 'author': 'Pablo Q. Barriuso, \ + Darío Lodeiros, \ + Alexandre Díaz, \ + Odoo Community Association (OCA)', + 'category': 'Generic Modules/Hotel Management', + 'depends': [ + 'hotel' + ], + 'license': "AGPL-3", + 'data': [ + 'security/hotel_node_security.xml', + 'security/ir.model.access.csv' + ], + 'demo': [], + 'auto_install': False, + 'installable': True +} diff --git a/hotel_node_helper/models/__init__.py b/hotel_node_helper/models/__init__.py new file mode 100644 index 000000000..c21375169 --- /dev/null +++ b/hotel_node_helper/models/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import inherited_hotel_room_type diff --git a/hotel_node_helper/models/inherited_hotel_room_type.py b/hotel_node_helper/models/inherited_hotel_room_type.py new file mode 100644 index 000000000..ac03ae961 --- /dev/null +++ b/hotel_node_helper/models/inherited_hotel_room_type.py @@ -0,0 +1,22 @@ +# Copyright 2018 Pablo Q. Barriuso +# Copyright 2018 Alexandre Díaz +# Copyright 2018 Dario Lodeiros +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import wdb +from odoo import models, fields, api + + +class HotelRoomType(models.Model): + + _inherit = 'hotel.room.type' + + @api.model + def check_availability_room_ids(self, dfrom, dto, + room_type_id=False, notthis=[]): + """ + 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) + return free_rooms.ids diff --git a/hotel_node_helper/security/hotel_node_security.xml b/hotel_node_helper/security/hotel_node_security.xml new file mode 100644 index 000000000..74979936c --- /dev/null +++ b/hotel_node_helper/security/hotel_node_security.xml @@ -0,0 +1,3 @@ + + + diff --git a/hotel_node_helper/security/ir.model.access.csv b/hotel_node_helper/security/ir.model.access.csv new file mode 100644 index 000000000..97dd8b917 --- /dev/null +++ b/hotel_node_helper/security/ir.model.access.csv @@ -0,0 +1 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink diff --git a/hotel_node_helper/static/description/icon.png b/hotel_node_helper/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0b47e0cf928b031afe5420c03646e8405e11d096 GIT binary patch literal 29724 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 literal 0 HcmV?d00001