From 9522d8080ff45d0265e90bc601096dcaa05ef5dc Mon Sep 17 00:00:00 2001 From: Kev-Roche Date: Mon, 7 Mar 2022 22:37:16 +0100 Subject: [PATCH] [ADD] values tree view on product attribute --- product_usability/__manifest__.py | 1 + product_usability/models/__init__.py | 1 + product_usability/models/product_attribute.py | 27 +++++++++++++ .../views/product_attribute_view.xml | 38 +++++++++++++++++++ 4 files changed, 67 insertions(+) create mode 100644 product_usability/models/product_attribute.py create mode 100644 product_usability/views/product_attribute_view.xml diff --git a/product_usability/__manifest__.py b/product_usability/__manifest__.py index ddd01db5..fe10bf86 100644 --- a/product_usability/__manifest__.py +++ b/product_usability/__manifest__.py @@ -33,6 +33,7 @@ 'views/product_template_view.xml', 'views/product_product.xml', 'views/product_category_view.xml', + 'views/product_attribute_view.xml', ], 'installable': True, } diff --git a/product_usability/models/__init__.py b/product_usability/models/__init__.py index 1de1db52..5297c191 100644 --- a/product_usability/models/__init__.py +++ b/product_usability/models/__init__.py @@ -3,3 +3,4 @@ from . import product_supplierinfo from . import product_pricelist from . import product_category +from . import product_attribute diff --git a/product_usability/models/product_attribute.py b/product_usability/models/product_attribute.py new file mode 100644 index 00000000..25bbcad3 --- /dev/null +++ b/product_usability/models/product_attribute.py @@ -0,0 +1,27 @@ +# Copyright (C) 2022 Akretion (). +# @author Kévin Roche +# 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)], + } diff --git a/product_usability/views/product_attribute_view.xml b/product_usability/views/product_attribute_view.xml new file mode 100644 index 00000000..913d913a --- /dev/null +++ b/product_usability/views/product_attribute_view.xml @@ -0,0 +1,38 @@ + + + + + product.attribute + + + +
+ +
+
+
+
+ + + product.attribute.value.view.tree + product.attribute.value + + + + + + + + +