[IMP] Views Reservation and folio

This commit is contained in:
Dario Lodeiros
2019-04-08 20:25:23 +02:00
parent 682dd59531
commit 119e201fc3
3 changed files with 57 additions and 39 deletions

View File

@@ -180,6 +180,7 @@ class HotelReservation(models.Model):
reservation_type = fields.Selection(related='folio_id.reservation_type',
default=lambda *a: 'normal')
invoice_count = fields.Integer(related='folio_id.invoice_count')
credit_card_details = fields.Text(related='folio_id.credit_card_details')
board_service_room_id = fields.Many2one('hotel.board.service.room.type',
string='Board Service')
cancelled_reason = fields.Selection([
@@ -219,9 +220,9 @@ class HotelReservation(models.Model):
partner_invoice_state_id = fields.Many2one(related="partner_invoice_id.state_id")
partner_invoice_country_id = fields.Many2one(related="partner_invoice_id.country_id")
partner_invoice_email = fields.Char(related="partner_invoice_id.email")
partner_invoice_lang = fields.Selection(related="partner_invoice_id.lang")
partner_invoice_type = fields.Selection(related="partner_invoice_id.type")
partner_invoice_parent_id = fields.Many2one(related="partner_invoice_id.parent_id")
partner_invoice_lang = fields.Selection(related="partner_invoice_id.lang")
partner_invoice_type = fields.Selection(related="partner_invoice_id.type")
partner_invoice_parent_id = fields.Many2one(related="partner_invoice_id.parent_id")
closure_reason_id = fields.Many2one(related='folio_id.closure_reason_id')
partner_diff_invoicing = fields.Boolean('Bill to another Address', default='_default_diff_invoicing')
company_id = fields.Many2one(related='folio_id.company_id', string='Company', store=True, readonly=True)

View File

@@ -145,8 +145,12 @@
</group>
<group>
<group>
<field name="partner_invoice_vat" />
<field name="partner_invoice_email" />
<field name="partner_invoice_vat"
attrs="{'readonly': [('partner_invoice_id', '!=', False),
('partner_invoice_vat','!=', False)]}" />
<field name="partner_invoice_email"
attrs="{'readonly': [('partner_invoice_id', '!=', False),
('partner_invoice_email','!=', False)]}" />
</group>
<group>
<field name="partner_invoice_parent_id" />
@@ -155,12 +159,24 @@
<group>
<label for="partner_invoice_street" string="Address"/>
<div class="o_address_format">
<field name="partner_invoice_street" placeholder="Street..." class="o_address_street"/>
<field name="partner_invoice_street2" placeholder="Street 2..." class="o_address_street"/>
<field name="partner_invoice_city" placeholder="City" class="o_address_city"/>
<field name="partner_invoice_state_id" class="o_address_state" placeholder="State" options='{"no_open": True}'/>
<field name="partner_invoice_zip" placeholder="ZIP" class="o_address_zip"/>
<field name="partner_invoice_country_id" placeholder="Country" class="o_address_country" options='{"no_open": True, "no_create": True}'/>
<field name="partner_invoice_street" placeholder="Street..." class="o_address_street"
attrs="{'readonly': [('partner_invoice_id', '!=', False),
('partner_invoice_street','!=', False)]}"/>
<field name="partner_invoice_street2" placeholder="Street 2..." class="o_address_street"
attrs="{'readonly': [('partner_invoice_id', '!=', False),
('partner_invoice_street2','!=', False)]}"/>
<field name="partner_invoice_city" placeholder="City" class="o_address_city"
attrs="{'readonly': [('partner_invoice_id', '!=', False),
('partner_invoice_city','!=', False)]}"/>
<field name="partner_invoice_state_id" class="o_address_state" placeholder="State" options='{"no_open": True}'
attrs="{'readonly': [('partner_invoice_id', '!=', False),
('partner_invoice_state_id','!=', False)]}"/>
<field name="partner_invoice_zip" placeholder="ZIP" class="o_address_zip"
attrs="{'readonly': [('partner_invoice_id', '!=', False),
('partner_invoice_zip','!=', False)]}"/>
<field name="partner_invoice_country_id" placeholder="Country" class="o_address_country" options='{"no_open": True, "no_create": True}'
attrs="{'readonly': [('partner_invoice_id', '!=', False),
('partner_invoice_country_id','!=', False)]}"/>
</div>
</group>
<group>

View File

