[WIP] Service lines Views

This commit is contained in:
Dario Lodeiros
2019-01-29 15:42:33 +01:00
parent 8d3749f421
commit cd780c27fe
6 changed files with 102 additions and 22 deletions

View File

@@ -48,6 +48,7 @@
'views/hotel_reservation_views.xml', 'views/hotel_reservation_views.xml',
'views/hotel_room_closure_reason_views.xml', 'views/hotel_room_closure_reason_views.xml',
'views/hotel_service_views.xml', 'views/hotel_service_views.xml',
'views/hotel_service_line_views.xml',
'views/hotel_board_service_views.xml', 'views/hotel_board_service_views.xml',
'views/hotel_checkin_partner_views.xml', 'views/hotel_checkin_partner_views.xml',
'views/hotel_room_type_availability_views.xml', 'views/hotel_room_type_availability_views.xml',

View File

@@ -8,12 +8,12 @@ class HotelServiceLine(models.Model):
_name = "hotel.service.line" _name = "hotel.service.line"
_order = "date" _order = "date"
service_id = fields.Many2one('hotel.service', string='Service', service_id = fields.Many2one('hotel.service', string='Service Room',
ondelete='cascade', required=True, ondelete='cascade', required=True,
copy=False) copy=False)
date = fields.Date('Date') date = fields.Date('Date')
day_qty = fields.Integer('Units') day_qty = fields.Integer('Units')
product_id = fields.Many2one(related='service_id.product_id') product_id = fields.Many2one(related='service_id.product_id', store=True)
@api.constrains('day_qty') @api.constrains('day_qty')
def no_free_resources(self): def no_free_resources(self):

View File

@@ -109,23 +109,38 @@
/> />
<filter string="Checkins Tomorrow" name="enter_tomorrow" <filter string="Checkins Tomorrow" name="enter_tomorrow"
domain="[('enter_date', '=', (context_today()+datetime.timedelta(days=1)).strftime('%Y-%m-%d')), domain="[('enter_date', '=', (context_today()+datetime.timedelta(days=1)).strftime('%Y-%m-%d')),
('state', '=', 'draft')]" ('state', '=', 'confirm')]"
help="Show all checkins for enter tomorrow"/> help="Show all checkins for enter tomorrow"/>
<filter string="Checkins to 7 days" name="next_res_week" <filter string="Checkins to 7 days" name="next_res_week"
domain="[('enter_date', '&lt;', (context_today()+datetime.timedelta(days=7)).strftime('%Y-%m-%d')), domain="[('enter_date', '&lt;', (context_today()+datetime.timedelta(days=7)).strftime('%Y-%m-%d')),
('state', '=', 'draft')]" ('state', '=', 'confirm')]"
help="Show all reservations for which date enter is before than 7 days"/> help="Show all reservations for which date enter is before than 7 days"/>
<filter string="On Board Tomorrow" name="next_res_2week" <filter string="On Board Tomorrow" name="next_res_2week"
domain="[('enter_date', '&lt;', (context_today()+datetime.timedelta(days=14)).strftime('%Y-%m-%d')), domain="[('enter_date', '&lt;', (context_today()+datetime.timedelta(days=14)).strftime('%Y-%m-%d')),
('state', 'in', ['confirm','draft'])]" ('state', 'in', ['confirm','booking'])]"
help="Show all checkins for Tomorrow"/> help="Show all checkins for Tomorrow"/>
<group expand="0" string="Group By"> <group expand="0" string="Group By">
<filter string="Creation Date" domain="[]" <filter string="Create by Month" name="create_date_by_month"
context="{'group_by':'create_date'}" /> context="{'group_by':'create_date', 'default_order': 'create_date asc'}"/>
<filter string="Checkin Date" domain="[]" <filter string="Create by Week" name="create_date_by_week"
context="{'group_by':'checkin'}" /> context="{'group_by':'create_date:week', 'default_order': 'create_date'}"/>
<filter string="Checkout Date" domain="[]" <filter string="Create by Day" name="create_date_by_week"
context="{'group_by':'checkout'}" /> context="{'group_by':'create_date:day', 'default_order': 'create_date'}"/>
<separator/>
<filter string="Checkin by Month" name="checkin_by_month"
context="{'group_by':'checkin', 'default_order': 'checkin asc'}"/>
<filter string="Checkin by Week" name="checkin_by_week"
context="{'group_by':'checkin:week', 'default_order': 'checkin'}"/>
<filter string="Checkin by Day" name="checkin_by_week"
context="{'group_by':'checkin:day', 'default_order': 'checkin'}"/>
<separator/>
<filter string="Checkout by Month" name="checkout_by_month"
context="{'group_by':'checkout', 'default_order': 'checkout asc'}"/>
<filter string="Checkout by Week" name="checkout_by_week"
context="{'group_by':'checkout:week', 'default_order': 'checkout'}"/>
<filter string="Checkout by Day" name="checkout_by_week"
context="{'group_by':'checkout:day', 'default_order': 'checkout'}"/>
<separator/>
</group> </group>
</search> </search>
</field> </field>

View File

@@ -374,9 +374,9 @@
<field name="view_mode">tree,form,graph</field> <field name="view_mode">tree,form,graph</field>
</record> </record>
<menuitem id="menu_all_folio" name="Folio" <menuitem id="menu_all_folio" name="Reservations"
parent="hotel.hotel_management_menu" sequence="4"/> parent="hotel.hotel_management_menu" sequence="4"/>
<menuitem name="Generate Folio" id="menu_open_hotel_folio1_form_tree_all" <menuitem name="Folios" id="menu_open_hotel_folio1_form_tree_all"
action="open_hotel_folio1_form_tree_all" sequence="5" parent="menu_all_folio" /> action="open_hotel_folio1_form_tree_all" sequence="15" parent="menu_all_folio" />
</odoo> </odoo>

