From e505e7e07f8dd728f844f0eb39702bc6c1c1de88 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Wed, 2 Dec 2020 00:23:27 +0100 Subject: [PATCH] [MIG] product_usability to v14 --- product_usability/__init__.py | 2 - product_usability/__manifest__.py | 11 ++- product_usability/models/__init__.py | 7 +- product_usability/models/pricelist.py | 11 --- product_usability/models/product.py | 46 ----------- .../models/product_price_history.py | 16 ---- product_usability/models/product_pricelist.py | 11 +++ product_usability/models/product_product.py | 28 +++++++ .../models/product_supplierinfo.py | 7 +- product_usability/models/product_template.py | 39 ++++----- .../security/product_security.xml | 17 ---- .../views/product_price_history_view.xml | 65 --------------- .../views/product_pricelist_item.xml | 42 ++++++++++ .../views/product_pricelist_view.xml | 80 +++++++------------ .../{product_view.xml => product_product.xml} | 3 +- .../views/product_supplierinfo_view.xml | 22 +---- .../views/product_template_view.xml | 39 +-------- 17 files changed, 139 insertions(+), 307 deletions(-) delete mode 100644 product_usability/models/pricelist.py delete mode 100644 product_usability/models/product.py delete mode 100644 product_usability/models/product_price_history.py create mode 100644 product_usability/models/product_pricelist.py create mode 100644 product_usability/models/product_product.py delete mode 100644 product_usability/security/product_security.xml delete mode 100644 product_usability/views/product_price_history_view.xml create mode 100644 product_usability/views/product_pricelist_item.xml rename product_usability/views/{product_view.xml => product_product.xml} (90%) diff --git a/product_usability/__init__.py b/product_usability/__init__.py index 69f7bab..0650744 100644 --- a/product_usability/__init__.py +++ b/product_usability/__init__.py @@ -1,3 +1 @@ -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - from . import models diff --git a/product_usability/__manifest__.py b/product_usability/__manifest__.py index 7dc3c13..f2d1819 100644 --- a/product_usability/__manifest__.py +++ b/product_usability/__manifest__.py @@ -1,11 +1,11 @@ -# © 2015-2016 Akretion (http://www.akretion.com) +# Copyright 2015-2020 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': '12.0.1.0.0', + 'version': '14.0.1.0.0', 'category': 'Product', 'license': 'AGPL-3', 'summary': 'Small usability enhancements to the product module', @@ -27,12 +27,11 @@ This module has been written by Alexis de Lattre from Akretion ) -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -from odoo import models, fields - - -class ProductPricelist(models.Model): - _inherit = 'product.pricelist' - - company_id = fields.Many2one( - default=lambda self: self.env['res.company']._company_default_get()) diff --git a/product_usability/models/product.py b/product_usability/models/product.py deleted file mode 100644 index dc88970..0000000 --- a/product_usability/models/product.py +++ /dev/null @@ -1,46 +0,0 @@ -# © 2015-2016 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). - -from odoo import models, fields - - -class ProductProduct(models.Model): - _inherit = 'product.product' - - default_code = fields.Char( - track_visibility='onchange', - copy=False) - - barcode = fields.Char( - track_visibility='onchange', - copy=False) - - weight = fields.Float( - track_visibility='onchange') - - active = fields.Boolean( - track_visibility='onchange') - - price_history_ids = fields.One2many( - comodel_name='product.price.history', - inverse_name='product_id', - string='Product Price History') - - _sql_constraints = [( - # Maybe it could be better to have a constrain per company - # but the company_id field is on product.template, - # not on product.product - # If it's a problem, we'll create a company_id field on - # product.product - 'default_code_uniq', - 'unique(default_code)', - 'This internal reference already exists!')] - - def show_product_price_history(self): - self.ensure_one() - action = self.env.ref( - 'product_usability.product_price_history_action').read()[0] - action['domain'] = [('product_id', '=', self.id)] - return action diff --git a/product_usability/models/product_price_history.py b/product_usability/models/product_price_history.py deleted file mode 100644 index af7b390..0000000 --- a/product_usability/models/product_price_history.py +++ /dev/null @@ -1,16 +0,0 @@ -# © 2015-2016 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). - -from odoo import models, fields - - -class ProductPriceHistory(models.Model): - _inherit = 'product.price.history' - - company_currency_id = fields.Many2one( - related='company_id.currency_id', - readonly=True, - compute_sudo=True, - string='Company Currency') diff --git a/product_usability/models/product_pricelist.py b/product_usability/models/product_pricelist.py new file mode 100644 index 0000000..0eaa287 --- /dev/null +++ b/product_usability/models/product_pricelist.py @@ -0,0 +1,11 @@ +# Copyright 2017-2020 Akretion (http://www.akretion.com/) +# @author: Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class ProductPricelist(models.Model): + _inherit = 'product.pricelist' + + company_id = fields.Many2one(default=lambda self: self.env.company) diff --git a/product_usability/models/product_product.py b/product_usability/models/product_product.py new file mode 100644 index 0000000..79681a2 --- /dev/null +++ b/product_usability/models/product_product.py @@ -0,0 +1,28 @@ +# Copyright 2015-2020 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). + +from odoo import models, fields + + +class ProductProduct(models.Model): + _inherit = 'product.product' + + default_code = fields.Char(copy=False) +# track_visibility='onchange', + +# barcode = fields.Char(track_visibility='onchange', + +# weight = fields.Float(track_visibility='onchange') +# active = fields.Boolean(track_visibility='onchange') + + _sql_constraints = [( + # Maybe it could be better to have a constrain per company + # but the company_id field is on product.template, + # not on product.product + # If it's a problem, we'll create a company_id field on + # product.product + 'default_code_uniq', + 'unique(default_code)', + 'This internal reference already exists!')] diff --git a/product_usability/models/product_supplierinfo.py b/product_usability/models/product_supplierinfo.py index 2526eab..8be34c5 100644 --- a/product_usability/models/product_supplierinfo.py +++ b/product_usability/models/product_supplierinfo.py @@ -1,13 +1,12 @@ -# © 2015-2016 Akretion (http://www.akretion.com) +# Copyright 2015-2020 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). -from odoo import models, fields +from odoo import fields, models class ProductSupplierinfo(models.Model): _inherit = 'product.supplierinfo' - name = fields.Many2one( - domain=[('supplier', '=', True), ('parent_id', '=', False)]) + name = fields.Many2one(domain=[('parent_id', '=', False)]) diff --git a/product_usability/models/product_template.py b/product_usability/models/product_template.py index c1d1d66..25bf7a3 100644 --- a/product_usability/models/product_template.py +++ b/product_usability/models/product_template.py @@ -1,4 +1,4 @@ -# © 2015-2016 Akretion (http://www.akretion.com) +# Copyright 2015-2020 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,32 +9,23 @@ from odoo import models, fields class ProductTemplate(models.Model): _inherit = 'product.template' - name = fields.Char( - track_visibility='onchange') +# name = fields.Char( +# track_visibility='onchange') - type = fields.Selection( - track_visibility='onchange') +# type = fields.Selection( +# track_visibility='onchange') - categ_id = fields.Many2one( - track_visibility='onchange') +# categ_id = fields.Many2one( +# track_visibility='onchange') - list_price = fields.Float( - track_visibility='onchange') +# list_price = fields.Float( +# track_visibility='onchange') - sale_ok = fields.Boolean( - track_visibility='onchange') +# sale_ok = fields.Boolean( +# track_visibility='onchange') - purchase_ok = fields.Boolean( - track_visibility='onchange') +# purchase_ok = fields.Boolean( +# track_visibility='onchange') - active = fields.Boolean( - track_visibility='onchange') - - def show_product_price_history(self): - self.ensure_one() - products = self.env['product.product'].search( - [('product_tmpl_id', '=', self._context['active_id'])]) - action = self.env.ref( - 'product_usability.product_price_history_action').read()[0] - action['domain'] = [('product_id', 'in', products.ids)] - return action +# active = fields.Boolean( +# track_visibility='onchange') diff --git a/product_usability/security/product_security.xml b/product_usability/security/product_security.xml deleted file mode 100644 index fea2740..0000000 --- a/product_usability/security/product_security.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - Product price history multi-company - - ['|', ('company_id', '=', False), ('company_id', 'child_of', [user.company_id.id])] - - - diff --git a/product_usability/views/product_price_history_view.xml b/product_usability/views/product_price_history_view.xml deleted file mode 100644 index a8b9fdc1..0000000 --- a/product_usability/views/product_price_history_view.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - product.price.history.form - product.price.history - -
- - - - - - - - -
-
-
- - - product.price.history.tree - product.price.history - - - - - - - - - - - - - - product.price.history.search - product.price.history - - - - - - - - - - - - - - Product Price History - product.price.history - tree,form - {'product_price_history_main_view': True} - - -
diff --git a/product_usability/views/product_pricelist_item.xml b/product_usability/views/product_pricelist_item.xml new file mode 100644 index 0000000..1313d55 --- /dev/null +++ b/product_usability/views/product_pricelist_item.xml @@ -0,0 +1,42 @@ + + + + + + + + product.pricelist.item.search + product.pricelist.item + + + + + + + + + + + + + + + + + + usability.product.pricelist.item.form + product.pricelist.item + + + + not context.get('product_pricelist_item_main_view') + + + + + + diff --git a/product_usability/views/product_pricelist_view.xml b/product_usability/views/product_pricelist_view.xml index 4159823..cec6434 100644 --- a/product_usability/views/product_pricelist_view.xml +++ b/product_usability/views/product_pricelist_view.xml @@ -1,65 +1,41 @@ - - - usability.product.pricelist.tree - product.pricelist - - - - - - - - - - usability.product.pricelist.item.search - product.pricelist.item - - - - - - - - - - - - - - - - + + Pricelists Items + product.pricelist.item + tree,form + [('pricelist_id', '=', active_id)] + {'product_pricelist_item_main_view': True} + - - usability.product.pricelist.item.form - product.pricelist.item - - - - - - - + + usability.product.pricelist.form + product.pricelist + + +
+
+ +
+
+
+
- - usability.product.pricelist.item.tree - product.pricelist.item - - - - - - -
diff --git a/product_usability/views/product_view.xml b/product_usability/views/product_product.xml similarity index 90% rename from product_usability/views/product_view.xml rename to product_usability/views/product_product.xml index 4b59770..dfbafbc 100644 --- a/product_usability/views/product_view.xml +++ b/product_usability/views/product_product.xml @@ -1,13 +1,12 @@ - usability.product.product.tree product.product diff --git a/product_usability/views/product_supplierinfo_view.xml b/product_usability/views/product_supplierinfo_view.xml index c7b9084..1b104c0 100644 --- a/product_usability/views/product_supplierinfo_view.xml +++ b/product_usability/views/product_supplierinfo_view.xml @@ -1,36 +1,18 @@ - - - product.supplierinfo - - - - - - - - - - - - - - - product.supplierinfo - + diff --git a/product_usability/views/product_template_view.xml b/product_usability/views/product_template_view.xml index 44c846b..4e29fa9 100644 --- a/product_usability/views/product_template_view.xml +++ b/product_usability/views/product_template_view.xml @@ -1,25 +1,13 @@ - - - usability.product.template.form - product.template - - - -