[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_room_closure_reason_views.xml',
'views/hotel_service_views.xml',
'views/hotel_service_line_views.xml',
'views/hotel_board_service_views.xml',
'views/hotel_checkin_partner_views.xml',
'views/hotel_room_type_availability_views.xml',

View File

@@ -8,12 +8,12 @@ class HotelServiceLine(models.Model):
_name = "hotel.service.line"
_order = "date"
service_id = fields.Many2one('hotel.service', string='Service',
service_id = fields.Many2one('hotel.service', string='Service Room',
ondelete='cascade', required=True,
copy=False)
date = fields.Date('Date')
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')
def no_free_resources(self):

View File

@@ -109,23 +109,38 @@
/>
<filter string="Checkins Tomorrow" name="enter_tomorrow"
domain="[('enter_date', '=', (context_today()+datetime.timedelta(days=1)).strftime('%Y-%m-%d')),
('state', '=', 'draft')]"
('state', '=', 'confirm')]"
help="Show all checkins for enter tomorrow"/>
<filter string="Checkins to 7 days" name="next_res_week"
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"/>
<filter string="On Board Tomorrow" name="next_res_2week"
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"/>
<group expand="0" string="Group By">
<filter string="Creation Date" domain="[]"
context="{'group_by':'create_date'}" />
<filter string="Checkin Date" domain="[]"
context="{'group_by':'checkin'}" />
<filter string="Checkout Date" domain="[]"
context="{'group_by':'checkout'}" />
<filter string="Create by Month" name="create_date_by_month"
context="{'group_by':'create_date', 'default_order': 'create_date asc'}"/>
<filter string="Create by Week" name="create_date_by_week"
context="{'group_by':'create_date:week', 'default_order': 'create_date'}"/>
<filter string="Create by Day" name="create_date_by_week"
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>
</search>
</field>

View File

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

View File

@@ -2,6 +2,7 @@
<odoo>
<!--=== Hotel Service Line ==== -->
<!-- Form view of Service Line -->
<record model="ir.ui.view" id="hotel_service_line_view_form">
<field name="name">hotel.service.line.form</field>
@@ -9,7 +10,7 @@
<field name="arch" type="xml">
<form string="Service Line">
<group>
<field name="name" />
<field name="product_id" />
<field name="day_qty"/>
<field name="date" />
</group>
@@ -17,20 +18,65 @@
</field>
</record>
<!-- Tree view of hotel service Line -->
<!-- Tree views of hotel service Line -->
<record model="ir.ui.view" id="hotel_service_line_view_tree">
<field name="name">hotel.service.line.tree</field>
<field name="model">hotel.service.line</field>
<field name="arch" type="xml">
<tree string="Hotel By Day">
<field name="name" />
<field name="product_id" />
<field name="day_qty"/>
<field name="date" />
</tree>
</field>
</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">
<field name="name">Hotel Services</field>
<field name="res_model">hotel.service.line</field>
@@ -38,8 +84,24 @@
<field name="view_mode">tree,form</field>
</record>
<!--
<menuitem name="Services as Products" id="menu_open_hotel_service_line_form"
action="action_hotel_service_line_form" sequence="8"
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>

View File

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