Merge pull request #202 from akretion/14.0-fix_pricelist_and_add_attr_value_tree

14.0 fix pricelist and add attr value tree
This commit is contained in:
beau sebastien
2023-12-21 06:22:21 +01:00
committed by GitHub
6 changed files with 76 additions and 3 deletions

View File

@@ -37,6 +37,7 @@ This module has been written by Alexis de Lattre from Akretion <alexis.delattre@
'views/product_product.xml',
'views/product_config_menu.xml',
'views/product_category_view.xml',
'views/product_attribute_view.xml',
],
'installable': True,
}

View File

@@ -3,3 +3,4 @@ from . import product_template
from . import product_supplierinfo
from . import product_pricelist
from . import product_category
from . import product_attribute

View File

@@ -0,0 +1,27 @@
# Copyright (C) 2022 Akretion (<http://www.akretion.com>).
# @author Kévin Roche <kevin.roche@akretion.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import api, fields, models
class ProductAttribute(models.Model):
_inherit = "product.attribute"
values_count = fields.Integer(compute="_compute_values_count")
@api.depends("value_ids")
def _compute_values_count(self):
for attr in self:
attr.values_count = len(attr.value_ids)
def show_values_ids(self):
return {
"name": "Attributes Lines",
"type": "ir.actions.act_window",
"res_id": self.id,
"view_mode": "tree",
"res_model": "product.attribute.value",
"view_id":self.env.ref("product_usability.product_attribute_value_view_tree").id,
"target": "current",
"domain": [("id", "in", self.value_ids.ids)],
}

View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="product_attribute_values_button" model="ir.ui.view">
<field name="model">product.attribute</field>
<field name="inherit_id" ref="product.product_attribute_view_form" />
<field name="arch" type="xml">
<group name="main_fields" position='before'>
<div class="oe_button_box" name="button_box">
<button
name="show_values_ids"
type="object"
class="oe_stat_button"
icon="fa-tasks"
>
<field
name="values_count"
widget="statinfo"
string="Attribute Values"
/>
</button>
</div>
</group>
</field>
</record>
<record model="ir.ui.view" id="product_attribute_value_view_tree">
<field name="name">product.attribute.value.view.tree</field>
<field name="model">product.attribute.value</field>
<field name="arch" type="xml">
<tree string="Attributes Values">
<field name="name"/>
<field name="is_custom"/>
</tree>
</field>
</record>
</odoo>

View File

@@ -32,11 +32,13 @@
<field name="model">product.pricelist.item</field>
<field name="inherit_id" ref="product.product_pricelist_item_form_view"/>
<field name="arch" type="xml">
<field name="applied_on" position="before">
<field name="pricelist_id" position="move"/>
</field>
<field name="pricelist_id" position="attributes">
<attribute name="invisible">not context.get('product_pricelist_item_main_view')</attribute>
<attribute name="invisible">context.get('from_product_pricelist_view')</attribute>
</field>
</field>
</record>
</odoo>

View File

@@ -13,7 +13,7 @@
<field name="res_model">product.pricelist.item</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('pricelist_id', '=', active_id)]</field>
<field name="context">{'product_pricelist_item_main_view': True}</field>
<field name="context">{'product_pricelist_item_main_view': True, 'default_pricelist_id': active_id}</field>
</record>
<record id="product_pricelist_view" model="ir.ui.view">
@@ -34,6 +34,10 @@
</button>
</div>
</div>
<field name="item_ids" position="attributes">
<attribute name="context">{'from_product_pricelist_view': True, 'default_base': 'list_price'}</attribute>
</field>
</field>
</record>