[IMP] sale,*: factorize order & quotations tree views

task-3213457

Part-of: odoo/odoo#114221
This commit is contained in:
Victor Feyens
2023-03-13 17:45:33 +01:00
parent 85e9290711
commit bfb6dda897
3 changed files with 85 additions and 66 deletions
+73 -43
View File
@@ -103,73 +103,103 @@
</field>
</record>
<!-- TODO VFE factorize core fields between quotation & SO views -->
<record id="view_order_tree" model="ir.ui.view">
<record id="sale_order_tree" model="ir.ui.view">
<field name="name">sale.order.tree</field>
<field name="model">sale.order</field>
<field name="priority">2</field>
<field name="priority">1000</field>
<field name="arch" type="xml">
<tree string="Sales Orders" sample="1"
decoration-info="invoice_status == 'to invoice'"
decoration-muted="state == 'cancel'">
<tree class="o_sale_order"
string="Sales Orders"
sample="1"
decoration-info="state == 'draft' or invoice_status == 'to invoice'"
decoration-primary="state == 'sent'"
decoration-muted="state == 'cancel'">
<field name="message_needaction" invisible="1"/>
<field name="currency_id" invisible="1"/>
<field name="name" string="Number" readonly="1" decoration-bf="1"/>
<field name="date_order" string="Order Date" widget="date" optional="show"/>
<field name="date_order" widget="date" optional="show"/>
<field name="commitment_date" optional="hide"/>
<field name="expected_date" optional="hide"/>
<field name="partner_id" readonly="1"/>
<field name="user_id" optional="show" widget="many2one_avatar_user"/>
<field name="user_id" widget="many2one_avatar_user" optional="show"/>
<field name="activity_ids" widget="list_activity" optional="show"/>
<field name="team_id" optional="hide"/>
<field name="company_id" groups="base.group_multi_company" optional="show" readonly="1"/>
<field name="amount_untaxed" sum="Total Tax Excluded" widget="monetary" optional="hide"/>
<field name="amount_tax" sum="Tax Total" widget="monetary" optional="hide"/>
<field name="amount_total" sum="Total Tax Included" widget="monetary" decoration-bf="1" optional="show"/>
<field name="currency_id" invisible="1"/>
<field name="company_id" groups="!base.group_multi_company" invisible="1"/>
<field name="company_id"
groups="base.group_multi_company"
optional="show"
readonly="1"/>
<field name="amount_untaxed"
sum="Total Tax Excluded"
widget="monetary"
optional="hide"/>
<field name="amount_tax"
sum="Tax Total"
widget="monetary"
optional="hide"/>
<field name="amount_total"
sum="Total Tax Included"
widget="monetary"
decoration-bf="1"
optional="show"/>
<field name="tag_ids"
widget="many2many_tags"
options="{'color_field': 'color'}"
optional="hide"/>
<field name="state"
decoration-success="state == 'sale' or state == 'done'"
decoration-info="state == 'draft'"
decoration-primary="state == 'sent'"
widget="badge"
optional="hide"/>
<field name="invoice_status"
decoration-success="invoice_status == 'invoiced'"
decoration-info="invoice_status == 'to invoice'"
decoration-warning="invoice_status == 'upselling'"
widget="badge" optional="show"/>
<field name="tag_ids" optional="hide" widget="many2many_tags" options="{'color_field': 'color'}"/>
widget="badge"
optional="show"/>
<field name="amount_to_invoice" optional="hide"/>
<field name="state" invisible="1"/>
</tree>
</field>
</record>
<record id="view_order_tree" model="ir.ui.view">
<field name="name">sale.order.tree (orders)</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale_order_tree"/>
<field name="mode">primary</field>
<field name="priority">2</field>
<field name="arch" type="xml">
<!-- Dummy view content since empty views are not supported atm -->
<tree position="attributes">
<attribute name="string">Sales Orders</attribute>
</tree>
</field>
</record>
<record id="view_quotation_tree" model="ir.ui.view">
<field name="name">sale.order.tree</field>
<field name="name">sale.order.tree (quotes)</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale_order_tree"/>
<field name="mode">primary</field>
<field name="priority">4</field>
<field name="arch" type="xml">
<tree string="Quotation" class="o_sale_order" sample="1"
decoration-info="state == 'draft'"
decoration-primary="state == 'sent'"
decoration-muted="state == 'cancel'">
<field name="name" string="Number" readonly="1" decoration-bf="1"/>
<field name="create_date" string="Creation Date" widget="date" optional="show"/>
<field name="commitment_date" widget="date" optional="hide"/>
<field name="expected_date" widget="date" optional="hide"/>
<field name="partner_id" readonly="1"/>
<field name="user_id" widget="many2one_avatar_user" optional="show"/>
<field name="activity_ids" widget="list_activity" optional="show"/>
<field name="team_id" optional="hide"/>
<field name="tag_ids" optional="hide" widget="many2many_tags" options="{'color_field': 'color'}"/>
<field name="company_id" groups="base.group_multi_company" optional="show" readonly="1"/>
<field name="company_id" groups="!base.group_multi_company" invisible="1"/>
<field name="amount_untaxed" sum="Total Tax Excluded" widget="monetary" optional="hide"/>
<field name="amount_tax" sum="Tax Total" widget="monetary" optional="hide"/>
<field name="amount_total" sum="Total Tax Included" widget="monetary" decoration-bf="1" optional="show"/>
<field name="state"
decoration-success="state == 'sale' or state == 'done'"
decoration-info="state == 'draft'"
decoration-primary="state == 'sent'"
widget="badge" optional="show"/>
<field name="invoice_status" optional="hide"/>
<field name="message_needaction" invisible="1"/>
<field name="currency_id" invisible="1"/>
<tree position="attributes">
<attribute name="string">Quotations</attribute>
</tree>
<field name="date_order" position="replace">
<field name="create_date" string="Creation Date" widget="date" optional="show"/>
</field>
<field name="state" position="attributes">
<attribute name="optional">show</attribute>
</field>
<field name="invoice_status" position="attributes">
<attribute name="optional">hide</attribute>
</field>
<field name="amount_to_invoice" position="attributes">
<attribute name="invisible">1</attribute>
</field>
</field>
</record>
+8 -8
View File
@@ -54,14 +54,17 @@
</field>
</record>
<record id="view_quotation_tree" model="ir.ui.view">
<record id="sale_order_tree" model="ir.ui.view">
<field name="name">sale.order.tree.inherit.sale.stock</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_quotation_tree"/>
<field name="inherit_id" ref="sale.sale_order_tree"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='tag_ids']" position="after">
<field name="warehouse_id" options="{'no_create': True}" groups="stock.group_stock_multi_warehouses" optional="hide" />
</xpath>
<field name="tag_ids" position="after">
<field name="warehouse_id"
options="{'no_create': True}"
groups="stock.group_stock_multi_warehouses"
optional="hide"/>
</field>
</field>
</record>
@@ -70,9 +73,6 @@
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_tree"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='team_id']" position="after">
<field name="warehouse_id" options="{'no_create': True}" groups="stock.group_stock_multi_warehouses" optional="hide"/>
</xpath>
<field name="invoice_status" position="before">
<field name="effective_date" invisible="1"/>
<field name="delivery_status" optional="hide" widget="badge"
+4 -15
View File
@@ -204,25 +204,14 @@
</field>
</record>
<record id="view_quotation_tree" model="ir.ui.view">
<record id="sale_order_tree" model="ir.ui.view">
<field name="name">sale.order.tree.inherit.website.sale</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_quotation_tree"/>
<field name="inherit_id" ref="sale.sale_order_tree"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='user_id']" position="before">
<field name="website_id" optional="hide"/>
</xpath>
</field>
</record>
<record id="view_order_tree" model="ir.ui.view">
<field name="name">sale.order.tree.inherit.website.sale</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_tree"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='partner_id']" position="before">
<field name="user_id" position="before">
<field name="website_id" optional="show"/>
</xpath>
</field>
</field>
</record>
</odoo>