Merge PR #108 into 14.0

Signed-off-by DarioLodeiros
This commit is contained in:
OCA-git-bot
2021-12-19 16:28:12 +00:00
12 changed files with 398 additions and 144 deletions

View File

@@ -89,6 +89,7 @@
"wizards/wizard_massive_changes.xml",
"wizards/wizard_advanced_filters.xml",
"views/payment_transaction_views.xml",
"views/account_move_line_views.xml",
],
"demo": [
"demo/pms_master_data.xml",

View File

@@ -32,6 +32,12 @@ class AccountMoveLine(models.Model):
store=True,
compute="_compute_name_changed_by_user",
)
pms_property_id = fields.Many2one(
name="Property",
comodel_name="pms.property",
related="move_id.pms_property_id",
store=True,
)
@api.depends("name")
def _compute_name_changed_by_user(self):

View File

@@ -22,8 +22,8 @@ class PmsReservation(models.Model):
_check_company_auto = True
name = fields.Text(
string="Reservation Id",
help="Reservation Name",
string="Reservation Code",
help="Reservation Code Identification",
readonly=True,
)
priority = fields.Integer(

View File

@@ -106,6 +106,7 @@ class PmsService(models.Model):
string="State",
help="Service status, it corresponds with folio status",
related="folio_id.state",
store=True,
)
per_day = fields.Boolean(
string="Per Day",

View File

@@ -10,4 +10,32 @@
</xpath>
</field>
</record>
<record id="account_journal_dashboard_kanban_view" model="ir.ui.view">
<field name="model">account.journal</field>
<field name="inherit_id" ref="account.account_journal_dashboard_kanban_view" />
<field name="arch" type="xml">
<xpath expr="//a[@name='open_action']" position="after">
<span class="small"> <field name="pms_property_ids" /></span>
</xpath>
</field>
</record>
<record id="view_account_journal_search" model="ir.ui.view">
<field name="model">account.journal</field>
<field name="inherit_id" ref="account.view_account_journal_search" />
<field name="arch" type="xml">
<xpath expr="//field[@name='name']" position="after">
<field
name="pms_property_ids"
string="Property"
filter_domain="[
'|',
('pms_property_ids', 'ilike', self),
('pms_property_ids', '=', False),
]"
/>
</xpath>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" ?>
<odoo>
<record id="view_move_line_tree" model="ir.ui.view">
<field name="model">account.move.line</field>
<field name="inherit_id" ref="account.view_move_line_tree" />
<field name="arch" type="xml">
<xpath expr="//field[@name='company_id']" position="after">
<field name="pms_property_id" optional="show" />
</xpath>
</field>
</record>
<record id="view_account_move_line_filter" model="ir.ui.view">
<field name="model">account.move.line</field>
<field name="inherit_id" ref="account.view_account_move_line_filter" />
<field name="arch" type="xml">
<xpath expr="//field[@name='journal_id']" position="after">
<field name="pms_property_id" />
</xpath>
<xpath expr="//filter[@name='journal']" position="after">
<filter
name="pms_property_id"
string="Property"
context="{'group_by':'pms_property_id'}"
/>
</xpath>
</field>
</record>
</odoo>

View File

@@ -14,6 +14,50 @@
</field>
</record>
<record id="view_move_tree" model="ir.ui.view">
<field name="model">account.move</field>
<field name="inherit_id" ref="account.view_move_tree" />
<field name="arch" type="xml">
<xpath expr="//field[@name='company_id']" position="after">
<field name="pms_property_id" optional="show" />
</xpath>
</field>
</record>
<record id="view_account_invoice_filter" model="ir.ui.view">
<field name="model">account.move</field>
<field name="inherit_id" ref="account.view_account_invoice_filter" />
<field name="arch" type="xml">
<xpath expr="//field[@name='invoice_user_id']" position="after">
<field name="pms_property_id" />
</xpath>
<xpath expr="//filter[@name='status']" position="after">
<filter
name="pms_property_id"
string="Property"
context="{'group_by':'pms_property_id'}"
/>
</xpath>
</field>
</record>
<record id="view_account_move_filter" model="ir.ui.view">
<field name="model">account.move</field>
<field name="inherit_id" ref="account.view_account_move_filter" />
<field name="arch" type="xml">
<xpath expr="//field[@name='journal_id']" position="after">
<field name="pms_property_id" />
</xpath>
<xpath expr="//filter[@name='by_company']" position="after">
<filter
name="by_property"
string="Property"
context="{'group_by':'pms_property_id'}"
/>
</xpath>
</field>
</record>
<menuitem
name="Invoices"
id="pms_invoice_menu"

