This commit is contained in:
oscar alvarez 2022-05-19 16:19:19 -05:00
parent ee25c6aa56
commit 8e98f84431
9 changed files with 82 additions and 17 deletions

View File

@ -778,20 +778,6 @@ class Booking(Workflow, ModelSQL, ModelView):
Folio = Pool().get('hotel.folio')
Folio.write(list(self.lines), {'registration_state': state})
def check_rooms(self):
Housekeeping = Pool().get('hotel.housekeeping')
rooms_ids = []
for folio in self.lines:
if folio.registration_state == 'check_out':
continue
rooms_ids.append(folio.room.id)
housekeepings = Housekeeping.search([
('state', '!=', 'clean')
])
for hk in housekeepings:
if hk.room.id in rooms_ids:
raise UserError(gettext('hotel.msg_room_no_clean', s=hk.room.name))
@classmethod
def get_context_price(cls,
product, party=None, currency=None, _date=None, price_list=None,

View File

@ -189,6 +189,14 @@ this repository contains the full copyright notices and license terms. -->
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="True"/>
</record>
<record model="ir.model.access" id="access_booking_group_hotel_frontdesk">
<field name="model" search="[('model', '=', 'hotel.booking')]"/>
<field name="group" ref="group_hotel_frontdesk"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_booking_group_hotel_admin">
<field name="model" search="[('model', '=', 'hotel.booking')]"/>
<field name="group" ref="group_hotel_admin"/>

View File

@ -214,11 +214,19 @@ class Folio(ModelSQL, ModelView):
if rec.room is None:
raise UserError(gettext('hotel.msg_missing_select_room'))
rec.set_registration_number()
rec.booking.check_rooms()
rec.check_room()
rec.add_main_guest()
cls.update_room(rec.room, 'dirty')
cls.write(records, {'registration_state': 'check_in'})
def check_room(self):
Housekeeping = Pool().get('hotel.housekeeping')
housekeeping, _ = Housekeeping.search([
('room', '=', rec.room.id)
])
if housekeeping.state != 'clean':
raise UserError(gettext('hotel.msg_room_no_clean', s=hk.room.name))
@classmethod
@ModelView.button
def check_out(cls, records):

View File

@ -165,6 +165,38 @@ this repository contains the full copyright notices and license terms. -->
<menuitem parent="menu_hotel" sequence="20" icon="hotel-guests"
action="act_board_folio_guest_view" id="menu_hotel_board_guest_folio"/>
<record model="ir.model.access" id="access_hotel_folio">
<field name="model" search="[('model', '=', 'hotel.folio')]"/>
<field name="perm_read" eval="False"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_hotel_folio_group_hotel">
<field name="model" search="[('model', '=', 'hotel.folio')]"/>
<field name="group" ref="group_hotel"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_hotel_folio_group_hotel_frontdesk">
<field name="model" search="[('model', '=', 'hotel.folio')]"/>
<field name="group" ref="group_hotel_frontdesk"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_delete" eval="True"/>
</record>
<record model="ir.model.access" id="access_hotel_folio_group_hotel_admin">
<field name="model" search="[('model', '=', 'hotel.folio')]"/>
<field name="group" ref="group_hotel_admin"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_delete" eval="True"/>
</record>
<!-- <record model="ir.ui.view" id="operation_maintenance_view_tree">
<field name="model">hotel.operation.maintenance</field>
<field name="type">tree</field>

View File

@ -6,6 +6,9 @@ this repository contains the full copyright notices and license terms. -->
<record model="res.group" id="group_hotel">
<field name="name">Hotel</field>
</record>
<record model="res.group" id="group_hotel_frontdesk">
<field name="name">Hotel Front-Desk</field>
</record>
<record model="res.group" id="group_hotel_admin">
<field name="name">Hotel Administration</field>
</record>
@ -14,6 +17,10 @@ this repository contains the full copyright notices and license terms. -->
<field name="user" ref="res.user_admin"/>
<field name="group" ref="group_hotel"/>
</record>
<record model="res.user-res.group" id="user_admin_group_hotel_frontdesk">
<field name="user" ref="res.user_admin"/>
<field name="group" ref="group_hotel_frontdesk"/>
</record>
<record model="res.user-res.group" id="user_admin_group_hotel_admin">
<field name="user" ref="res.user_admin"/>
<field name="group" ref="group_hotel_admin"/>
@ -40,8 +47,8 @@ this repository contains the full copyright notices and license terms. -->
<field name="path">icons/guests.svg</field>
</record>
<menuitem name="Hotel" sequence="10" id="menu_hotel"
icon="tryton-hotel" />
<menuitem name="Hotel" sequence="10" id="menu_hotel"
icon="tryton-hotel"/>
<record model="ir.ui.menu-res.group" id="menu_hotel_group_hotel">
<field name="menu" ref="menu_hotel"/>

View File

@ -47,6 +47,14 @@ this repository contains the full copyright notices and license terms. -->
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_housekeeping_group_hotel_frontdesk">
<field name="model" search="[('model', '=', 'hotel.housekeeping')]"/>
<field name="group" ref="group_hotel_frontdesk"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_housekeeping_group_hotel_admin">
<field name="model" search="[('model', '=', 'hotel.housekeeping')]"/>
<field name="group" ref="group_hotel_admin"/>

Binary file not shown.

View File

@ -123,6 +123,14 @@ this repository contains the full copyright notices and license terms. -->
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_room_group_hotel_frontdesk">
<field name="model" search="[('model', '=', 'hotel.room')]"/>
<field name="group" ref="group_hotel_frontdesk"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_room_group_hotel_admin">
<field name="model" search="[('model', '=', 'hotel.room')]"/>
<field name="group" ref="group_hotel_admin"/>

View File

@ -86,6 +86,14 @@ this repository contains the full copyright notices and license terms. -->
<field name="perm_create" eval="True"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_service_group_hotel_frontdesk">
<field name="model" search="[('model', '=', 'hotel.service')]"/>
<field name="group" ref="group_hotel_frontdesk"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_service_group_hotel_admin">
<field name="model" search="[('model', '=', 'hotel.service')]"/>
<field name="group" ref="group_hotel_admin"/>