View File

@@ -2,6 +2,7 @@
<odoo> <odoo>
<!--=== Hotel Service Line ==== --> <!--=== Hotel Service Line ==== -->
<!-- Form view of Service Line --> <!-- Form view of Service Line -->
<record model="ir.ui.view" id="hotel_service_line_view_form"> <record model="ir.ui.view" id="hotel_service_line_view_form">
<field name="name">hotel.service.line.form</field> <field name="name">hotel.service.line.form</field>
@@ -9,7 +10,7 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Service Line"> <form string="Service Line">
<group> <group>
<field name="name" /> <field name="product_id" />
<field name="day_qty"/> <field name="day_qty"/>
<field name="date" /> <field name="date" />
</group> </group>
@@ -17,20 +18,65 @@
</field> </field>
</record> </record>
<!-- Tree view of hotel service Line --> <!-- Tree views of hotel service Line -->
<record model="ir.ui.view" id="hotel_service_line_view_tree"> <record model="ir.ui.view" id="hotel_service_line_view_tree">
<field name="name">hotel.service.line.tree</field> <field name="name">hotel.service.line.tree</field>
<field name="model">hotel.service.line</field> <field name="model">hotel.service.line</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Hotel By Day"> <tree string="Hotel By Day">
<field name="name" /> <field name="product_id" />
<field name="day_qty"/> <field name="day_qty"/>
<field name="date" /> <field name="date" />
</tree> </tree>
</field> </field>
</record> </record>
<!-- Action for hotel service line--> <record model="ir.ui.view" id="hotel_service_line_report_view_tree">
<field name="name">hotel.service.line.report.tree</field>
<field name="model">hotel.service.line</field>
<field name="arch" type="xml">
<tree string="Service By Day">
<field name="product_id" />
<field name="day_qty"/>
<field name="date" />
<field name="service_id" />
</tree>
</field>
</record>
<!-- Search Views -->
<record model="ir.ui.view" id="hotel_service_line_view_search">
<field name="name">hotel.service.line.search</field>
<field name="model">hotel.service.line</field>
<field name="arch" type="xml">
<search string="Services By Day">
<field name="service_id" />
<filter string="Today"
domain="[('date', '=', context_today().strftime('%Y-%m-%d'))]"
help="Current Booking" />
<filter string="Tomorrow"
domain="[('date', '=', (context_today()+datetime.timedelta(days=1)).strftime('%Y-%m-%d'))]"
/>
<filter string="Next 7 days"
domain="[('date', '&gt;', context_today().strftime('%Y-%m-%d')),
('date', '&lt;', (context_today()+datetime.timedelta(days=7)).strftime('%Y-%m-%d'))]"
/>
<group expand="0" string="Group By">
<filter string="By Month" name="date_by_month"
context="{'group_by':'date', 'default_order': 'date asc'}"/>
<filter string="By Week" name="date_by_week"
context="{'group_by':'date:week', 'default_order': 'date'}"/>
<filter string="By Day" name="date_by_week"
context="{'group_by':'date:day', 'default_order': 'date'}"/>
<filter string="Product" name="product_id"
context="{'group_by':'product_id', 'default_order': 'product_id'}"/>
</group>
</search>
</field>
</record>
<!-- Action for hotel service line from Form Folio/Reservation-->
<record model="ir.actions.act_window" id="action_hotel_service_line_form"> <record model="ir.actions.act_window" id="action_hotel_service_line_form">
<field name="name">Hotel Services</field> <field name="name">Hotel Services</field>
<field name="res_model">hotel.service.line</field> <field name="res_model">hotel.service.line</field>
@@ -38,8 +84,24 @@
<field name="view_mode">tree,form</field> <field name="view_mode">tree,form</field>
</record> </record>
<!--
<menuitem name="Services as Products" id="menu_open_hotel_service_line_form" <menuitem name="Services as Products" id="menu_open_hotel_service_line_form"
action="action_hotel_service_line_form" sequence="8" action="action_hotel_service_line_form" sequence="8"
parent="hotel.menu_hotel_service" /> parent="hotel.menu_hotel_service" />
-->
<act_window
id="action_service_line"
name="Services By Day"
res_model="hotel.service.line"
view_mode="tree,form"
view_id = "hotel.hotel_service_line_report_view_tree" />
<menuitem
id="menu_hotel_service_line"
name="Services by Day"
parent="hotel.hotel_reports_menu"
sequence="30"
action="action_service_line" />
</odoo> </odoo>

View File

@@ -19,10 +19,12 @@
options="{'create': False, 'create_edit': False}" options="{'create': False, 'create_edit': False}"
invisible="1" /> invisible="1" />
<!-- <field name="layout_category_id" groups="sale.group_sale_layout"/> --> <!-- <field name="layout_category_id" groups="sale.group_sale_layout"/> -->
<field name="product_qty" invisible="0" <group>
attrs="{'readonly': [('per_day','=',True)]}" <field name="product_qty"
force_save="1"/> attrs="{'readonly': [('per_day','=',True)]}"
<field name="days_qty" invisible="0"/> force_save="1"/>
</group>
<field name="days_qty" invisible="1"/>
<field name="price_unit" invisible="1" /> <field name="price_unit" invisible="1" />
<field name="discount" invisible="1"/> <field name="discount" invisible="1"/>
<field name="tax_ids" widget="many2many_tags" <field name="tax_ids" widget="many2many_tags"