From 4a434d69f935c1a87e6986a68ff818ceb2ba2d19 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 32ac6fb..7ba74fc 100644 --- a/product_usability/__manifest__.py +++ b/product_usability/__manifest__.py @@ -37,6 +37,7 @@ This module has been written by Alexis de Lattre from 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 0000000..913d913 --- /dev/null +++ b/product_usability/views/product_attribute_view.xml @@ -0,0 +1,38 @@ + + + + + product.attribute + + + +
+ +
+
+
+
+ + + product.attribute.value.view.tree + product.attribute.value + + + + + + + + +