19.0 vanilla

This commit is contained in:
Ernad Husremovic 2026-03-09 09:32:12 +01:00
parent 79f83631d5
commit 73afc09215
6267 changed files with 1534193 additions and 1130106 deletions

View file

@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="attribute_tree_view" model="ir.ui.view">
<field name="name">product.attribute.tree</field>
<field name="name">product.attribute.list</field>
<field name="model">product.attribute</field>
<field name="arch" type="xml">
<tree string="Variant Values" default_order="sequence, id">
<list string="Variant Values">
<field name="sequence" widget="handle"/>
<field name="name"/>
<field name="display_type"/>
<field name="create_variant"/>
</tree>
</list>
</field>
</record>
@ -20,32 +20,72 @@
<form string="Product Attribute">
<field name="number_related_products" invisible="1"/>
<sheet>
<widget
name="web_ribbon"
title="Archived"
bg_color="text-bg-danger"
invisible="active"
/>
<div class="oe_button_box" name="button_box">
<button class="oe_stat_button" name="action_open_related_products"
type="object" icon="fa-bars"
attrs="{'invisible': [('number_related_products', '=', [])]}">
<button name="action_open_product_template_attribute_lines"
type="object"
class="oe_stat_button"
icon="fa-bars"
invisible="not number_related_products">
<div class="o_stat_info">
<span class="o_stat_value"><field name="number_related_products"/></span>
<span class="o_stat_text">Related Products</span>
<span class="o_stat_text">Products</span>
</div>
</button>
</div>
<group name="main_fields" class="o_label_nowrap">
<label for="name" string="Attribute Name"/>
<field name="name" nolabel="1"/>
<field name="display_type" widget="radio"/>
<field name="create_variant" widget="radio" attrs="{'readonly': [('number_related_products', '!=', 0)]}"/>
<group name="main_fields">
<group name="sale_main_fields">
<label for="name" string="Attribute Name"/>
<field name="name" nolabel="1"/>
<field name="display_type" widget="radio" options="{'horizontal': True}"/>
<field name="create_variant"
widget="radio"
options="{'horizontal': True}"
readonly="number_related_products != 0 or display_type == 'multi'"
force_save="1"/>
</group>
</group>
<notebook>
<page string="Attribute Values" name="attribute_values">
<field name="value_ids" widget="one2many" nolabel="1">
<tree string="Values" editable="bottom">
<field name="value_ids" widget="pavs_one2many" nolabel="1">
<list string="Values" editable="bottom">
<field name="sequence" widget="handle"/>
<field name="name"/>
<field name="display_type" invisible="1"/>
<field name="is_custom" groups="product.group_product_variant"/>
<field name="html_color" attrs="{'column_invisible': [('parent.display_type', '!=', 'color')]}" widget="color"/>
</tree>
<field name="display_type" column_invisible="True"/>
<field name="is_custom" width="120px"
column_invisible="parent.display_type == 'multi'"/>
<field name="html_color"
widget="color"
column_invisible="parent.display_type != 'color'"
invisible="image"/>
<field name="image"
widget="image"
options="{'size': [70, 70]}"
class="oe_avatar text-start float-none"
column_invisible="parent.display_type not in ['color', 'image']"/>
<field name="default_extra_price" width="160px"/>
<button
name="action_add_to_products"
string="Add to products"
type="object"
icon="fa-plus"
column_invisible="parent.number_related_products &lt; 1"
invisible="pav_attribute_line_ids"
/>
<button
name="action_update_prices"
string="Update extra prices"
type="object"
icon="fa-refresh"
column_invisible="parent.number_related_products &lt; 1"
invisible="not pav_attribute_line_ids or not default_extra_price_changed"
/>
</list>
</field>
</page>
</notebook>
@ -56,9 +96,9 @@
<record id="attribute_action" model="ir.actions.act_window">
<field name="name">Attributes</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">product.attribute</field>
<field name="view_mode">tree,form</field>
<field name="path">attributes</field>
<field name="view_mode">list,form</field>
</record>
<record id="product_template_attribute_line_form" model="ir.ui.view">
@ -72,10 +112,10 @@
<label for="attribute_id" string="Attribute Name"/>
<field name="attribute_id" nolabel="1"/>
<field name="value_ids" widget="one2many">
<tree string="Values">
<list string="Values">
<field name="name"/>
<field name="html_color"/>
</tree>
</list>
<form string="Values">
<field name="name"/>
</form>
@ -86,41 +126,42 @@
</record>
<record id="product_template_attribute_value_view_tree" model="ir.ui.view">
<field name="name">product.template.attribute.value.view.tree</field>
<field name="name">product.template.attribute.value.view.list</field>
<field name="model">product.template.attribute.value</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Attributes" create="0" delete="0">
<list string="Attributes" create="0" delete="0" multi_edit="1">
<field name="product_tmpl_id" string="Product" column_invisible="context.get('product_invisible', False)"/>
<field name="attribute_id" optional="hide"/>
<field name="name"/>
<field name="display_type" optional="hide"/>
<field name="html_color" attrs="{'invisible': [('display_type', '!=', 'color')]}" widget="color"/>
<field name="html_color" invisible="display_type != 'color' or image" widget="color"/>
<field name="image" invisible="display_type != 'color'" widget="image" options="{'size': [70, 70]}"/>
<field name="ptav_active" optional="hide"/>
<field name="price_extra" widget="monetary" options="{'field_digits': True}"/>
<field name="currency_id" invisible="1"/>
</tree>
<field name="currency_id" column_invisible="True"/>
</list>
</field>
</record>
<record id="product_template_attribute_value_view_form" model="ir.ui.view">
<field name="name">product.template.attribute.value.view.form.</field>
<field name="model">product.template.attribute.value</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Product Attribute" create="0" delete="0">
<sheet>
<group>
<field name="ptav_active" readonly="1" attrs="{'invisible': [('ptav_active', '=', True)]}"/>
<field name="ptav_active" readonly="1" invisible="ptav_active"/>
<field name="name"/>
<field name="display_type" invisible="1"/>
<field name="html_color" attrs="{'invisible': [('display_type', '!=', 'color')]}"/>
<field name="html_color" invisible="display_type != 'color' or image"/>
<field name="image" invisible="display_type != 'color' or not image" widget="image" options="{'size': [70, 70]}"/>
<field name="price_extra" widget="monetary" options="{'field_digits': True}"/>
<field name="currency_id" invisible="1"/>
<field name="exclude_for" widget="one2many" mode="tree">
<tree editable="bottom">
<field name="exclude_for" widget="one2many" mode="list">
<list editable="bottom">
<field name="product_tmpl_id" />
<field name="value_ids" widget="many2many_tags" options="{'no_create': True}" />
</tree>
</list>
</field>
</group>
</sheet>
@ -139,4 +180,15 @@
</field>
</record>
<record id="product_attribute_search" model="ir.ui.view">
<field name="name">product.attribute.view.search</field>
<field name="model">product.attribute</field>
<field name="arch" type="xml">
<search>
<filter string="Inactive" name="inactive" domain="[('active', '=', False)]"/>
<field name="name"/>
</search>
</field>
</record>
</odoo>