View File

@@ -4,7 +4,7 @@
<field name="name">Checkins</field>
<field name="res_model">pms.checkin.partner</field>
<field name="view_mode">kanban,tree,form,calendar,graph,pivot</field>
<field name="context">{'search_default_future':1,}</field>
<field name="context">{'search_default_hide_strangers':1, }</field>
</record>
<menuitem
id="menu_pms_checkin_partner"
@@ -390,7 +390,7 @@
<filter
string="Hide Strangers"
name="hide_strangers"
domain="[('state', '!=', 'draft')]"
domain="[('firstname', '!=', False)]"
/>
<filter string="Out" name="out" domain="[('state', '=', 'done')]" />
<separator />
@@ -452,13 +452,25 @@
/>
</group>
<searchpanel>
<field
name="pms_property_id"
string="Property"
enable_counters="1"
icon="fa-h-square"
/>
<field
name="state"
string="State"
enable_counters="1"
select="multi"
/>
<field name="pms_property_id" enable_counters="1" select="multi" />
<field
name="nationality_id"
string="Country"
enable_counters="1"
icon="fa-globe"
select="multi"
/>
</searchpanel>
</search>
</field>

View File

@@ -446,7 +446,7 @@
string="UoM"
groups="uom.group_uom"
options='{"no_open": True}'
optional="show"
optional="hide"
/>
<field name="price_unit" />
<field
@@ -466,6 +466,7 @@
name="price_subtotal"
widget="monetary"
groups="account.group_show_line_subtotals_tax_excluded"
optional="hide"
/>
<field
name="price_total"
@@ -616,11 +617,11 @@
decoration-info="reservation_type == 'staff'"
decoration-bf="reservation_type == 'out'"
/>
<field name="partner_id" />
<field name="partner_id" invisible="1" />
<field name="partner_name" select="1" />
<field name="date_order" select="1" />
<field name="user_id" widget="many2one_avatar_user" optional="show" />
<field name="reservation_ids" widget="many2many_tags" optional="show" />
<field name="reservation_ids" widget="many2many_tags" optional="hide" />
<field name="reservation_type" invisible="1" />
<field
name="amount_total"
@@ -631,11 +632,17 @@
/>
<field
name="pending_amount"
sum="Total debt"
sum="Total Pending"
widget="monetary"
decoration-bf="1"
optional="show"
/>
<field
name="commission"
sum="Commission"
widget="monetary"
optional="hide"
/>
<field
name="state"
decoration-success="state == 'done'"
@@ -719,19 +726,37 @@
<field name="model">pms.folio</field>
<field name="arch" type="xml">
<search string="Tables Detail">
<field
name="name"
string="Name"
filter_domain="[
'|', '|', '|', '|',
('name', 'ilike', self),
('partner_name', 'ilike', self),
('document_number', 'ilike', self),
('partner_id.vat', 'ilike', self),
('mobile', 'ilike', self),
]"
/>
<field name="partner_id" />
<field name="pms_property_id" />
<field name="partner_invoice_ids" />
<field name="agency_id" />
<filter
name="to_invoice"
string="To invoice"
domain="[('invoice_status', '=', '')]"
domain="[('invoice_status', '=', 'to_invoice')]"
/>
<filter
name="payment_pending"
string="Payment Pending"
domain="[('pending_amount', '&gt;', 0)]"
/>
<filter
string="Create Date"
name="filter_create_date"
date="create_date"
/>
<group expand="0" string="Group By">
<filter
string="Customer"
@@ -740,17 +765,69 @@
context="{'group_by':'partner_id'}"
/>
<filter
string="Invoice Contact"
name="group_invoice_contact"
context="{'group_by':'partner_invoice_ids'}"
string="Channel"
domain="[]"
name="group_channel"
context="{'group_by':'channel_type_id'}"
/>
<filter
string="Tour Operator"
string="Agency"
domain="[]"
name="group_agency"
context="{'group_by':'agency_id'}"
/>
<filter
string="Creation Date"
domain="[]"
name="creation_date"
context="{'group_by':'create_date'}"
/>
<filter
string="Created By"
domain="[]"
name="created_by"
context="{'group_by':'user_id'}"
/>
</group>
<searchpanel>
<field
name="company_id"
string="Company"
enable_counters="1"
icon="fa-building"
/>
<field
name="pms_property_id"
string="Property"
enable_counters="1"
icon="fa-h-square"
/>
<field
name="state"
string="State"
enable_counters="1"
select="multi"
/>
<field
name="payment_state"
string="Payment State"
enable_counters="1"
select="multi"
/>
<field
name="invoice_status"
string="Invoice Status"
enable_counters="1"
select="multi"
/>
<field
name="channel_type_id"
string="Channel"
enable_counters="1"
icon="fa-sitemap"
expand="1"
/>
</searchpanel>
</search>
</field>
</record>

View File

@@ -217,7 +217,8 @@
widget="percentpie"
/>
</span>
<span class="o_stat_text">Datos Checkin</span>
<span class="o_stat_text">Checkin</span>
<span class="o_stat_text">Data</span>
</div>
</button>
<button
@@ -293,20 +294,12 @@
</div>
</div>
<h3 class="oe_right">
<field nolabel="1" name="name" class="oe_inline" />
<i
class="fa fa-long-arrow-right mx-2"
aria-label="Arrow icon"
title="Arrow"
/>
<field
name="pms_property_id"
options="{'no_create': True,'no_open': True}"
attrs="{'readonly':[('name', '!=', False)]}"
nolabel="1"
class="oe_inline"
/>
<field name="name" />
</h3>
<h3>
<field
@@ -328,6 +321,7 @@
class="oe_inline"
options="{'related_start_date': 'checkin'}"
/>
(<field name="nights" /> Nights)
</h3>
<h3>
<field
@@ -337,6 +331,7 @@
nolabel="1"
context="{'checkin': checkin, 'checkout': checkout, 'pms_property_id':pms_property_id, 'pricelist_id':pricelist_id}"
options="{'no_create': True,'no_open': True}"
class="oe_inline"
/>
<i
class="fa fa-long-arrow-right mx-2"
@@ -350,17 +345,13 @@
options="{'no_create': True,'no_open': True}"
placeholder="Room"
style="margin-right: 30px;"
class="oe_inline"
attrs="{'invisible': [('splitted','=',True)]}"
/>
</h3>
<group col="8">
<group
colspan="2"
col="3"
string="General Info"
name="contact_details"
>
<field name="partner_id" invisible="1" />
<group>
<group string="General Info" name="contact_details">
<field name="partner_id" />
<field
name="document_type"
attrs="{'invisible':[('reservation_type','in',('out'))]}"
@@ -401,16 +392,8 @@
placeholder="Closure reason"
attrs="{'invisible':[('reservation_type','not in',('out'))]}"
/>
<field name="nights" />
<field placeholder="Arrival Hour" name="arrival_hour" />
<field placeholder="Departure Hour" name="departure_hour" />
</group>
<group
colspan="2"
col="3"
string="Reservation Details"
name="reservation_details"
>
<group string="Reservation Details" name="reservation_details">
<field name="show_update_pricelist" invisible="1" />
<field
name="pricelist_id"
@@ -446,12 +429,6 @@
options="{'no_create': True,'no_open': True}"
attrs="{'invisible': [('reservation_type','in',('out'))]}"
/>
<field
name="folio_internal_comment"
colspan="2"
nolabel="1"
placeholder="Reservation Notes"
/>
<field
name="agency_id"
attrs="{'invisible': [('reservation_type', '!=', 'normal')]}"
@@ -460,87 +437,25 @@
name="channel_type_id"
attrs="{'readonly':[('agency_id','!=', False)], 'invisible': [('reservation_type', '!=', 'normal')]}"
/>
</group>
<group
colspan="2"
class="oe_subtotal_footer oe_right"
name="reservation_total"
string="Amounts"
attrs="{'invisible':[('reservation_type', '!=', 'normal')]}"
>
<field
name="price_services"
string="Only Services"
widget="monetary"
options="{'currency_field': 'currency_id'}"
/>
<field
name="price_total"
string="Only Room"
widget="monetary"
options="{'currency_field': 'currency_id'}"
/>
<field
name="discount"
string="Discount Room"
widget="monetary"
options="{'currency_field': 'currency_id'}"
/>
<field
name="services_discount"
string="Discount Services"
widget="monetary"
options="{'currency_field': 'currency_id'}"
/>
<field name="price_subtotal" invisible="1" />
<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"
options="{'currency_field': 'currency_id'}"
/>
<field
name="commission_percent"
string="Commission percent (%)"
/>
<field
name="commission_amount"
string="Commission Amount"
widget='monetary'
options="{'currency_field': 'currency_id'}"
/>
<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)]}"
/>
<field placeholder="Arrival Hour" name="arrival_hour" />
<field placeholder="Departure Hour" name="departure_hour" />
</group>
<div class="oe_clear" />
</group>
<group>
<field
name="folio_internal_comment"
colspan="12"
nolabel="1"
placeholder="Reservation Notes"
/>
</group>
<group invisible="1">
<field
name="company_id"
options="{'no_create': True}"
groups="base.group_multi_company"
/>
<field name="pms_property_id" invisible="1" />
<!-- <field name="check_rooms" invisible="1"/> -->
<field name="checkin_partner_pending_count" invisible="1" />
<!-- <field name="product_uom" string="Rent(UOM)" invisible="1" /> -->
@@ -630,9 +545,13 @@
name="open_service_ids"
attrs="{'invisible': [('per_day','=',False)]}"
/>
<field name="tax_ids" widget="many2many_tags" />
<field name="price_subtotal" />
<field name="price_tax" />
<field
name="tax_ids"
widget="many2many_tags"
optional="hide"
/>
<field name="price_subtotal" optional="hide" />
<field name="price_tax" optional="hide" />
<field name="discount" />
<field name="price_total" />
<field name="service_line_ids" invisible="1">
@@ -654,6 +573,76 @@
</tree>
</field>
</group>
<group
class="oe_subtotal_footer oe_right"
name="reservation_total"
string="Amounts"
attrs="{'invisible':[('reservation_type', '!=', 'normal')]}"
>
<field
name="price_services"
string="Only Services"
widget="monetary"
options="{'currency_field': 'currency_id'}"
/>
<field
name="price_total"
string="Only Room"
widget="monetary"
options="{'currency_field': 'currency_id'}"
/>
<field
name="discount"
string="Discount Room"
widget="monetary"
options="{'currency_field': 'currency_id'}"
/>
<field
name="services_discount"
string="Discount Services"
widget="monetary"
options="{'currency_field': 'currency_id'}"
/>
<field name="price_subtotal" invisible="1" />
<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"
options="{'currency_field': 'currency_id'}"
/>
<field
name="commission_percent"
string="Commission percent (%)"
/>
<field
name="commission_amount"
string="Commission Amount"
widget='monetary'
options="{'currency_field': 'currency_id'}"
/>
<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>
</page>
<page
name="persons"
@@ -768,7 +757,7 @@
<field name="partner_name" />
<field name="room_type_id" optional="show" />
<field name="adults" optional="show" />
<field name="ratio_checkin_data" widget="progressbar" optional="show" />
<field name="ratio_checkin_data" widget="progressbar" optional="hide" />
<field name="overbooking" invisible="1" />
<field name="activity_ids" widget="list_activity" optional="show" />
<field name="user_id" optional="show" widget="many2one_avatar_user" />
@@ -779,7 +768,8 @@
<field name="agency_id" optional="show" />
<field name="channel_type_id" optional="show" />
<field name="price_subtotal" invisible="1" />
<field name="price_total" />
<field name="price_total" optional="hide" sum="Total" />
<field name="commission_amount" optional="hide" sum="Commission" />
<field name="folio_pending_amount" string="Folio Pending Amount" />
<field
name="state"
@@ -801,11 +791,11 @@
widget="badge"
optional="show"
/>
<field name="invoice_status" optional="show" />
<field name="invoice_status" optional="hide" />
<field
name="company_id"
groups="base.group_multi_company"
optional="show"
optional="hide"
readonly="1"
/>
<field
@@ -871,8 +861,15 @@
<search string="Reservation Detail">
<field
name="name"
string="Customer"
filter_domain="['|', '|', '|', ('partner_name', 'ilike', self), ('document_number', 'ilike', self), ('partner_id.vat', 'ilike', self), ('mobile', 'ilike', self)]"
string="Name"
filter_domain="[
'|', '|', '|', '|',
('name', 'ilike', self),
('partner_name', 'ilike', self),
('document_number', 'ilike', self),
('partner_id.vat', 'ilike', self),
('mobile', 'ilike', self),
]"
/>
<field name="partner_id" />
<field name="folio_id" />
@@ -904,6 +901,16 @@
name="overbookings"
domain="[('overbooking', '=', 'True')]"
/>
<filter
string="Splitted"
name="splited"
domain="[('splitted', '=', 'True')]"
/>
<filter
string="To Assign"
name="to_assign"
domain="[('to_assign','=',True)]"
/>
<filter
string="Reservations to 7 days"
name="next_res_week"
@@ -925,11 +932,6 @@
('state', 'in', ['confirm','onboard'])]"
help="Show all reservations for which date enter is before than aprox. 1 month"
/>
<filter
string="To Assign"
name="to_assign"
domain="[('to_assign','=',True)]"
/>
<separator />
<!--<filter
string="Web"
@@ -981,6 +983,23 @@
<group expand="0" string="Group By">
<!-- <filter string="Room Type" domain="[]"
context="{'group_by':'room_type_id'}"/> -->
<filter
string="Property"
name="pms_property"
context="{'group_by':'pms_property_id'}"
/>
<filter
string="Agency"
domain="[]"
name="agency"
context="{'group_by':'agency_id'}"
/>
<filter
string="Channel"
domain="[]"
name="channel"
context="{'group_by':'channel_type_id'}"
/>
<filter
string="Room Type"
domain="[]"
@@ -1007,6 +1026,12 @@
/>
</group>
<searchpanel>
<field
name="pms_property_id"
string="Property"
enable_counters="1"
icon="fa-h-square"
/>
<field
name="state"
string="State"

