[WIP] Refactoring Code

This commit is contained in:
Dario Lodeiros
2018-11-08 12:21:50 +01:00
parent 42d7ca83f7
commit 8f0e62f622
3 changed files with 26 additions and 14 deletions

View File

@@ -13,33 +13,33 @@
<!-- hotel_room_amenities_type -->
<record id="hotel_room_amenities_type_0" model="hotel.room.amenities.type">
<record id="hotel_amenitiy_type_0" model="hotel.room.amenities.type">
<field name="name">Beds</field>
</record>
<record id="hotel_room_amenities_type_1" model="hotel.room.amenities.type">
<record id="hotel_amenity_type_1" model="hotel.room.amenities.type">
<field name="name">Connectivity</field>
</record>
<record id="hotel_room_amenities_type_2" model="hotel.room.amenities.type">
<record id="hotel_amenity_type_2" model="hotel.room.amenities.type">
<field name="name">Extra</field>
</record>
<!-- hotel_room_amenitues -->
<record id="hotel_room_amenities_0" model="hotel.room.amenities">
<record id="hotel_amenity_0" model="hotel.room.amenities">
<field name="name">Twin Beds</field>
<field name="room_amenities_type_id" search="[('name', '=', 'Beds')]"/>
<field name="room_amenity_type_id" search="[('name', '=', 'Beds')]"/>
</record>
<record id="hotel_room_amenities_1" model="hotel.room.amenities">
<record id="hotel_amenity_1" model="hotel.room.amenities">
<field name="name">Double Beds</field>
<field name="room_amenities_type_id" search="[('name', '=', 'Beds')]"/>
<field name="room_amenity_type_id" search="[('name', '=', 'Beds')]"/>
</record>
<record id="hotel_room_amenities_2" model="hotel.room.amenities">
<record id="hotel_amenity_2" model="hotel.room.amenities">
<field name="name">Extra Bed</field>
<field name="room_amenities_type_id" search="[('name', '=', 'Beds')]"/>
<field name="room_amenity_type_id" search="[('name', '=', 'Beds')]"/>
</record>
<record id="hotel_room_amenities_3" model="hotel.room.amenities">
<record id="hotel_amenity_3" model="hotel.room.amenities">
<field name="name">4G</field>
<field name="room_amenities_type_id" search="[('name', '=', 'Connectivity')]"/>
<field name="room_amenity_type_id" search="[('name', '=', 'Connectivity')]"/>
</record>
@@ -116,7 +116,7 @@
<field name="floor_id" search="[('name', '=', 'Second Floor')]"/>
<field name="list_price">25.00</field>
<field name="capacity">3</field>
</record
</record>
</data>
</odoo>

View File

@@ -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')

View File

@@ -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:
@@ -43,6 +44,15 @@ class HotelRoomType(models.Model):
# total number of rooms in this type
total_rooms_count = fields.Integer(compute='_compute_total_rooms')
@api.multi
@api.constrains('room_ids')
def _check_capacity(self):
for record in self:
for room in record.room_ids:
if room.room_type_id and room.room_type_id != record.id:
raise ValidationError(_("You need change de room type from de room form"))
@api.depends('room_ids')
def _compute_total_rooms(self):
for record in self: