diff --git a/product_usability/__manifest__.py b/product_usability/__manifest__.py index 0cdca0d..717d9dc 100644 --- a/product_usability/__manifest__.py +++ b/product_usability/__manifest__.py @@ -1,11 +1,11 @@ -# Copyright 2015-2020 Akretion France (http://www.akretion.com) +# Copyright 2015-2022 Akretion France (http://www.akretion.com) # @author Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { 'name': 'Product Usability', - 'version': '14.0.1.0.0', + 'version': '16.0.1.0.0', 'category': 'Product', 'license': 'AGPL-3', 'summary': 'Small usability enhancements to the product module', @@ -15,18 +15,16 @@ Product Usability The usability enhancements include: -* show the object product.price.history in the product template form view - -* wider name field in product form view - * hide description field on product (description_sale must be use instead of description) * add a field barcode_type in product form view +* allow to search a product by supplier + This module has been written by Alexis de Lattre from Akretion . """, 'author': 'Akretion', - 'website': 'http://www.akretion.com', + 'website': 'https://github.com/akretion/odoo-usability', 'depends': ['product'], "external_dependencies": {"python": ["stdnum"]}, 'data': [ @@ -38,5 +36,5 @@ This module has been written by Alexis de Lattre from Akretion # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/product_usability/models/product_product.py b/product_usability/models/product_product.py index 4fc551c..3ef8562 100644 --- a/product_usability/models/product_product.py +++ b/product_usability/models/product_product.py @@ -1,4 +1,4 @@ -# Copyright 2015-2021 Akretion (http://www.akretion.com) +# Copyright 2015-2022 Akretion (http://www.akretion.com) # @author Alexis de Lattre # @author Raphaël Valyi # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). @@ -14,7 +14,7 @@ class ProductProduct(models.Model): barcode = fields.Char(tracking=20) weight = fields.Float(tracking=30) active = fields.Boolean(tracking=40) - barcode_type = fields.Char(compute='_compute_barcode_type') + barcode_type = fields.Char(compute='_compute_barcode_type', precompute=True) _sql_constraints = [( # Maybe it could be better to have a constrain per company diff --git a/product_usability/models/product_supplierinfo.py b/product_usability/models/product_supplierinfo.py index 8be34c5..4f11d78 100644 --- a/product_usability/models/product_supplierinfo.py +++ b/product_usability/models/product_supplierinfo.py @@ -1,4 +1,4 @@ -# Copyright 2015-2020 Akretion (http://www.akretion.com) +# Copyright 2015-2022 Akretion (http://www.akretion.com) # @author Alexis de Lattre # @author Raphaël Valyi # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). @@ -9,4 +9,4 @@ from odoo import fields, models class ProductSupplierinfo(models.Model): _inherit = 'product.supplierinfo' - name = fields.Many2one(domain=[('parent_id', '=', False)]) + partner_id = fields.Many2one(domain=[('parent_id', '=', False)]) diff --git a/product_usability/models/product_template.py b/product_usability/models/product_template.py index ca8238e..000b480 100644 --- a/product_usability/models/product_template.py +++ b/product_usability/models/product_template.py @@ -1,4 +1,4 @@ -# Copyright 2015-2021 Akretion (http://www.akretion.com) +# Copyright 2015-2022 Akretion (http://www.akretion.com) # @author Alexis de Lattre # @author Raphaël Valyi # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). @@ -14,7 +14,7 @@ class ProductTemplate(models.Model): # in v10, that field was defined in procurement_suggest, but we will # probably not port procurement_suggest because it is native in v14 seller_id = fields.Many2one( - 'res.partner', related='seller_ids.name', store=True, + 'res.partner', related='seller_ids.partner_id', store=True, string='Main Supplier') # in v14, I noticed that the tracking of the fields of product.template @@ -24,7 +24,7 @@ class ProductTemplate(models.Model): barcode = fields.Char(tracking=20) default_code = fields.Char(tracking=30) categ_id = fields.Many2one(tracking=40) - type = fields.Selection(tracking=50) + detailed_type = fields.Selection(tracking=50) list_price = fields.Float(tracking=60) weight = fields.Float(tracking=70) sale_ok = fields.Boolean(tracking=80) @@ -33,6 +33,9 @@ class ProductTemplate(models.Model): company_id = fields.Many2one(tracking=110) barcode_type = fields.Char(compute='_compute_template_barcode_type') + # precompute=True doesn't work on product.template + # (works fine on product.product), probably because we don't depend + # on 'barcode' @api.depends('product_variant_ids.barcode') def _compute_template_barcode_type(self): ppo = self.env['product.product'] diff --git a/product_usability/views/product_pricelist_item.xml b/product_usability/views/product_pricelist_item.xml index 1313d55..65cd5b6 100644 --- a/product_usability/views/product_pricelist_item.xml +++ b/product_usability/views/product_pricelist_item.xml @@ -1,6 +1,6 @@ diff --git a/product_usability/views/product_product.xml b/product_usability/views/product_product.xml index f099b17..ce9bcd3 100644 --- a/product_usability/views/product_product.xml +++ b/product_usability/views/product_product.xml @@ -1,6 +1,6 @@ diff --git a/product_usability/views/product_template_view.xml b/product_usability/views/product_template_view.xml index d473bf9..e058977 100644 --- a/product_usability/views/product_template_view.xml +++ b/product_usability/views/product_template_view.xml @@ -14,7 +14,7 @@ - +