View File

@@ -86,6 +86,7 @@
</form>
</field>
</record>
<record model="ir.ui.view" id="pms_room_type_view_tree">
<field name="name">pms.room_type.tree</field>
<field name="model">pms.room.type</field>
@@ -96,16 +97,37 @@
<field name="name" />
<field name="default_code" />
<field name="list_price" />
<field name="room_ids" />
<field name="room_ids" widget="many2many_tags" />
<field name="total_rooms_count" />
</tree>
</field>
</record>
<record model="ir.ui.view" id="pms_room_type_view_search">
<field name="name">pms.room.type.search</field>
<field name="model">pms.room.type</field>
<field name="arch" type="xml">
<search string="Room Type">
<field name="name" />
<field
name="pms_property_ids"
string="Property"
filter_domain="[
'|',
('pms_property_ids', 'ilike', self),
('pms_property_ids', '=', False),
]"
/>
</search>
</field>
</record>
<record model="ir.actions.act_window" id="open_pms_room_type_form_tree">
<field name="name">Room Type</field>
<field name="res_model">pms.room.type</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem
name="Room Types"
id="menu_open_pms_room_type_form_tree"

View File

@@ -63,16 +63,8 @@
<field name="service_id" optional="show" />
<field name="reservation_id" />
<field name="tax_ids" optional="show" />
<field
name="discount"
optional="show"
attrs="{'invisible':[('is_board_service','=', True)]}"
/>
<field
name="price_day_total"
optional="show"
attrs="{'invisible':[('is_board_service','=', True)]}"
/>
<field name="discount" optional="show" />
<field name="price_day_total" optional="show" />
</tree>
</field>
</record>
@@ -143,6 +135,20 @@
context="{'group_by':'product_id', 'default_order': 'product_id'}"
/>
</group>
<searchpanel>
<field
name="pms_property_id"
string="Property"
enable_counters="1"
icon="fa-h-square"
/>
<field
name="product_id"
string="Product"
enable_counters="1"
select="multi"
/>
</searchpanel>
</search>
</field>
</record>
@@ -212,6 +218,7 @@
'search_default_date_by_day': 1,
'search_default_group_product_id': 1,
}</field>
<field name="domain">[('cancel_discount', '=', 0)]</field>
</record>
<menuitem