@@ -63,7 +63,7 @@
attrs="{'invisible':[('splitted', '=', False)]}"
/>
<button name="open_master" string="Open Master" type="object" class="oe_highlight" icon="fa-file" attrs="{'invisible':['|',['parent_reservation', '=', False]]}" />
<field name="state" select="2" widget="statusbar" statusbar_visible="draft,confirm,booking,done" />
<field name="state" widget="statusbar" statusbar_visible="draft,confirm,booking,done" />
</header>
<sheet>
@@ -143,13 +143,6 @@
<span class="label label-danger" attrs="{'invisible': [('state', 'not in', ('cancelled'))]}">Cancelled Reservation!</span>
<span class="label label-warning" attrs="{'invisible': [('overbooking', '=', False)]}">OverBooking!</span>
<h1>
<label for="preconfirm"
string="Autoconfirm"
attrs="{'invisible':[('folio_id', '!=', False)]}"
/>
<span name="preconfirm" attrs="{'invisible':[('folio_id', '!=', False)]}">
<field name="preconfirm" />
</span>
<field name="room_id" select="1"
nolabel="1" options="{'no_create': True,'no_open': True}" placeholder="Room"
style="margin-right: 30px;" required='1'/>
@@ -178,26 +171,33 @@
</h3>
<field name="out_service_description" placeholder="Out service description"
attrs="{'invisible':[('reservation_type','not in',('out'))]}"/>
<group col="12">
<group colspan="5" string="General Info" name="contact_details" >
<field name="email" placeholder="email" widget="email"
attrs="{'invisible': [('reservation_type','in',('out'))]}"/>
<field name="mobile" placeholder="mobile" widget="phone"
attrs="{'invisible': [('reservation_type','in',('out'))]}"/>
<field name="phone" placeholder="phone" widget="phone"
<group col="8">
<group colspan="2" col="3" string="General Info" name="contact_details" >
<field name="email" colspan="2" nolabel="1" placeholder="email" widget="email"
attrs="{'invisible': [('reservation_type','in',('out'))],
'readonly': [('partner_id', '!=', False),
('email','!=', False)]}"/>
<field name="mobile" colspan="2" nolabel="1" placeholder="mobile" widget="phone"
attrs="{'invisible': [('reservation_type','in',('out'))],
'readonly': [('partner_id', '!=', False),
('mobile','!=', False)]}"/>
<field name="phone" colspan="2" nolabel="1" placeholder="phone" widget="phone"
attrs="{'invisible': [('reservation_type','in',('out'))],
'required': [('channel_type','in',('door','mail','phone')),
('mobile','=','')]}"
('mobile','=','')],
'readonly': [('partner_id', '!=', False),
('phone','!=', False)]}"
/>
<field name="pricelist_id"
<field placeholder="Partner Notes" colspan="2" nolabel="1" name="partner_internal_comment" string="Partner Note"
attrs="{'invisible': [('reservation_type','in',('out'))]}"/>
<field name="partner_internal_comment" string="Partner Note"
attrs="{'invisible': [('reservation_type','in',('out'))]}"/>
<field name="cancelled_reason" attrs="{'invisible':[('state','not in',('cancelled'))]}"/>
<field name="arrival_hour"/>
<field name="departure_hour"/>
<field nolabel="1" placeholder="Cancel Reason" name="cancelled_reason" attrs="{'invisible':[('state','not in',('cancelled'))]}"/>
<field nolabel="1" colspan="2" placeholder="Description in Guest Documents" name="name"/>
<field placeholder="Arriva Hour" name="arrival_hour"/>
<field placeholder="Departure our" name="departure_hour"/>
</group>
<group colspan="4" string="Reservation Details" name="reservation_details">
<group colspan="2" col="3" string="Reservation Details" name="reservation_details">
<field name="pricelist_id"
attrs="{'invisible': [('reservation_type','in',('out'))]}"/>
<field name="cancelled_reason" attrs="{'invisible': [('state', 'not in', ('cancelled'))]}"/>
<field name="nights"/>
<!-- TODO: How to filter to avoid show False (generic) pricelist board when exist a specific pricelist board¿? -->
@@ -206,19 +206,19 @@
('pricelist_id', 'in', [pricelist_id, False])]"
options="{'no_create': True,'no_open': True}"
attrs="{'invisible': ['|',('reservation_type','in',('out')),('parent_reservation','!=',False)]}" />
<field name="name"/>
<field name="adults" attrs="{'invisible': [('reservation_type','in',('out'))]}"/>
<field name="children" attrs="{'invisible': [('reservation_type','in',('out'))]}"/>
<field name="qty_invoiced" invisible="1"/>
<field name="qty_to_invoice" invisible="1"/>
<field name="room_type_id" on_change="1" options="{'no_create': True,'no_open': True}"
attrs="{'readonly':[('state','not in',('draft'))]}"/>
<field name="folio_internal_comment" colspan="2" nolabel="1" placeholder="Reservation Notes"/>
</group>
<group class="oe_subtotal_footer" style="margin-right: 20px; !important" colspan="2" name="reservation_total" string="Amounts">
<group colspan="2" col="3" class="oe_subtotal_footer" style="margin-right: 20px; !important" name="reservation_total" string="Amounts">
<div class="oe_subtotal_footer_separator oe_inline o_td_label">
<label for="price_room_services_set" string="Reservation Total"/>
</div>
<field name="price_room_services_set" nolabel="1" class="oe_subtotal_footer_separator" widget="monetary"/>
<field name="price_room_services_set" nolabel="1" class="oe_subtotal_footer_separator" widget="monetary"/>
<field name="discount" string="Discount Room" widget="monetary"/>
<field name="price_subtotal" invisible="1"/>
<field name="price_services" string="Only Services" widget="monetary"/>
@@ -226,9 +226,10 @@
<field name="state" invisible="1"/>
<field name="invoice_status" invisible="1"/>
<field name="currency_id" invisible="1"/>
<field name="preconfirm" attrs="{'invisible':[('folio_id', '!=', False)]}" />
<field name="credit_card_details" nolabel="1" placeholder="Credit Card Details" colspan="2" attrs="{'invisible':[('folio_id','!=',False),('folio_pending_amount','&lt;=',0)]}"/>
</group>
</group>
<field name="folio_internal_comment" nolabel="1" placeholder="Reservation Notes"/>
</group>
<group invisible="1">
<field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/>
<!-- <field name="check_rooms" invisible="1"/> -->