From 3621e37dbbe94928af8dae42e4f5e9810106a9f1 Mon Sep 17 00:00:00 2001 From: Dario Lodeiros Date: Tue, 24 Sep 2019 17:15:40 +0200 Subject: [PATCH] [IMP] cancelation rule py guideline --- hotel/models/hotel_amenity_type.py | 3 +- hotel/models/hotel_board_service_room_type.py | 28 ++++++++++--------- .../hotel_board_service_room_type_line.py | 6 ++-- hotel/models/hotel_cancelation_rule.py | 17 +++++++---- 4 files changed, 32 insertions(+), 22 deletions(-) diff --git a/hotel/models/hotel_amenity_type.py b/hotel/models/hotel_amenity_type.py index 7514d13b4..502861e0a 100644 --- a/hotel/models/hotel_amenity_type.py +++ b/hotel/models/hotel_amenity_type.py @@ -10,7 +10,8 @@ class HotelRoomAmenityType(models.Model): # Fields declaration name = fields.Char('Amenity Type Name', translate=True, required=True) - hotel_ids = fields.Many2many('hotel.property', string='Hotels', required=False, ondelete='restrict') + hotel_ids = fields.Many2many( + 'hotel.property', string='Hotels', required=False, ondelete='restrict') room_amenity_ids = fields.One2many('hotel.amenity', 'room_amenity_type_id', 'Amenities in this category') diff --git a/hotel/models/hotel_board_service_room_type.py b/hotel/models/hotel_board_service_room_type.py index e0022baa9..a7f774b84 100644 --- a/hotel/models/hotel_board_service_room_type.py +++ b/hotel/models/hotel_board_service_room_type.py @@ -1,4 +1,4 @@ -# Copyright 2017 Dario Lodeiros +# Copyright 2017 Dario # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from odoo import api, fields, models, _ from odoo.addons import decimal_precision as dp @@ -79,7 +79,8 @@ class HotelBoardServiceRoomType(models.Model): board_pricelist = self.env['hotel.board.service.room.type'].search([ ('pricelist_id', '=', record.pricelist_id.id), ('hotel_room_type_id', '=', record.hotel_room_type_id.id), - ('hotel_board_service_id', '=', record.hotel_board_service_id.id), + ('hotel_board_service_id', '=', + record.hotel_board_service_id.id), ('id', '!=', record.id) ]) if board_pricelist: @@ -89,7 +90,8 @@ class HotelBoardServiceRoomType(models.Model): board_pricelist = self.env['hotel.board.service.room.type'].search([ ('pricelist_id', '=', False), ('hotel_room_type_id', '=', record.hotel_room_type_id.id), - ('hotel_board_service_id', '=', record.hotel_board_service_id.id), + ('hotel_board_service_id', '=', + record.hotel_board_service_id.id), ('id', '!=', record.id) ]) if board_pricelist: @@ -124,18 +126,18 @@ class HotelBoardServiceRoomType(models.Model): def create(self, vals): if 'hotel_board_service_id' in vals: vals.update( - self.prepare_board_service_room_lines( - vals['hotel_board_service_id']) - ) + self.prepare_board_service_room_lines( + vals['hotel_board_service_id']) + ) return super(HotelBoardServiceRoomType, self).create(vals) @api.multi def write(self, vals): if 'hotel_board_service_id' in vals: vals.update( - self.prepare_board_service_room_lines( - vals['hotel_board_service_id']) - ) + self.prepare_board_service_room_lines( + vals['hotel_board_service_id']) + ) return super(HotelBoardServiceRoomType, self).write(vals) # Business methods @@ -148,8 +150,8 @@ class HotelBoardServiceRoomType(models.Model): board_service = self.env['hotel.board.service'].browse( board_service_id) for line in board_service.board_service_line_ids: - cmds.append((0, False, { - 'product_id': line.product_id.id, - 'amount': line.amount - })) + cmds.append((0, False, { + 'product_id': line.product_id.id, + 'amount': line.amount + })) return {'board_service_line_ids': cmds} diff --git a/hotel/models/hotel_board_service_room_type_line.py b/hotel/models/hotel_board_service_room_type_line.py index 3c567d5ec..9d423e78a 100644 --- a/hotel/models/hotel_board_service_room_type_line.py +++ b/hotel/models/hotel_board_service_room_type_line.py @@ -3,6 +3,7 @@ from odoo import fields, models from odoo.addons import decimal_precision as dp + class HotelBoardServiceRoomTypeLine(models.Model): _name = 'hotel.board.service.room.type.line' _description = 'Services on Board Service included in Room' @@ -18,5 +19,6 @@ class HotelBoardServiceRoomTypeLine(models.Model): 'Product', required=True, readonly=True) - #TODO def default_amount "amount of service" - amount = fields.Float('Amount', digits=dp.get_precision('Product Price'), default=0.0) + # TODO def default_amount "amount of service" + amount = fields.Float('Amount', digits=dp.get_precision( + 'Product Price'), default=0.0) diff --git a/hotel/models/hotel_cancelation_rule.py b/hotel/models/hotel_cancelation_rule.py index eb0d1dd66..ec9e39e7e 100644 --- a/hotel/models/hotel_cancelation_rule.py +++ b/hotel/models/hotel_cancelation_rule.py @@ -9,11 +9,18 @@ class HotelCancelationRule(models.Model): _name = 'hotel.cancelation.rule' _description = 'Cancelation Rules' + # Fields declaration name = fields.Char('Amenity Name', translate=True, required=True) + pricelist_ids = fields.One2many( + 'product.pricelist', + 'cancelation_rule_id', + 'Pricelist that use this rule') + hotel_ids = fields.Many2many( + 'hotel.property', + string='Hotels', + required=False, + ondelete='restrict') active = fields.Boolean('Active', default=True) - pricelist_ids = fields.One2many('product.pricelist', - 'cancelation_rule_id', - 'Pricelist that use this rule') days_intime = fields.Integer( 'Days Late', help='Maximum number of days for free cancellation before Checkin') @@ -29,7 +36,5 @@ class HotelCancelationRule(models.Model): ('all', 'All Days'), ('days', 'Specify days')], 'No Show apply on', default='all') days_noshow = fields.Integer('NoShow first days', default="2") - hotel_ids = fields.Many2many('hotel.property', string='Hotels', required=False, - ondelete='restrict') - #TODO: Constrain coherence hotel_ids pricelist and cancelation_rules + # TODO: Constrain coherence hotel_ids pricelist and cancelation_rules