[REF] attribute and methods order guidelines

Business fields and methods arranged by importance
This commit is contained in:
Pablo
2019-09-18 17:18:29 +02:00
parent b78b544c83
commit caeda183bb
4 changed files with 18 additions and 11 deletions

View File

@@ -3,15 +3,17 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import models, fields from odoo import models, fields
class HotelRoomAmenitie(models.Model):
class HotelRoomAmenity(models.Model):
_name = 'hotel.amenity' _name = 'hotel.amenity'
_description = 'Room amenities' _description = 'Room amenities'
# Fields declaration
name = fields.Char('Amenity Name', translate=True, required=True) name = fields.Char('Amenity Name', translate=True, required=True)
active = fields.Boolean('Active', default=True) hotel_ids = fields.Many2many('hotel.property', string='Hotels', required=False, ondelete='restrict')
default_code = fields.Char('Internal Reference') default_code = fields.Char('Internal Reference')
room_amenity_type_id = fields.Many2one('hotel.amenity.type', room_amenity_type_id = fields.Many2one('hotel.amenity.type',
'Amenity Catagory') 'Amenity Category')
hotel_ids = fields.Many2many('hotel.property', string='Hotels', required=False, ondelete='restrict') active = fields.Boolean('Active', default=True)
#TODO: Constrain coherence hotel_ids with amenity types hotel_ids # TODO: Constrain coherence hotel_ids with amenity types hotel_ids

View File

@@ -4,15 +4,16 @@
from odoo import models, fields, api from odoo import models, fields, api
class HotelRoomAmenitieType(models.Model): class HotelRoomAmenityType(models.Model):
_name = 'hotel.amenity.type' _name = 'hotel.amenity.type'
_description = 'Amenities Type' _description = 'Amenities Type'
name = fields.Char('Amenity Name', translate=True, required=True) # Fields declaration
active = fields.Boolean('Active', default=True) name = fields.Char('Amenity Type Name', translate=True, required=True)
hotel_ids = fields.Many2many('hotel.property', string='Hotels', required=False, ondelete='restrict')
room_amenity_ids = fields.One2many('hotel.amenity', room_amenity_ids = fields.One2many('hotel.amenity',
'room_amenity_type_id', 'room_amenity_type_id',
'Amenities in this category') 'Amenities in this category')
hotel_ids = fields.Many2many('hotel.property', string='Hotels', required=False, ondelete='restrict') active = fields.Boolean('Active', default=True)
#TODO: Constrain coherence hotel_ids with amenities hotel_ids # TODO: Constrain coherence hotel_ids with amenities hotel_ids

View File

@@ -12,6 +12,7 @@ class HotelProperty(models.Model):
_description = 'Hotel' _description = 'Hotel'
_inherits = {'res.partner': 'partner_id'} _inherits = {'res.partner': 'partner_id'}
# Fields declaration
partner_id = fields.Many2one('res.partner', 'Hotel Property', partner_id = fields.Many2one('res.partner', 'Hotel Property',
required=True, delegate=True, ondelete='cascade') required=True, delegate=True, ondelete='cascade')
company_id = fields.Many2one('res.company', help='The company that owns or operates this hotel.', company_id = fields.Many2one('res.company', help='The company that owns or operates this hotel.',
@@ -43,6 +44,7 @@ class HotelProperty(models.Model):
default_cancel_policy_days = fields.Integer('Cancellation Days') default_cancel_policy_days = fields.Integer('Cancellation Days')
default_cancel_policy_percent = fields.Float('Percent to pay') default_cancel_policy_percent = fields.Float('Percent to pay')
# Constraints and onchanges
@api.constrains('default_arrival_hour', 'default_departure_hour') @api.constrains('default_arrival_hour', 'default_departure_hour')
def _check_hours(self): def _check_hours(self):
r = re.compile('[0-2][0-9]:[0-5][0-9]') r = re.compile('[0-2][0-9]:[0-5][0-9]')

View File

@@ -2,11 +2,13 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import models, fields from odoo import models, fields
class RoomClosureReason(models.Model): class RoomClosureReason(models.Model):
_name = "room.closure.reason" _name = "room.closure.reason"
_description = "Cause of out of service" _description = "Cause of out of service"
# Fields declaration
name = fields.Char('Name', translate=True, required=True) name = fields.Char('Name', translate=True, required=True)
description = fields.Text('Description', translate=True)
hotel_ids = fields.Many2many('hotel.property', string='Hotels', required=False, hotel_ids = fields.Many2many('hotel.property', string='Hotels', required=False,
ondelete='restrict') ondelete='restrict')
description = fields.Text('Description', translate=True)