Files
odoo_source/addons/product/views/product_template_views.xml
T
Mithilesh Rao 05c1cb6977 [IMP] product,*_*: Improve the product and contact list view
* stock, website_sale, base

Purpose fo the task is to improve the product list view and
contact list view.

So in this commit, we have Updated the list view of the product
updated decoration, string apply the monetory widget on cost
and sales price.
Also on contact list view make the user_id field as optiona show
instead of hide.

TaskID: 2309699
Related Enterprise: https://github.com/odoo/enterprise/pull/12288

closes odoo/odoo#55451

Closes: #55451
Related: odoo/enterprise#12288
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-08-14 10:37:01 +00:00

167 lines
8.6 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="product_template_tree_view" model="ir.ui.view">
<field name="name">product.template.product.tree</field>
<field name="model">product.template</field>
<field name="arch" type="xml">
<tree string="Product" multi_edit="1" sample="1">
<field name="product_variant_count" invisible="1"/>
<field name="sale_ok" invisible="1"/>
<field name="currency_id" invisible="1"/>
<field name="cost_currency_id" invisible="1"/>
<field name="sequence" widget="handle" readonly="1"/>
<field name="name" string="Product Name"/>
<field name="default_code" optional="show"/>
<field name="barcode" optional="hide" attrs="{'readonly': [('product_variant_count', '>', 1)]}"/>
<field name="company_id" options="{'no_create_edit': True}"
groups="base.group_multi_company" optional="hide"/>
<field name="list_price" string="Sales Price" widget='monetary' options="{'currency_field': 'currency_id'}" optional="show" decoration-muted="not sale_ok"/>
<field name="standard_price" widget='monetary' options="{'currency_field': 'cost_currency_id'}" optional="show" readonly="1"/>
<field name="categ_id" optional="hide"/>
<field name="type" optional="hide" readonly="1"/>
<field name="uom_id" readonly="1" optional="show" groups="uom.group_uom"/>
<field name="active" invisible="1"/>
<field name="activity_exception_decoration" widget="activity_exception"/>
</tree>
</field>
</record>
<record id="product_template_only_form_view" model="ir.ui.view">
<field name="name">product.template.product.form</field>
<field name="model">product.template</field>
<field name="mode">primary</field>
<field name="priority" eval="8" />
<field name="inherit_id" ref="product.product_template_form_view"/>
<field name="arch" type="xml">
<xpath expr="//form" position="attributes">
<attribute name="name">Product Template</attribute>
</xpath>
<field name="categ_id" position="after">
<field name="default_code" attrs="{'invisible': [('product_variant_count', '>', 1)]}"/>
<field name="barcode" attrs="{'invisible': [('product_variant_count', '>', 1)]}"/>
</field>
<div name="button_box" position="inside">
<button name="%(product.product_variant_action)d" type="action"
icon="fa-sitemap" class="oe_stat_button"
attrs="{'invisible': [('product_variant_count', '&lt;=', 1)]}"
groups="product.group_product_variant">
<field string="Variants" name="product_variant_count" widget="statinfo" />
</button>
</div>
<xpath expr="//page[@name='general_information']" position="after">
<page name="variants" string="Variants" groups="product.group_product_variant">
<field name="attribute_line_ids" widget="one2many" context="{'show_attribute': False}">
<tree string="Variants" editable="bottom">
<field name="attribute_id" attrs="{'readonly': [('id', '!=', False)]}"/>
<field name="value_ids" widget="many2many_tags" options="{'no_create_edit': True}" context="{'default_attribute_id': attribute_id, 'show_attribute': False}"/>
</tree>
</field>
<p class="oe_grey oe_edit_only">
<strong>Warning</strong>: adding or deleting attributes
will delete and recreate existing variants and lead
to the loss of their possible customizations.
</p>
</page>
</xpath>
</field>
</record>
<record id="product_template_kanban_view" model="ir.ui.view">
<field name="name">Product.template.product.kanban</field>
<field name="model">product.template</field>
<field name="arch" type="xml">
<kanban sample="1">
<field name="id"/>
<field name="product_variant_count"/>
<field name="currency_id"/>
<field name="activity_state"/>
<progressbar field="activity_state" colors='{"planned": "success", "today": "warning", "overdue": "danger"}'/>
<templates>
<t t-name="kanban-box">
<div class="oe_kanban_global_click">
<div class="o_kanban_image">
<img t-att-src="kanban_image('product.template', 'image_128', record.id.raw_value)" alt="Product" class="o_image_64_contain"/>
</div>
<div class="oe_kanban_details">
<strong class="o_kanban_record_title">
<field name="name"/>
</strong>
<t t-if="record.default_code.value">[<field name="default_code"/>]</t>
<div t-if="record.product_variant_count.value &gt; 1" groups="product.group_product_variant">
<strong>
<t t-esc="record.product_variant_count.value"/> Variants
</strong>
</div>
<div name="product_lst_price" class="mt-1">
Price: <field name="lst_price" widget="monetary" options="{'currency_field': 'currency_id', 'field_digits': True}"></field>
</div>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="product_template_view_activity" model="ir.ui.view">
<field name="name">product.template.activity</field>
<field name="model">product.template</field>
<field name="arch" type="xml">
<activity string="Products">
<field name="id"/>
<templates>
<div t-name="activity-box">
<img t-att-src="activity_image('product.template', 'image_128', record.id.raw_value)" role="img" t-att-title="record.id.value" t-att-alt="record.id.value"/>
<div>
<field name="name" display="full"/>
<div t-if="record.default_code.value" class="text-muted">
[<field name="default_code"/>]
</div>
</div>
</div>
</templates>
</activity>
</field>
</record>
<record id="product_template_action" model="ir.actions.act_window">
<field name="name">Products</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">product.template</field>
<field name="view_mode">kanban,tree,form</field>
<field name="view_id" ref="product_template_kanban_view"/>
<field name="search_view_id" ref="product.product_template_search_view"/>
<field name="context">{"search_default_filter_to_sell":1}</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create a new product
</p><p>
You must define a product for everything you sell or purchase,
whether it's a storable product, a consumable or a service.
</p>
</field>
</record>
<record id="action_product_template_price_list_report" model="ir.actions.server">
<field name="name">Generate Pricelist</field>
<field name="groups_id" eval="[(4, ref('product.group_product_pricelist'))]"/>
<field name="model_id" ref="product.model_product_template"/>
<field name="binding_model_id" ref="product.model_product_template"/>
<field name="state">code</field>
<field name="code">
ctx = env.context
ctx.update({'default_pricelist': env['product.pricelist'].search([], limit=1).id})
action = {
'name': 'Pricelist Report',
'type': 'ir.actions.client',
'tag': 'generate_pricelist',
'context': ctx,
}
</field>
</record>
</odoo>