From 711904da1e92f77d4c94ea370ec7a9f199304d94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Pigeon?= Date: Wed, 10 Jun 2020 16:53:45 +0200 Subject: [PATCH 01/89] [ADD] add new features to manage completion rate and completion state on models linked to attribute set --- attribute_set_completeness/README.rst | 64 ++++++++++ attribute_set_completeness/__init__.py | 1 + attribute_set_completeness/__manifest__.py | 17 +++ attribute_set_completeness/models/__init__.py | 3 + .../models/attribute_set.py | 26 +++++ .../models/attribute_set_completeness.py | 22 ++++ .../models/attribute_set_owner_mixin.py | 63 ++++++++++ .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 1 + attribute_set_completeness/readme/USAGE.rst | 3 + .../security/attribute_set_completeness.xml | 23 ++++ attribute_set_completeness/tests/__init__.py | 1 + .../tests/test_attribute_set_completeness.py | 110 ++++++++++++++++++ .../views/attribute_set.xml | 17 +++ .../views/attribute_set_completeness.xml | 19 +++ 15 files changed, 371 insertions(+) create mode 100644 attribute_set_completeness/README.rst create mode 100644 attribute_set_completeness/__init__.py create mode 100644 attribute_set_completeness/__manifest__.py create mode 100644 attribute_set_completeness/models/__init__.py create mode 100644 attribute_set_completeness/models/attribute_set.py create mode 100644 attribute_set_completeness/models/attribute_set_completeness.py create mode 100644 attribute_set_completeness/models/attribute_set_owner_mixin.py create mode 100644 attribute_set_completeness/readme/CONTRIBUTORS.rst create mode 100644 attribute_set_completeness/readme/DESCRIPTION.rst create mode 100644 attribute_set_completeness/readme/USAGE.rst create mode 100644 attribute_set_completeness/security/attribute_set_completeness.xml create mode 100644 attribute_set_completeness/tests/__init__.py create mode 100644 attribute_set_completeness/tests/test_attribute_set_completeness.py create mode 100644 attribute_set_completeness/views/attribute_set.xml create mode 100644 attribute_set_completeness/views/attribute_set_completeness.xml diff --git a/attribute_set_completeness/README.rst b/attribute_set_completeness/README.rst new file mode 100644 index 00000000..c1505fcc --- /dev/null +++ b/attribute_set_completeness/README.rst @@ -0,0 +1,64 @@ +========================== +Attribute Set Completeness +========================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-shopinvader%2Fodoo--pim-lightgray.png?logo=github + :target: https://github.com/shopinvader/odoo-pim/tree/12.0/attribute_set_completeness + :alt: shopinvader/odoo-pim + +|badge1| |badge2| |badge3| + +This module allows the user define a completion rate on the model linked to an attribute set. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +Go on an attribute set and fill in the section 'Completeness'. +Select the fields you want to take in account and set them their proportion on the completeness rate. +Then on the model linked to the attribute set you'll get 2 fields: completion rate and completion state + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Acsone Sa/NV + +Contributors +~~~~~~~~~~~~ + +* Cédric Pigeon + +Maintainers +~~~~~~~~~~~ + +This module is part of the `shopinvader/odoo-pim `_ project on GitHub. + +You are welcome to contribute. diff --git a/attribute_set_completeness/__init__.py b/attribute_set_completeness/__init__.py new file mode 100644 index 00000000..0650744f --- /dev/null +++ b/attribute_set_completeness/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/attribute_set_completeness/__manifest__.py b/attribute_set_completeness/__manifest__.py new file mode 100644 index 00000000..aa78f06f --- /dev/null +++ b/attribute_set_completeness/__manifest__.py @@ -0,0 +1,17 @@ +# Copyright 2020 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Attribute Set Completeness", + "version": "12.0.1.0.0", + "license": "AGPL-3", + "author": "ACSONE SA/NV", + "website": "https://acsone.eu", + "depends": ["attribute_set"], + "data": [ + "views/attribute_set.xml", + "security/attribute_set_completeness.xml", + "views/attribute_set_completeness.xml", + ], + "demo": [], +} diff --git a/attribute_set_completeness/models/__init__.py b/attribute_set_completeness/models/__init__.py new file mode 100644 index 00000000..2f249ad7 --- /dev/null +++ b/attribute_set_completeness/models/__init__.py @@ -0,0 +1,3 @@ +from . import attribute_set_completeness +from . import attribute_set +from . import attribute_set_owner_mixin diff --git a/attribute_set_completeness/models/attribute_set.py b/attribute_set_completeness/models/attribute_set.py new file mode 100644 index 00000000..70fe5db4 --- /dev/null +++ b/attribute_set_completeness/models/attribute_set.py @@ -0,0 +1,26 @@ +# Copyright 2020 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + + +class AttributeSet(models.Model): + + _inherit = "attribute.set" + + attribute_set_completeness_ids = fields.One2many( + "attribute.set.completeness", + "attribute_set_id", + "Completeness Requirements", + auto_join=True, + ) + + @api.constrains("attribute_set_completeness_ids") + def _check_attribute_set_completeness_ids(self): + for attr_set in self: + completion_config = attr_set.attribute_set_completeness_ids + if completion_config: + total = sum([rule.completion_rate for rule in completion_config]) + if total != 1.0: + raise ValidationError(_("Total of completion rate must be 100 %")) diff --git a/attribute_set_completeness/models/attribute_set_completeness.py b/attribute_set_completeness/models/attribute_set_completeness.py new file mode 100644 index 00000000..4977763c --- /dev/null +++ b/attribute_set_completeness/models/attribute_set_completeness.py @@ -0,0 +1,22 @@ +# Copyright 2020 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class AttributeSetCompleteness(models.Model): + + _name = "attribute.set.completeness" + _description = "Attribute Set Completeness" + + attribute_set_id = fields.Many2one( + "attribute.set", required=True, ondelete="cascade" + ) + field_id = fields.Many2one( + "ir.model.fields", "Field Name", required=True, ondelete="cascade" + ) + field_description = fields.Char( + related="field_id.field_description", string="Field Description", store=True + ) + completion_rate = fields.Float() + model_id = fields.Many2one(related="attribute_set_id.model_id") diff --git a/attribute_set_completeness/models/attribute_set_owner_mixin.py b/attribute_set_completeness/models/attribute_set_owner_mixin.py new file mode 100644 index 00000000..a6496f53 --- /dev/null +++ b/attribute_set_completeness/models/attribute_set_owner_mixin.py @@ -0,0 +1,63 @@ +# Copyright 2020 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models +from odoo.osv import expression + + +class AttributeSetOwnerMixin(models.AbstractModel): + + _inherit = "attribute.set.owner.mixin" + + completion_rate = fields.Float(compute="_compute_completion_rate", readonly=True) + completion_state = fields.Selection( + selection=[("complete", "Complete"), ("not_complete", "Not complete")], + compute="_compute_completion_rate", + search="_search_complete_state", + ) + + @api.multi + def _compute_completion_rate(self): + for record in self: + attribute_set_id = record.attribute_set_id + completion_config = attribute_set_id.attribute_set_completeness_ids + if completion_config: + completion_rate = 0.0 + for criteria in completion_config: + field_name = criteria.field_id.name + if record[field_name]: + completion_rate += criteria.completion_rate + record.completion_rate = completion_rate + if completion_rate < 1: + record.completion_state = "not_complete" + else: + record.completion_state = "complete" + else: + record.completion_rate = False + record.completion_state = False + + @api.multi + def _search_complete_state(self, operator, value): + + negative = operator in expression.NEGATIVE_TERM_OPERATORS + default_res = expression.TRUE_DOMAIN if negative else expression.FALSE_DOMAIN + + # In case we have no value + if not value: + return default_res + + if operator in ["in", "not in"]: + if len(value) > 1: + return default_res + value = value[0] + operator = "!=" if negative else "=" + + if operator in ["=", "!="]: + products = self.search([("attribute_set_id", "!=", False)]) + if value not in ["complete", "not_complete"]: + return default_res + else: + products = products.filtered(lambda x: x.completion_state == value) + return [("id", "in", products.ids)] + + return default_res diff --git a/attribute_set_completeness/readme/CONTRIBUTORS.rst b/attribute_set_completeness/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..fe309b7d --- /dev/null +++ b/attribute_set_completeness/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Cédric PIGEON diff --git a/attribute_set_completeness/readme/DESCRIPTION.rst b/attribute_set_completeness/readme/DESCRIPTION.rst new file mode 100644 index 00000000..39fc3c1d --- /dev/null +++ b/attribute_set_completeness/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This module allows the user define a completion rate on the model linked to an attribute set. diff --git a/attribute_set_completeness/readme/USAGE.rst b/attribute_set_completeness/readme/USAGE.rst new file mode 100644 index 00000000..fc01f51d --- /dev/null +++ b/attribute_set_completeness/readme/USAGE.rst @@ -0,0 +1,3 @@ +Go on an attribute set and fill in the section 'Completeness'. +Select the fields you want to take in account and set them their proportion on the completeness rate. +Then on the model linked to the attribute set you'll get 2 fields: completion rate and completion state diff --git a/attribute_set_completeness/security/attribute_set_completeness.xml b/attribute_set_completeness/security/attribute_set_completeness.xml new file mode 100644 index 00000000..a0c4a411 --- /dev/null +++ b/attribute_set_completeness/security/attribute_set_completeness.xml @@ -0,0 +1,23 @@ + + + + + attribute.set.completeness access for user group + + + + + + + + + attribute.set.completeness access for erp manager + + + + + + + + diff --git a/attribute_set_completeness/tests/__init__.py b/attribute_set_completeness/tests/__init__.py new file mode 100644 index 00000000..139786b1 --- /dev/null +++ b/attribute_set_completeness/tests/__init__.py @@ -0,0 +1 @@ +from . import test_attribute_set_completeness diff --git a/attribute_set_completeness/tests/test_attribute_set_completeness.py b/attribute_set_completeness/tests/test_attribute_set_completeness.py new file mode 100644 index 00000000..bfb39f45 --- /dev/null +++ b/attribute_set_completeness/tests/test_attribute_set_completeness.py @@ -0,0 +1,110 @@ +# Copyright 2020 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo_test_helper import FakeModelLoader + +from odoo.exceptions import ValidationError +from odoo.tests.common import SavepointCase + + +class TestAttributeSetCompleteness(SavepointCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.model_id = cls.env.ref("base.model_res_partner").id + cls.group = cls.env["attribute.group"].create( + {"name": "My Group", "model_id": cls.model_id} + ) + vals = { + "nature": "custom", + "model_id": cls.model_id, + "attribute_type": "char", + "field_description": "Attribute test", + "name": "x_test", + "attribute_group_id": cls.group.id, + } + cls.attr1 = cls.env["attribute.attribute"].create(vals) + + vals.update({"name": "x_test2", "field_description": "Attribute test2"}) + cls.attr2 = cls.env["attribute.attribute"].create(vals) + + vals = { + "name": "My attribute Set", + "model_id": cls.model_id, + "attribute_ids": [(4, cls.attr1.id), (4, cls.attr2.id)], + "attribute_set_completeness_ids": [ + (0, 0, {"field_id": cls.attr1.field_id.id, "completion_rate": 0.5}), + (0, 0, {"field_id": cls.attr2.field_id.id, "completion_rate": 0.5}), + ], + } + cls.attr_set = cls.env["attribute.set"].create(vals) + cls.loader = FakeModelLoader(cls.env, cls.__module__) + cls.loader.backup_registry() + from odoo.addons.attribute_set.tests.models import ResPartner + + cls.loader.update_registry((ResPartner,)) + + @classmethod + def tearDownClass(cls): + cls.loader.restore_registry() + super(TestAttributeSetCompleteness, cls).tearDownClass() + + def test_completion_rate_constrains_create(self): + vals = { + "name": "My attribute Set Test", + "model_id": self.model_id, + "attribute_ids": [(4, self.attr1.id), (4, self.attr2.id)], + "attribute_set_completeness_ids": [ + (0, 0, {"field_id": self.attr1.field_id.id, "completion_rate": 0.5}), + (0, 0, {"field_id": self.attr2.field_id.id, "completion_rate": 0.1}), + ], + } + with self.assertRaises(ValidationError): + self.env["attribute.set"].create(vals) + + def test_completion_rate_constrains_write_low(self): + completion_rules = self.attr_set.attribute_set_completeness_ids + vals = { + "attribute_set_completeness_ids": [ + (2, completion_rules[0].id), + (0, 0, {"field_id": self.attr1.field_id.id, "completion_rate": 0.1}), + ] + } + + with self.assertRaises(ValidationError): + self.attr_set.write(vals) + + def test_completion_rate_constrains_write_high(self): + completion_rules = self.attr_set.attribute_set_completeness_ids + vals = { + "attribute_set_completeness_ids": [ + (2, completion_rules[0].id), + (0, 0, {"field_id": self.attr1.field_id.id, "completion_rate": 2}), + ] + } + + with self.assertRaises(ValidationError): + self.attr_set.write(vals) + + def test_completion_rate(self): + vals = { + "name": "Test Partner", + } + partner = self.env["res.partner"].create(vals) + self.assertFalse(partner.completion_state) + self.assertFalse(partner.completion_rate) + + partner.write({"attribute_set_id": self.attr_set.id}) + partner.invalidate_cache() + self.assertEqual(partner.completion_state, "not_complete") + self.assertEqual(partner.completion_rate, 0.0) + + partner.write({"x_test": "test"}) + partner.invalidate_cache() + self.assertEqual(partner.completion_state, "not_complete") + self.assertEqual(partner.completion_rate, 0.5) + + partner.write({"x_test2": "test"}) + partner.invalidate_cache() + self.assertEqual(partner.completion_state, "complete") + self.assertEqual(partner.completion_rate, 1) diff --git a/attribute_set_completeness/views/attribute_set.xml b/attribute_set_completeness/views/attribute_set.xml new file mode 100644 index 00000000..c006fa49 --- /dev/null +++ b/attribute_set_completeness/views/attribute_set.xml @@ -0,0 +1,17 @@ + + + + + attribute.set.form (in attribute_set_completeness) + attribute.set + + + + + + + + + + diff --git a/attribute_set_completeness/views/attribute_set_completeness.xml b/attribute_set_completeness/views/attribute_set_completeness.xml new file mode 100644 index 00000000..62e7770b --- /dev/null +++ b/attribute_set_completeness/views/attribute_set_completeness.xml @@ -0,0 +1,19 @@ + + + + + attribute.set.completeness.tree (in attribute_set_completeness) + attribute.set.completeness + + + + + + + + + + From b2355d0d57de942cd0b7e795f2e973a6dd80fe83 Mon Sep 17 00:00:00 2001 From: shopinvader-git-bot Date: Thu, 18 Jun 2020 08:21:57 +0000 Subject: [PATCH 02/89] [UPD] README.rst --- attribute_set_completeness/README.rst | 4 +- .../static/description/index.html | 421 ++++++++++++++++++ 2 files changed, 423 insertions(+), 2 deletions(-) create mode 100644 attribute_set_completeness/static/description/index.html diff --git a/attribute_set_completeness/README.rst b/attribute_set_completeness/README.rst index c1505fcc..fa80207b 100644 --- a/attribute_set_completeness/README.rst +++ b/attribute_set_completeness/README.rst @@ -49,12 +49,12 @@ Credits Authors ~~~~~~~ -* Acsone Sa/NV +* ACSONE SA/NV Contributors ~~~~~~~~~~~~ -* Cédric Pigeon +* Cédric PIGEON Maintainers ~~~~~~~~~~~ diff --git a/attribute_set_completeness/static/description/index.html b/attribute_set_completeness/static/description/index.html new file mode 100644 index 00000000..0d9a2de7 --- /dev/null +++ b/attribute_set_completeness/static/description/index.html @@ -0,0 +1,421 @@ + + + + + + +Attribute Set Completeness + + + +
+

Attribute Set Completeness

+ + +

Beta License: AGPL-3 shopinvader/odoo-pim

+

This module allows the user define a completion rate on the model linked to an attribute set.

+

Table of contents

+ +
+

Usage

+

Go on an attribute set and fill in the section ‘Completeness’. +Select the fields you want to take in account and set them their proportion on the completeness rate. +Then on the model linked to the attribute set you’ll get 2 fields: completion rate and completion state

+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • ACSONE SA/NV
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is part of the shopinvader/odoo-pim project on GitHub.

+

You are welcome to contribute.

+
+
+
+ + From ca5f2b3bf290779a6887857041f92b2fc897bcc7 Mon Sep 17 00:00:00 2001 From: shopinvader-git-bot Date: Thu, 18 Jun 2020 08:22:01 +0000 Subject: [PATCH 03/89] attribute_set_completeness 12.0.1.0.1 --- attribute_set_completeness/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/attribute_set_completeness/__manifest__.py b/attribute_set_completeness/__manifest__.py index aa78f06f..bd14bca1 100644 --- a/attribute_set_completeness/__manifest__.py +++ b/attribute_set_completeness/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Attribute Set Completeness", - "version": "12.0.1.0.0", + "version": "12.0.1.0.1", "license": "AGPL-3", "author": "ACSONE SA/NV", "website": "https://acsone.eu", From 06d7bfdb3ff484eda9ae97a2a1e9267dc6ff6c5b Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Fri, 26 Jun 2020 09:21:00 +0200 Subject: [PATCH 04/89] [10.0][FIX] attribute_set_completeness: Fix one2many --- attribute_set_completeness/views/attribute_set.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/attribute_set_completeness/views/attribute_set.xml b/attribute_set_completeness/views/attribute_set.xml index c006fa49..7a91d4a6 100644 --- a/attribute_set_completeness/views/attribute_set.xml +++ b/attribute_set_completeness/views/attribute_set.xml @@ -9,7 +9,7 @@ - + From 86d95b54a747d76220764883d7bc4b417abae253 Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Fri, 26 Jun 2020 09:25:02 +0200 Subject: [PATCH 05/89] [10.0][FIX] attribute_set_completeness: Percentage with 100.0 --- .../models/attribute_set.py | 16 +++-- .../models/attribute_set_owner_mixin.py | 2 +- .../tests/test_attribute_set_completeness.py | 58 ++++++++++++++++--- 3 files changed, 61 insertions(+), 15 deletions(-) diff --git a/attribute_set_completeness/models/attribute_set.py b/attribute_set_completeness/models/attribute_set.py index 70fe5db4..f402f922 100644 --- a/attribute_set_completeness/models/attribute_set.py +++ b/attribute_set_completeness/models/attribute_set.py @@ -10,9 +10,9 @@ class AttributeSet(models.Model): _inherit = "attribute.set" attribute_set_completeness_ids = fields.One2many( - "attribute.set.completeness", - "attribute_set_id", - "Completeness Requirements", + comodel_name="attribute.set.completeness", + inverse_name="attribute_set_id", + string="Completeness Requirements", auto_join=True, ) @@ -21,6 +21,10 @@ def _check_attribute_set_completeness_ids(self): for attr_set in self: completion_config = attr_set.attribute_set_completeness_ids if completion_config: - total = sum([rule.completion_rate for rule in completion_config]) - if total != 1.0: - raise ValidationError(_("Total of completion rate must be 100 %")) + total = sum( + [rule.completion_rate for rule in completion_config] + ) + if total != 100.0: + raise ValidationError( + _("Total of completion rate must be 100 %") + ) diff --git a/attribute_set_completeness/models/attribute_set_owner_mixin.py b/attribute_set_completeness/models/attribute_set_owner_mixin.py index a6496f53..50cd8e23 100644 --- a/attribute_set_completeness/models/attribute_set_owner_mixin.py +++ b/attribute_set_completeness/models/attribute_set_owner_mixin.py @@ -28,7 +28,7 @@ def _compute_completion_rate(self): if record[field_name]: completion_rate += criteria.completion_rate record.completion_rate = completion_rate - if completion_rate < 1: + if completion_rate < 100: record.completion_state = "not_complete" else: record.completion_state = "complete" diff --git a/attribute_set_completeness/tests/test_attribute_set_completeness.py b/attribute_set_completeness/tests/test_attribute_set_completeness.py index bfb39f45..9ebf05a8 100644 --- a/attribute_set_completeness/tests/test_attribute_set_completeness.py +++ b/attribute_set_completeness/tests/test_attribute_set_completeness.py @@ -33,8 +33,22 @@ def setUpClass(cls): "model_id": cls.model_id, "attribute_ids": [(4, cls.attr1.id), (4, cls.attr2.id)], "attribute_set_completeness_ids": [ - (0, 0, {"field_id": cls.attr1.field_id.id, "completion_rate": 0.5}), - (0, 0, {"field_id": cls.attr2.field_id.id, "completion_rate": 0.5}), + ( + 0, + 0, + { + "field_id": cls.attr1.field_id.id, + "completion_rate": 50.0, + }, + ), + ( + 0, + 0, + { + "field_id": cls.attr2.field_id.id, + "completion_rate": 50.0, + }, + ), ], } cls.attr_set = cls.env["attribute.set"].create(vals) @@ -55,8 +69,22 @@ def test_completion_rate_constrains_create(self): "model_id": self.model_id, "attribute_ids": [(4, self.attr1.id), (4, self.attr2.id)], "attribute_set_completeness_ids": [ - (0, 0, {"field_id": self.attr1.field_id.id, "completion_rate": 0.5}), - (0, 0, {"field_id": self.attr2.field_id.id, "completion_rate": 0.1}), + ( + 0, + 0, + { + "field_id": self.attr1.field_id.id, + "completion_rate": 50.0, + }, + ), + ( + 0, + 0, + { + "field_id": self.attr2.field_id.id, + "completion_rate": 10.0, + }, + ), ], } with self.assertRaises(ValidationError): @@ -67,7 +95,14 @@ def test_completion_rate_constrains_write_low(self): vals = { "attribute_set_completeness_ids": [ (2, completion_rules[0].id), - (0, 0, {"field_id": self.attr1.field_id.id, "completion_rate": 0.1}), + ( + 0, + 0, + { + "field_id": self.attr1.field_id.id, + "completion_rate": 10.0, + }, + ), ] } @@ -79,7 +114,14 @@ def test_completion_rate_constrains_write_high(self): vals = { "attribute_set_completeness_ids": [ (2, completion_rules[0].id), - (0, 0, {"field_id": self.attr1.field_id.id, "completion_rate": 2}), + ( + 0, + 0, + { + "field_id": self.attr1.field_id.id, + "completion_rate": 200.0, + }, + ), ] } @@ -102,9 +144,9 @@ def test_completion_rate(self): partner.write({"x_test": "test"}) partner.invalidate_cache() self.assertEqual(partner.completion_state, "not_complete") - self.assertEqual(partner.completion_rate, 0.5) + self.assertEqual(partner.completion_rate, 50.0) partner.write({"x_test2": "test"}) partner.invalidate_cache() self.assertEqual(partner.completion_state, "complete") - self.assertEqual(partner.completion_rate, 1) + self.assertEqual(partner.completion_rate, 100.0) From d9f732d03779a91f2e537d249278750e98376898 Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Fri, 26 Jun 2020 09:26:00 +0200 Subject: [PATCH 06/89] [10.0][FIX] attribute_set_completeness: Add not completed fields --- .../models/attribute_set_completeness.py | 13 +++++++++++-- .../models/attribute_set_owner_mixin.py | 10 ++++++++++ .../views/attribute_set_completeness.xml | 6 ++++-- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/attribute_set_completeness/models/attribute_set_completeness.py b/attribute_set_completeness/models/attribute_set_completeness.py index 4977763c..b47e6a89 100644 --- a/attribute_set_completeness/models/attribute_set_completeness.py +++ b/attribute_set_completeness/models/attribute_set_completeness.py @@ -8,6 +8,7 @@ class AttributeSetCompleteness(models.Model): _name = "attribute.set.completeness" _description = "Attribute Set Completeness" + _rec_name = "field_id" attribute_set_id = fields.Many2one( "attribute.set", required=True, ondelete="cascade" @@ -16,7 +17,15 @@ class AttributeSetCompleteness(models.Model): "ir.model.fields", "Field Name", required=True, ondelete="cascade" ) field_description = fields.Char( - related="field_id.field_description", string="Field Description", store=True + related="field_id.field_description", + string="Field Description", + store=True, + readonly=True, ) completion_rate = fields.Float() - model_id = fields.Many2one(related="attribute_set_id.model_id") + completion_rate_progress = fields.Float( + related="completion_rate", readonly=True + ) + model_id = fields.Many2one( + related="attribute_set_id.model_id", readonly=True + ) diff --git a/attribute_set_completeness/models/attribute_set_owner_mixin.py b/attribute_set_completeness/models/attribute_set_owner_mixin.py index 50cd8e23..b495f2e4 100644 --- a/attribute_set_completeness/models/attribute_set_owner_mixin.py +++ b/attribute_set_completeness/models/attribute_set_owner_mixin.py @@ -15,6 +15,14 @@ class AttributeSetOwnerMixin(models.AbstractModel): compute="_compute_completion_rate", search="_search_complete_state", ) + attribute_set_completeneness_ids = fields.One2many( + related="attribute_set_id.attribute_set_completeness_ids", + readonly=True, + ) + attribute_set_not_completed_ids = fields.Many2many( + comodel_name="attribute.set.completeness", + compute="_compute_completion_rate", + ) @api.multi def _compute_completion_rate(self): @@ -27,6 +35,8 @@ def _compute_completion_rate(self): field_name = criteria.field_id.name if record[field_name]: completion_rate += criteria.completion_rate + else: + record.attribute_set_not_completed_ids |= criteria record.completion_rate = completion_rate if completion_rate < 100: record.completion_state = "not_complete" diff --git a/attribute_set_completeness/views/attribute_set_completeness.xml b/attribute_set_completeness/views/attribute_set_completeness.xml index 62e7770b..769bafde 100644 --- a/attribute_set_completeness/views/attribute_set_completeness.xml +++ b/attribute_set_completeness/views/attribute_set_completeness.xml @@ -9,10 +9,12 @@ attribute.set.completeness - + + - + + From f791e52fce880dba28ca7b8144d63969a5bf8de0 Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Mon, 29 Jun 2020 18:06:30 +0200 Subject: [PATCH 07/89] [10.0][IMP] pre-commit updates --- .../models/attribute_set.py | 8 +-- .../models/attribute_set_completeness.py | 8 +-- .../models/attribute_set_owner_mixin.py | 6 +-- .../tests/test_attribute_set_completeness.py | 54 +++---------------- .../views/attribute_set.xml | 7 ++- .../views/attribute_set_completeness.xml | 10 ++-- 6 files changed, 25 insertions(+), 68 deletions(-) diff --git a/attribute_set_completeness/models/attribute_set.py b/attribute_set_completeness/models/attribute_set.py index f402f922..e893b29e 100644 --- a/attribute_set_completeness/models/attribute_set.py +++ b/attribute_set_completeness/models/attribute_set.py @@ -21,10 +21,6 @@ def _check_attribute_set_completeness_ids(self): for attr_set in self: completion_config = attr_set.attribute_set_completeness_ids if completion_config: - total = sum( - [rule.completion_rate for rule in completion_config] - ) + total = sum([rule.completion_rate for rule in completion_config]) if total != 100.0: - raise ValidationError( - _("Total of completion rate must be 100 %") - ) + raise ValidationError(_("Total of completion rate must be 100 %")) diff --git a/attribute_set_completeness/models/attribute_set_completeness.py b/attribute_set_completeness/models/attribute_set_completeness.py index b47e6a89..9af92e98 100644 --- a/attribute_set_completeness/models/attribute_set_completeness.py +++ b/attribute_set_completeness/models/attribute_set_completeness.py @@ -23,9 +23,5 @@ class AttributeSetCompleteness(models.Model): readonly=True, ) completion_rate = fields.Float() - completion_rate_progress = fields.Float( - related="completion_rate", readonly=True - ) - model_id = fields.Many2one( - related="attribute_set_id.model_id", readonly=True - ) + completion_rate_progress = fields.Float(related="completion_rate", readonly=True) + model_id = fields.Many2one(related="attribute_set_id.model_id", readonly=True) diff --git a/attribute_set_completeness/models/attribute_set_owner_mixin.py b/attribute_set_completeness/models/attribute_set_owner_mixin.py index b495f2e4..8d3abf31 100644 --- a/attribute_set_completeness/models/attribute_set_owner_mixin.py +++ b/attribute_set_completeness/models/attribute_set_owner_mixin.py @@ -16,12 +16,10 @@ class AttributeSetOwnerMixin(models.AbstractModel): search="_search_complete_state", ) attribute_set_completeneness_ids = fields.One2many( - related="attribute_set_id.attribute_set_completeness_ids", - readonly=True, + related="attribute_set_id.attribute_set_completeness_ids", readonly=True, ) attribute_set_not_completed_ids = fields.Many2many( - comodel_name="attribute.set.completeness", - compute="_compute_completion_rate", + comodel_name="attribute.set.completeness", compute="_compute_completion_rate", ) @api.multi diff --git a/attribute_set_completeness/tests/test_attribute_set_completeness.py b/attribute_set_completeness/tests/test_attribute_set_completeness.py index 9ebf05a8..2b527748 100644 --- a/attribute_set_completeness/tests/test_attribute_set_completeness.py +++ b/attribute_set_completeness/tests/test_attribute_set_completeness.py @@ -33,22 +33,8 @@ def setUpClass(cls): "model_id": cls.model_id, "attribute_ids": [(4, cls.attr1.id), (4, cls.attr2.id)], "attribute_set_completeness_ids": [ - ( - 0, - 0, - { - "field_id": cls.attr1.field_id.id, - "completion_rate": 50.0, - }, - ), - ( - 0, - 0, - { - "field_id": cls.attr2.field_id.id, - "completion_rate": 50.0, - }, - ), + (0, 0, {"field_id": cls.attr1.field_id.id, "completion_rate": 50.0}), + (0, 0, {"field_id": cls.attr2.field_id.id, "completion_rate": 50.0}), ], } cls.attr_set = cls.env["attribute.set"].create(vals) @@ -69,22 +55,8 @@ def test_completion_rate_constrains_create(self): "model_id": self.model_id, "attribute_ids": [(4, self.attr1.id), (4, self.attr2.id)], "attribute_set_completeness_ids": [ - ( - 0, - 0, - { - "field_id": self.attr1.field_id.id, - "completion_rate": 50.0, - }, - ), - ( - 0, - 0, - { - "field_id": self.attr2.field_id.id, - "completion_rate": 10.0, - }, - ), + (0, 0, {"field_id": self.attr1.field_id.id, "completion_rate": 50.0}), + (0, 0, {"field_id": self.attr2.field_id.id, "completion_rate": 10.0}), ], } with self.assertRaises(ValidationError): @@ -95,14 +67,7 @@ def test_completion_rate_constrains_write_low(self): vals = { "attribute_set_completeness_ids": [ (2, completion_rules[0].id), - ( - 0, - 0, - { - "field_id": self.attr1.field_id.id, - "completion_rate": 10.0, - }, - ), + (0, 0, {"field_id": self.attr1.field_id.id, "completion_rate": 10.0}), ] } @@ -114,14 +79,7 @@ def test_completion_rate_constrains_write_high(self): vals = { "attribute_set_completeness_ids": [ (2, completion_rules[0].id), - ( - 0, - 0, - { - "field_id": self.attr1.field_id.id, - "completion_rate": 200.0, - }, - ), + (0, 0, {"field_id": self.attr1.field_id.id, "completion_rate": 200.0},), ] } diff --git a/attribute_set_completeness/views/attribute_set.xml b/attribute_set_completeness/views/attribute_set.xml index 7a91d4a6..8b50fd27 100644 --- a/attribute_set_completeness/views/attribute_set.xml +++ b/attribute_set_completeness/views/attribute_set.xml @@ -9,7 +9,12 @@ - + diff --git a/attribute_set_completeness/views/attribute_set_completeness.xml b/attribute_set_completeness/views/attribute_set_completeness.xml index 769bafde..cfbc4560 100644 --- a/attribute_set_completeness/views/attribute_set_completeness.xml +++ b/attribute_set_completeness/views/attribute_set_completeness.xml @@ -9,12 +9,16 @@ attribute.set.completeness - - + + - + From 85047231ba362f405f232c9d1f1cfda4c5c74762 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Pigeon?= Date: Mon, 29 Jun 2020 17:27:36 +0200 Subject: [PATCH 08/89] [10.0][FIX] attribute_set_completeness: fix search method --- .../models/attribute_set_owner_mixin.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/attribute_set_completeness/models/attribute_set_owner_mixin.py b/attribute_set_completeness/models/attribute_set_owner_mixin.py index 8d3abf31..687c28f9 100644 --- a/attribute_set_completeness/models/attribute_set_owner_mixin.py +++ b/attribute_set_completeness/models/attribute_set_owner_mixin.py @@ -61,11 +61,21 @@ def _search_complete_state(self, operator, value): operator = "!=" if negative else "=" if operator in ["=", "!="]: - products = self.search([("attribute_set_id", "!=", False)]) if value not in ["complete", "not_complete"]: return default_res + if (operator == "=" and value == "complete") or ( + operator == "!=" and value == "not_complete" + ): + products = self.search([("attribute_set_id", "!=", False)]) + products = products.filtered(lambda x: x.completion_state == "complete") else: - products = products.filtered(lambda x: x.completion_state == value) + products = self.search([("attribute_set_id", "!=", False)]) + products = products.filtered( + lambda x: x.completion_state == "not_complete" + ) + prod_no_set = self.search([("attribute_set_id", "=", False)]) + products |= prod_no_set + return [("id", "in", products.ids)] return default_res From 09a11cffddb9377100b5456f98c67be60225fbe0 Mon Sep 17 00:00:00 2001 From: shopinvader-git-bot Date: Fri, 2 Oct 2020 07:23:51 +0000 Subject: [PATCH 09/89] attribute_set_completeness 12.0.1.1.0 --- attribute_set_completeness/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/attribute_set_completeness/__manifest__.py b/attribute_set_completeness/__manifest__.py index bd14bca1..d157db11 100644 --- a/attribute_set_completeness/__manifest__.py +++ b/attribute_set_completeness/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Attribute Set Completeness", - "version": "12.0.1.0.1", + "version": "12.0.1.1.0", "license": "AGPL-3", "author": "ACSONE SA/NV", "website": "https://acsone.eu", From a0eddead77d416a35d3ced44385b25241d6cbab5 Mon Sep 17 00:00:00 2001 From: shopinvader-git-bot Date: Fri, 2 Oct 2020 07:45:53 +0000 Subject: [PATCH 10/89] attribute_set_completeness 12.0.1.1.1 --- attribute_set_completeness/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/attribute_set_completeness/__manifest__.py b/attribute_set_completeness/__manifest__.py index d157db11..b6ac0ef3 100644 --- a/attribute_set_completeness/__manifest__.py +++ b/attribute_set_completeness/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Attribute Set Completeness", - "version": "12.0.1.1.0", + "version": "12.0.1.1.1", "license": "AGPL-3", "author": "ACSONE SA/NV", "website": "https://acsone.eu", From 2dcdfa9a5a6d36d3851abc0e3467b6009c9a27b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Pigeon?= Date: Tue, 7 Jul 2020 16:18:42 +0200 Subject: [PATCH 11/89] [FIX] attribute_set_completeness: speed up completion fields --- attribute_set_completeness/__init__.py | 1 + attribute_set_completeness/__manifest__.py | 2 +- .../components/__init__.py | 3 + .../attribute_set_owner_event_listener.py | 33 +++++++++++ .../models/attribute_set_owner_mixin.py | 57 +++++-------------- .../tests/res_partner_event_listener.py | 10 ++++ .../tests/test_attribute_set_completeness.py | 8 ++- 7 files changed, 68 insertions(+), 46 deletions(-) create mode 100644 attribute_set_completeness/components/__init__.py create mode 100644 attribute_set_completeness/components/attribute_set_owner_event_listener.py create mode 100644 attribute_set_completeness/tests/res_partner_event_listener.py diff --git a/attribute_set_completeness/__init__.py b/attribute_set_completeness/__init__.py index 0650744f..f24d3e24 100644 --- a/attribute_set_completeness/__init__.py +++ b/attribute_set_completeness/__init__.py @@ -1 +1,2 @@ +from . import components from . import models diff --git a/attribute_set_completeness/__manifest__.py b/attribute_set_completeness/__manifest__.py index b6ac0ef3..9ca9ff48 100644 --- a/attribute_set_completeness/__manifest__.py +++ b/attribute_set_completeness/__manifest__.py @@ -7,7 +7,7 @@ "license": "AGPL-3", "author": "ACSONE SA/NV", "website": "https://acsone.eu", - "depends": ["attribute_set"], + "depends": ["attribute_set", "component_event"], "data": [ "views/attribute_set.xml", "security/attribute_set_completeness.xml", diff --git a/attribute_set_completeness/components/__init__.py b/attribute_set_completeness/components/__init__.py new file mode 100644 index 00000000..4502c421 --- /dev/null +++ b/attribute_set_completeness/components/__init__.py @@ -0,0 +1,3 @@ +# Copyright 2020 ACSONE SA/NV () +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from . import attribute_set_owner_event_listener diff --git a/attribute_set_completeness/components/attribute_set_owner_event_listener.py b/attribute_set_completeness/components/attribute_set_owner_event_listener.py new file mode 100644 index 00000000..d2f9bc8f --- /dev/null +++ b/attribute_set_completeness/components/attribute_set_owner_event_listener.py @@ -0,0 +1,33 @@ +# Copyright 2020 ACSONE SA/NV () +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo.addons.component.core import AbstractComponent +from odoo.addons.component_event import skip_if + + +class AttributeSetOwnerEventListener(AbstractComponent): + _name = "attribute.set.owner.event.listener" + _inherit = "base.event.listener" + + def _get_skip_if_condition(self, record, **kwargs): + if not record.attribute_set_id: + return True + fields = kwargs["fields"] + if "attribute_set_id" in fields or any( + [ + field + for field in fields + if field + in record.attribute_set_id.attribute_set_completeness_ids.mapped( + "field_id.name" + ) + ] + ): + return False + + return True + + @skip_if( + lambda self, record, **kwargs: self._get_skip_if_condition(record, **kwargs) + ) + def on_record_write(self, record, fields=None): + record._compute_completion_rate() diff --git a/attribute_set_completeness/models/attribute_set_owner_mixin.py b/attribute_set_completeness/models/attribute_set_owner_mixin.py index 687c28f9..bfc8e22e 100644 --- a/attribute_set_completeness/models/attribute_set_owner_mixin.py +++ b/attribute_set_completeness/models/attribute_set_owner_mixin.py @@ -2,18 +2,23 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from odoo import api, fields, models -from odoo.osv import expression class AttributeSetOwnerMixin(models.AbstractModel): _inherit = "attribute.set.owner.mixin" - completion_rate = fields.Float(compute="_compute_completion_rate", readonly=True) + completion_rate = fields.Float(default=0.0, readonly=True) completion_state = fields.Selection( selection=[("complete", "Complete"), ("not_complete", "Not complete")], - compute="_compute_completion_rate", - search="_search_complete_state", + default="not_complete", + readonly=True, + ) + attribute_set_completeneness_ids = fields.One2many( + related="attribute_set_id.attribute_set_completeness_ids", readonly=True, + ) + attribute_set_not_completed_ids = fields.Many2many( + comodel_name="attribute.set.completeness", readonly=True ) attribute_set_completeneness_ids = fields.One2many( related="attribute_set_id.attribute_set_completeness_ids", readonly=True, @@ -29,53 +34,19 @@ def _compute_completion_rate(self): completion_config = attribute_set_id.attribute_set_completeness_ids if completion_config: completion_rate = 0.0 + not_complete_crit = self.env["attribute.set.completeness"].browse() for criteria in completion_config: field_name = criteria.field_id.name if record[field_name]: completion_rate += criteria.completion_rate else: - record.attribute_set_not_completed_ids |= criteria + not_complete_crit |= criteria record.completion_rate = completion_rate + record.attribute_set_not_completed_ids = not_complete_crit if completion_rate < 100: record.completion_state = "not_complete" else: record.completion_state = "complete" else: - record.completion_rate = False - record.completion_state = False - - @api.multi - def _search_complete_state(self, operator, value): - - negative = operator in expression.NEGATIVE_TERM_OPERATORS - default_res = expression.TRUE_DOMAIN if negative else expression.FALSE_DOMAIN - - # In case we have no value - if not value: - return default_res - - if operator in ["in", "not in"]: - if len(value) > 1: - return default_res - value = value[0] - operator = "!=" if negative else "=" - - if operator in ["=", "!="]: - if value not in ["complete", "not_complete"]: - return default_res - if (operator == "=" and value == "complete") or ( - operator == "!=" and value == "not_complete" - ): - products = self.search([("attribute_set_id", "!=", False)]) - products = products.filtered(lambda x: x.completion_state == "complete") - else: - products = self.search([("attribute_set_id", "!=", False)]) - products = products.filtered( - lambda x: x.completion_state == "not_complete" - ) - prod_no_set = self.search([("attribute_set_id", "=", False)]) - products |= prod_no_set - - return [("id", "in", products.ids)] - - return default_res + record.completion_rate = 0 + record.completion_state = "not_complete" diff --git a/attribute_set_completeness/tests/res_partner_event_listener.py b/attribute_set_completeness/tests/res_partner_event_listener.py new file mode 100644 index 00000000..ff5c44f4 --- /dev/null +++ b/attribute_set_completeness/tests/res_partner_event_listener.py @@ -0,0 +1,10 @@ +# Copyright 2020 ACSONE SA/NV () +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo.addons.component.core import Component + + +class ResPartnerEventListener(Component): + _name = "res.partner.event.listener" + _inherit = ["attribute.set.owner.event.listener"] + + _apply_on = ["res.partner"] diff --git a/attribute_set_completeness/tests/test_attribute_set_completeness.py b/attribute_set_completeness/tests/test_attribute_set_completeness.py index 2b527748..27e8df69 100644 --- a/attribute_set_completeness/tests/test_attribute_set_completeness.py +++ b/attribute_set_completeness/tests/test_attribute_set_completeness.py @@ -41,7 +41,11 @@ def setUpClass(cls): cls.loader = FakeModelLoader(cls.env, cls.__module__) cls.loader.backup_registry() from odoo.addons.attribute_set.tests.models import ResPartner + from .res_partner_event_listener import ResPartnerEventListener # noqa: F401 + cls.component_builder = cls.env["component.builder"] + cls.component_builder._register_hook() + cls.component_builder.load_components("attribute_set_completeness") cls.loader.update_registry((ResPartner,)) @classmethod @@ -91,8 +95,8 @@ def test_completion_rate(self): "name": "Test Partner", } partner = self.env["res.partner"].create(vals) - self.assertFalse(partner.completion_state) - self.assertFalse(partner.completion_rate) + self.assertEqual(partner.completion_state, "not_complete") + self.assertEqual(partner.completion_rate, 0.0) partner.write({"attribute_set_id": self.attr_set.id}) partner.invalidate_cache() From dcfb48eac2e9e81b8489695d5ae58cd338a72620 Mon Sep 17 00:00:00 2001 From: Simone Orsi Date: Fri, 2 Oct 2020 08:15:35 +0200 Subject: [PATCH 12/89] attribute_set_completeness: tests use SavepointComponentCase --- .../tests/test_attribute_set_completeness.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/attribute_set_completeness/tests/test_attribute_set_completeness.py b/attribute_set_completeness/tests/test_attribute_set_completeness.py index 27e8df69..912d4193 100644 --- a/attribute_set_completeness/tests/test_attribute_set_completeness.py +++ b/attribute_set_completeness/tests/test_attribute_set_completeness.py @@ -4,10 +4,11 @@ from odoo_test_helper import FakeModelLoader from odoo.exceptions import ValidationError -from odoo.tests.common import SavepointCase +from odoo.addons.component.tests.common import SavepointComponentCase -class TestAttributeSetCompleteness(SavepointCase): + +class TestAttributeSetCompleteness(SavepointComponentCase): @classmethod def setUpClass(cls): super().setUpClass() @@ -38,15 +39,16 @@ def setUpClass(cls): ], } cls.attr_set = cls.env["attribute.set"].create(vals) + cls.loader = FakeModelLoader(cls.env, cls.__module__) cls.loader.backup_registry() from odoo.addons.attribute_set.tests.models import ResPartner + + cls.loader.update_registry([ResPartner]) + from .res_partner_event_listener import ResPartnerEventListener # noqa: F401 - cls.component_builder = cls.env["component.builder"] - cls.component_builder._register_hook() - cls.component_builder.load_components("attribute_set_completeness") - cls.loader.update_registry((ResPartner,)) + ResPartnerEventListener._build_component(cls._components_registry) @classmethod def tearDownClass(cls): From 0336b9aabdb01af53ea9da5fec78e7574b92dd5d Mon Sep 17 00:00:00 2001 From: shopinvader-git-bot Date: Mon, 5 Oct 2020 09:47:14 +0000 Subject: [PATCH 13/89] attribute_set_completeness 12.0.1.2.0 --- attribute_set_completeness/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/attribute_set_completeness/__manifest__.py b/attribute_set_completeness/__manifest__.py index 9ca9ff48..69a34915 100644 --- a/attribute_set_completeness/__manifest__.py +++ b/attribute_set_completeness/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Attribute Set Completeness", - "version": "12.0.1.1.1", + "version": "12.0.1.2.0", "license": "AGPL-3", "author": "ACSONE SA/NV", "website": "https://acsone.eu", From 1cbfb86c85fe530a8d259f790bb2c07e6c500b9a Mon Sep 17 00:00:00 2001 From: clementmbr Date: Fri, 16 Oct 2020 17:57:47 -0300 Subject: [PATCH 14/89] [IMP] product_attribute_set_completeness UI --- .../models/attribute_set_completeness.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/attribute_set_completeness/models/attribute_set_completeness.py b/attribute_set_completeness/models/attribute_set_completeness.py index 9af92e98..c0f41627 100644 --- a/attribute_set_completeness/models/attribute_set_completeness.py +++ b/attribute_set_completeness/models/attribute_set_completeness.py @@ -25,3 +25,6 @@ class AttributeSetCompleteness(models.Model): completion_rate = fields.Float() completion_rate_progress = fields.Float(related="completion_rate", readonly=True) model_id = fields.Many2one(related="attribute_set_id.model_id", readonly=True) + + def name_get(self): + return [(rec.id, rec.field_id.field_description) for rec in self] From 29b634d449284032f887d68528c429d387e1f2c9 Mon Sep 17 00:00:00 2001 From: clementmbr Date: Fri, 16 Oct 2020 18:38:08 -0300 Subject: [PATCH 15/89] [IMP] more accurate domain in attribute_set_completeness's field_ids --- .../models/attribute_set_completeness.py | 18 +++++++++++++++++- .../views/attribute_set_completeness.xml | 3 ++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/attribute_set_completeness/models/attribute_set_completeness.py b/attribute_set_completeness/models/attribute_set_completeness.py index c0f41627..4ec5dbf4 100644 --- a/attribute_set_completeness/models/attribute_set_completeness.py +++ b/attribute_set_completeness/models/attribute_set_completeness.py @@ -1,7 +1,7 @@ # Copyright 2020 ACSONE SA/NV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import fields, models +from odoo import api, fields, models class AttributeSetCompleteness(models.Model): @@ -13,6 +13,12 @@ class AttributeSetCompleteness(models.Model): attribute_set_id = fields.Many2one( "attribute.set", required=True, ondelete="cascade" ) + available_field_ids = fields.Many2many( + string="Attribute Set's fields", + comodel_name="ir.model.fields", + compute="_compute_available_field_ids", + help="Fields related to the Attribute set's attributes", + ) field_id = fields.Many2one( "ir.model.fields", "Field Name", required=True, ondelete="cascade" ) @@ -26,5 +32,15 @@ class AttributeSetCompleteness(models.Model): completion_rate_progress = fields.Float(related="completion_rate", readonly=True) model_id = fields.Many2one(related="attribute_set_id.model_id", readonly=True) + @api.depends("attribute_set_id") + def _compute_available_field_ids(self): + for rec in self: + att_set_field_ids = rec.attribute_set_id.attribute_ids.mapped("field_id") + + att_set_complete_ids = rec.attribute_set_id.attribute_set_completeness_ids + choosen_field_ids = att_set_complete_ids.mapped("field_id") + + rec.available_field_ids = att_set_field_ids - choosen_field_ids + def name_get(self): return [(rec.id, rec.field_id.field_description) for rec in self] diff --git a/attribute_set_completeness/views/attribute_set_completeness.xml b/attribute_set_completeness/views/attribute_set_completeness.xml index cfbc4560..265379ae 100644 --- a/attribute_set_completeness/views/attribute_set_completeness.xml +++ b/attribute_set_completeness/views/attribute_set_completeness.xml @@ -10,8 +10,9 @@ + - + Date: Fri, 16 Oct 2020 23:20:40 -0300 Subject: [PATCH 16/89] [IMP] no_create:True on completeness field_id --- .../views/attribute_set_completeness.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/attribute_set_completeness/views/attribute_set_completeness.xml b/attribute_set_completeness/views/attribute_set_completeness.xml index 265379ae..5363e282 100644 --- a/attribute_set_completeness/views/attribute_set_completeness.xml +++ b/attribute_set_completeness/views/attribute_set_completeness.xml @@ -12,7 +12,11 @@ - + Date: Tue, 20 Oct 2020 07:22:16 +0000 Subject: [PATCH 17/89] attribute_set_completeness 12.0.1.2.1 --- attribute_set_completeness/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/attribute_set_completeness/__manifest__.py b/attribute_set_completeness/__manifest__.py index 69a34915..c37138a8 100644 --- a/attribute_set_completeness/__manifest__.py +++ b/attribute_set_completeness/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Attribute Set Completeness", - "version": "12.0.1.2.0", + "version": "12.0.1.2.1", "license": "AGPL-3", "author": "ACSONE SA/NV", "website": "https://acsone.eu", From 65a0c23e24c453afe7e501254df8289a6087d503 Mon Sep 17 00:00:00 2001 From: xavier-bouquiaux Date: Thu, 15 Apr 2021 10:24:07 +0200 Subject: [PATCH 18/89] [IMP] attribute_set_completeness: black, isort, prettier --- attribute_set_completeness/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/attribute_set_completeness/__manifest__.py b/attribute_set_completeness/__manifest__.py index c37138a8..865f6b93 100644 --- a/attribute_set_completeness/__manifest__.py +++ b/attribute_set_completeness/__manifest__.py @@ -6,7 +6,7 @@ "version": "12.0.1.2.1", "license": "AGPL-3", "author": "ACSONE SA/NV", - "website": "https://acsone.eu", + "website": "https://github.com/shopinvader/odoo-pim", "depends": ["attribute_set", "component_event"], "data": [ "views/attribute_set.xml", From 7b898b3f4ce33aff32af7088e062196ab6f00971 Mon Sep 17 00:00:00 2001 From: xavier-bouquiaux Date: Thu, 15 Apr 2021 10:46:56 +0200 Subject: [PATCH 19/89] [14.0][MIG] attribute_set_completeness * Split computed methods in attribute.set.owner.mixin. * Use assertRaisesRegex in tests to check for exact error message. * Improve readability of event listner skip_if conditions. --- attribute_set_completeness/__manifest__.py | 6 +- .../attribute_set_owner_event_listener.py | 24 +++-- .../models/attribute_set.py | 1 - .../models/attribute_set_completeness.py | 3 - .../models/attribute_set_owner_mixin.py | 91 +++++++++++-------- .../readme/CONTRIBUTORS.rst | 4 + .../tests/test_attribute_set_completeness.py | 46 +++++----- .../views/attribute_set_completeness.xml | 3 - 8 files changed, 98 insertions(+), 80 deletions(-) diff --git a/attribute_set_completeness/__manifest__.py b/attribute_set_completeness/__manifest__.py index 865f6b93..a6006d8e 100644 --- a/attribute_set_completeness/__manifest__.py +++ b/attribute_set_completeness/__manifest__.py @@ -3,10 +3,10 @@ { "name": "Attribute Set Completeness", - "version": "12.0.1.2.1", + "version": "14.0.1.0.0", "license": "AGPL-3", - "author": "ACSONE SA/NV", - "website": "https://github.com/shopinvader/odoo-pim", + "author": "ACSONE SA/NV, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/odoo-pim", "depends": ["attribute_set", "component_event"], "data": [ "views/attribute_set.xml", diff --git a/attribute_set_completeness/components/attribute_set_owner_event_listener.py b/attribute_set_completeness/components/attribute_set_owner_event_listener.py index d2f9bc8f..6237bcd6 100644 --- a/attribute_set_completeness/components/attribute_set_owner_event_listener.py +++ b/attribute_set_completeness/components/attribute_set_owner_event_listener.py @@ -1,5 +1,6 @@ # Copyright 2020 ACSONE SA/NV () # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + from odoo.addons.component.core import AbstractComponent from odoo.addons.component_event import skip_if @@ -8,26 +9,23 @@ class AttributeSetOwnerEventListener(AbstractComponent): _name = "attribute.set.owner.event.listener" _inherit = "base.event.listener" + def _get_skip_if_condition_fields(self, record): + """Return the field names that trigger the condition""" + attribute_set = record.attribute_set_id + attribute_set_completeness = attribute_set.attribute_set_completeness_ids + field_names = attribute_set_completeness.mapped("field_id.name") + field_names.append("attribute_set_id") + return field_names + def _get_skip_if_condition(self, record, **kwargs): if not record.attribute_set_id: return True - fields = kwargs["fields"] - if "attribute_set_id" in fields or any( - [ - field - for field in fields - if field - in record.attribute_set_id.attribute_set_completeness_ids.mapped( - "field_id.name" - ) - ] - ): + if set(self._get_skip_if_condition_fields(record)) & set(kwargs["fields"]): return False - return True @skip_if( lambda self, record, **kwargs: self._get_skip_if_condition(record, **kwargs) ) def on_record_write(self, record, fields=None): - record._compute_completion_rate() + record._compute_attribute_set_completed_ids() diff --git a/attribute_set_completeness/models/attribute_set.py b/attribute_set_completeness/models/attribute_set.py index e893b29e..e2ec4caa 100644 --- a/attribute_set_completeness/models/attribute_set.py +++ b/attribute_set_completeness/models/attribute_set.py @@ -6,7 +6,6 @@ class AttributeSet(models.Model): - _inherit = "attribute.set" attribute_set_completeness_ids = fields.One2many( diff --git a/attribute_set_completeness/models/attribute_set_completeness.py b/attribute_set_completeness/models/attribute_set_completeness.py index 4ec5dbf4..a2be0afa 100644 --- a/attribute_set_completeness/models/attribute_set_completeness.py +++ b/attribute_set_completeness/models/attribute_set_completeness.py @@ -5,7 +5,6 @@ class AttributeSetCompleteness(models.Model): - _name = "attribute.set.completeness" _description = "Attribute Set Completeness" _rec_name = "field_id" @@ -36,10 +35,8 @@ class AttributeSetCompleteness(models.Model): def _compute_available_field_ids(self): for rec in self: att_set_field_ids = rec.attribute_set_id.attribute_ids.mapped("field_id") - att_set_complete_ids = rec.attribute_set_id.attribute_set_completeness_ids choosen_field_ids = att_set_complete_ids.mapped("field_id") - rec.available_field_ids = att_set_field_ids - choosen_field_ids def name_get(self): diff --git a/attribute_set_completeness/models/attribute_set_owner_mixin.py b/attribute_set_completeness/models/attribute_set_owner_mixin.py index bfc8e22e..06e68553 100644 --- a/attribute_set_completeness/models/attribute_set_owner_mixin.py +++ b/attribute_set_completeness/models/attribute_set_owner_mixin.py @@ -1,52 +1,71 @@ # Copyright 2020 ACSONE SA/NV +# Copyright 2021 Camptocamp (http://www.camptocamp.com). +# @author Iván Todorovich # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from odoo import api, fields, models class AttributeSetOwnerMixin(models.AbstractModel): - _inherit = "attribute.set.owner.mixin" - completion_rate = fields.Float(default=0.0, readonly=True) - completion_state = fields.Selection( - selection=[("complete", "Complete"), ("not_complete", "Not complete")], - default="not_complete", - readonly=True, + attribute_set_completeness_ids = fields.One2many( + related="attribute_set_id.attribute_set_completeness_ids", ) - attribute_set_completeneness_ids = fields.One2many( - related="attribute_set_id.attribute_set_completeness_ids", readonly=True, + attribute_set_completed_ids = fields.Many2many( + comodel_name="attribute.set.completeness", + compute="_compute_attribute_set_completed_ids", + string="Attribute Set completed criterias", ) attribute_set_not_completed_ids = fields.Many2many( - comodel_name="attribute.set.completeness", readonly=True + comodel_name="attribute.set.completeness", + compute="_compute_attribute_set_not_completed_ids", + string="Attribute Set not completed criterias", ) - attribute_set_completeneness_ids = fields.One2many( - related="attribute_set_id.attribute_set_completeness_ids", readonly=True, + attribute_set_completion_rate = fields.Float( + compute="_compute_attribute_set_completion_rate", + help="Attribute set completeness percentage", ) - attribute_set_not_completed_ids = fields.Many2many( - comodel_name="attribute.set.completeness", compute="_compute_completion_rate", + attribute_set_completion_state = fields.Selection( + selection=[("complete", "Complete"), ("not_complete", "Not complete")], + compute="_compute_attribute_set_completion_state", + help="Attribute set completeness status", ) - @api.multi - def _compute_completion_rate(self): - for record in self: - attribute_set_id = record.attribute_set_id - completion_config = attribute_set_id.attribute_set_completeness_ids - if completion_config: - completion_rate = 0.0 - not_complete_crit = self.env["attribute.set.completeness"].browse() - for criteria in completion_config: - field_name = criteria.field_id.name - if record[field_name]: - completion_rate += criteria.completion_rate - else: - not_complete_crit |= criteria - record.completion_rate = completion_rate - record.attribute_set_not_completed_ids = not_complete_crit - if completion_rate < 100: - record.completion_state = "not_complete" - else: - record.completion_state = "complete" - else: - record.completion_rate = 0 - record.completion_state = "not_complete" + @api.depends("attribute_set_completeness_ids") + def _compute_attribute_set_completed_ids(self): + """Compute completed attribute set criterias""" + for rec in self: + rec.attribute_set_completed_ids = ( + rec.attribute_set_completeness_ids.filtered( + lambda c: bool(rec[c.field_id.name]) + ) + ) + + @api.depends("attribute_set_completed_ids") + def _compute_attribute_set_not_completed_ids(self): + """Compute not completed attribute set criterias""" + for rec in self: + rec.attribute_set_not_completed_ids = ( + rec.attribute_set_completeness_ids - rec.attribute_set_completed_ids + ) + + @api.depends("attribute_set_completed_ids") + def _compute_attribute_set_completion_rate(self): + """Compute the completion rate from completed criterias""" + for rec in self: + rec.attribute_set_completion_rate = ( + sum(rec.attribute_set_completed_ids.mapped("completion_rate")) + if rec.attribute_set_completed_ids + else 0.0 + ) + + @api.depends("attribute_set_completion_rate") + def _compute_attribute_set_completion_state(self): + """Compute the completion state""" + for rec in self: + rec.attribute_set_completion_state = ( + "complete" + if rec.attribute_set_completion_rate >= 100.0 + else "not_complete" + ) diff --git a/attribute_set_completeness/readme/CONTRIBUTORS.rst b/attribute_set_completeness/readme/CONTRIBUTORS.rst index fe309b7d..001665f4 100644 --- a/attribute_set_completeness/readme/CONTRIBUTORS.rst +++ b/attribute_set_completeness/readme/CONTRIBUTORS.rst @@ -1 +1,5 @@ * Cédric PIGEON +* Xavier Bouquiaux +* `Camptocamp `_ + + * Iván Todorovich diff --git a/attribute_set_completeness/tests/test_attribute_set_completeness.py b/attribute_set_completeness/tests/test_attribute_set_completeness.py index 912d4193..889d8b63 100644 --- a/attribute_set_completeness/tests/test_attribute_set_completeness.py +++ b/attribute_set_completeness/tests/test_attribute_set_completeness.py @@ -53,7 +53,7 @@ def setUpClass(cls): @classmethod def tearDownClass(cls): cls.loader.restore_registry() - super(TestAttributeSetCompleteness, cls).tearDownClass() + super().tearDownClass() def test_completion_rate_constrains_create(self): vals = { @@ -65,7 +65,8 @@ def test_completion_rate_constrains_create(self): (0, 0, {"field_id": self.attr2.field_id.id, "completion_rate": 10.0}), ], } - with self.assertRaises(ValidationError): + error_msg = "Total of completion rate must be 100 %" + with self.assertRaisesRegex(ValidationError, error_msg): self.env["attribute.set"].create(vals) def test_completion_rate_constrains_write_low(self): @@ -76,8 +77,8 @@ def test_completion_rate_constrains_write_low(self): (0, 0, {"field_id": self.attr1.field_id.id, "completion_rate": 10.0}), ] } - - with self.assertRaises(ValidationError): + error_msg = "Total of completion rate must be 100 %" + with self.assertRaisesRegex(ValidationError, error_msg): self.attr_set.write(vals) def test_completion_rate_constrains_write_high(self): @@ -85,32 +86,35 @@ def test_completion_rate_constrains_write_high(self): vals = { "attribute_set_completeness_ids": [ (2, completion_rules[0].id), - (0, 0, {"field_id": self.attr1.field_id.id, "completion_rate": 200.0},), + ( + 0, + 0, + {"field_id": self.attr1.field_id.id, "completion_rate": 200.0}, + ), ] } - - with self.assertRaises(ValidationError): + error_msg = "Total of completion rate must be 100 %" + with self.assertRaisesRegex(ValidationError, error_msg): self.attr_set.write(vals) def test_completion_rate(self): - vals = { - "name": "Test Partner", - } + vals = {"name": "Test Partner"} + # Case 1: Create the partner partner = self.env["res.partner"].create(vals) - self.assertEqual(partner.completion_state, "not_complete") - self.assertEqual(partner.completion_rate, 0.0) - + self.assertEqual(partner.attribute_set_completion_state, "not_complete") + self.assertEqual(partner.attribute_set_completion_rate, 0.0) + # Case 2: Set an attribute set partner.write({"attribute_set_id": self.attr_set.id}) partner.invalidate_cache() - self.assertEqual(partner.completion_state, "not_complete") - self.assertEqual(partner.completion_rate, 0.0) - + self.assertEqual(partner.attribute_set_completion_state, "not_complete") + self.assertEqual(partner.attribute_set_completion_rate, 0.0) + # Case 3: Set a field (50% completion) partner.write({"x_test": "test"}) partner.invalidate_cache() - self.assertEqual(partner.completion_state, "not_complete") - self.assertEqual(partner.completion_rate, 50.0) - + self.assertEqual(partner.attribute_set_completion_state, "not_complete") + self.assertEqual(partner.attribute_set_completion_rate, 50.0) + # Case 4: Set another field (100% completion) partner.write({"x_test2": "test"}) partner.invalidate_cache() - self.assertEqual(partner.completion_state, "complete") - self.assertEqual(partner.completion_rate, 100.0) + self.assertEqual(partner.attribute_set_completion_state, "complete") + self.assertEqual(partner.attribute_set_completion_rate, 100.0) diff --git a/attribute_set_completeness/views/attribute_set_completeness.xml b/attribute_set_completeness/views/attribute_set_completeness.xml index 5363e282..554df190 100644 --- a/attribute_set_completeness/views/attribute_set_completeness.xml +++ b/attribute_set_completeness/views/attribute_set_completeness.xml @@ -3,9 +3,6 @@ License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). --> - attribute.set.completeness.tree (in attribute_set_completeness) attribute.set.completeness From b061219ba6ab7195fe46e8ba5d7347a6b5242dea Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Tue, 27 Apr 2021 15:00:14 +0200 Subject: [PATCH 20/89] [14.0][IMP] attribute_set_completeness: Avoid duplicated strings --- .../models/attribute_set_completeness.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/attribute_set_completeness/models/attribute_set_completeness.py b/attribute_set_completeness/models/attribute_set_completeness.py index a2be0afa..68af5c77 100644 --- a/attribute_set_completeness/models/attribute_set_completeness.py +++ b/attribute_set_completeness/models/attribute_set_completeness.py @@ -28,7 +28,9 @@ class AttributeSetCompleteness(models.Model): readonly=True, ) completion_rate = fields.Float() - completion_rate_progress = fields.Float(related="completion_rate", readonly=True) + completion_rate_progress = fields.Float( + string="Completion Rate Progress", related="completion_rate", readonly=True + ) model_id = fields.Many2one(related="attribute_set_id.model_id", readonly=True) @api.depends("attribute_set_id") From 3694cf2131c140f9fb35040f0bb550bfb67a0133 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Wed, 6 Oct 2021 10:18:09 +0000 Subject: [PATCH 21/89] [UPD] Update attribute_set_completeness.pot --- .../i18n/attribute_set_completeness.pot | 168 ++++++++++++++++++ 1 file changed, 168 insertions(+) create mode 100644 attribute_set_completeness/i18n/attribute_set_completeness.pot diff --git a/attribute_set_completeness/i18n/attribute_set_completeness.pot b/attribute_set_completeness/i18n/attribute_set_completeness.pot new file mode 100644 index 00000000..099aaf87 --- /dev/null +++ b/attribute_set_completeness/i18n/attribute_set_completeness.pot @@ -0,0 +1,168 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * attribute_set_completeness +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: attribute_set_completeness +#: model:ir.model,name:attribute_set_completeness.model_attribute_set +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_completeness__attribute_set_id +msgid "Attribute Set" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model,name:attribute_set_completeness.model_attribute_set_completeness +msgid "Attribute Set Completeness" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_owner_mixin__attribute_set_completion_rate +msgid "Attribute Set Completion Rate" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_owner_mixin__attribute_set_completion_state +msgid "Attribute Set Completion State" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_owner_mixin__attribute_set_completed_ids +msgid "Attribute Set completed criterias" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_owner_mixin__attribute_set_not_completed_ids +msgid "Attribute Set not completed criterias" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_completeness__available_field_ids +msgid "Attribute Set's fields" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,help:attribute_set_completeness.field_attribute_set_owner_mixin__attribute_set_completion_rate +msgid "Attribute set completeness percentage" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,help:attribute_set_completeness.field_attribute_set_owner_mixin__attribute_set_completion_state +msgid "Attribute set completeness status" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model,name:attribute_set_completeness.model_attribute_set_owner_mixin +msgid "Attribute set owner mixin" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields.selection,name:attribute_set_completeness.selection__attribute_set_owner_mixin__attribute_set_completion_state__complete +msgid "Complete" +msgstr "" + +#. module: attribute_set_completeness +#: model_terms:ir.ui.view,arch_db:attribute_set_completeness.attribute_set_form_view +msgid "Completeness" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set__attribute_set_completeness_ids +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_owner_mixin__attribute_set_completeness_ids +msgid "Completeness Requirements" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_completeness__completion_rate +msgid "Completion Rate" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_completeness__completion_rate_progress +msgid "Completion Rate Progress" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_completeness__create_uid +msgid "Created by" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_completeness__create_date +msgid "Created on" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set__display_name +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_completeness__display_name +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_owner_mixin__display_name +msgid "Display Name" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_completeness__field_description +msgid "Field Description" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_completeness__field_id +msgid "Field Name" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,help:attribute_set_completeness.field_attribute_set_completeness__available_field_ids +msgid "Fields related to the Attribute set's attributes" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set__id +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_completeness__id +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_owner_mixin__id +msgid "ID" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set____last_update +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_completeness____last_update +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_owner_mixin____last_update +msgid "Last Modified on" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_completeness__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_completeness__write_date +msgid "Last Updated on" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields,field_description:attribute_set_completeness.field_attribute_set_completeness__model_id +msgid "Model" +msgstr "" + +#. module: attribute_set_completeness +#: model:ir.model.fields.selection,name:attribute_set_completeness.selection__attribute_set_owner_mixin__attribute_set_completion_state__not_complete +msgid "Not complete" +msgstr "" + +#. module: attribute_set_completeness +#: model_terms:ir.ui.view,arch_db:attribute_set_completeness.attribute_set_completeness_tree_view +msgid "Total" +msgstr "" + +#. module: attribute_set_completeness +#: code:addons/attribute_set_completeness/models/attribute_set.py:0 +#, python-format +msgid "Total of completion rate must be 100 %" +msgstr "" From 8c7359c54d095353cc9d344a93fb8e92ad44298c Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 6 Oct 2021 10:20:59 +0000 Subject: [PATCH 22/89] [UPD] README.rst --- attribute_set_completeness/README.rst | 38 ++++++++++++++----- .../static/description/index.html | 27 ++++++++++--- 2 files changed, 50 insertions(+), 15 deletions(-) diff --git a/attribute_set_completeness/README.rst b/attribute_set_completeness/README.rst index fa80207b..40a793bd 100644 --- a/attribute_set_completeness/README.rst +++ b/attribute_set_completeness/README.rst @@ -13,11 +13,17 @@ Attribute Set Completeness .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 -.. |badge3| image:: https://img.shields.io/badge/github-shopinvader%2Fodoo--pim-lightgray.png?logo=github - :target: https://github.com/shopinvader/odoo-pim/tree/12.0/attribute_set_completeness - :alt: shopinvader/odoo-pim - -|badge1| |badge2| |badge3| +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fodoo--pim-lightgray.png?logo=github + :target: https://github.com/OCA/odoo-pim/tree/14.0/attribute_set_completeness + :alt: OCA/odoo-pim +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/odoo-pim-14-0/odoo-pim-14-0-attribute_set_completeness + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/295/14.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| This module allows the user define a completion rate on the model linked to an attribute set. @@ -36,10 +42,10 @@ Then on the model linked to the attribute set you'll get 2 fields: completion ra Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. +Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -55,10 +61,24 @@ Contributors ~~~~~~~~~~~~ * Cédric PIGEON +* Xavier Bouquiaux +* `Camptocamp `_ + + * Iván Todorovich Maintainers ~~~~~~~~~~~ -This module is part of the `shopinvader/odoo-pim `_ project on GitHub. +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/odoo-pim `_ project on GitHub. -You are welcome to contribute. +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/attribute_set_completeness/static/description/index.html b/attribute_set_completeness/static/description/index.html index 0d9a2de7..44b175ca 100644 --- a/attribute_set_completeness/static/description/index.html +++ b/attribute_set_completeness/static/description/index.html @@ -367,7 +367,7 @@

Attribute Set Completeness

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 shopinvader/odoo-pim

+

Beta License: AGPL-3 OCA/odoo-pim Translate me on Weblate Try me on Runbot

This module allows the user define a completion rate on the model linked to an attribute set.

Table of contents

@@ -390,10 +390,10 @@

Usage

Bug Tracker

-

Bugs are tracked on GitHub Issues. +

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -feedback.

+feedback.

Do not contact contributors directly about support or help with technical issues.

@@ -406,14 +406,29 @@

Authors

Contributors

+

Maintainers

-

This module is part of the shopinvader/odoo-pim project on GitHub.

-

You are welcome to contribute.

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/odoo-pim project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

From 419bbade5d9ee2d55012920767d7c121ee8dd80e Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 6 Oct 2021 10:21:00 +0000 Subject: [PATCH 23/89] [ADD] icon.png --- .../static/description/icon.png | Bin 0 -> 9455 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 attribute_set_completeness/static/description/icon.png diff --git a/attribute_set_completeness/static/description/icon.png b/attribute_set_completeness/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 From 4a8443049424eb25155e8536a58e0f4dea9edb7d Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 6 Oct 2021 10:21:00 +0000 Subject: [PATCH 24/89] attribute_set_completeness 14.0.1.0.1 --- attribute_set_completeness/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/attribute_set_completeness/__manifest__.py b/attribute_set_completeness/__manifest__.py index a6006d8e..792a5b08 100644 --- a/attribute_set_completeness/__manifest__.py +++ b/attribute_set_completeness/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Attribute Set Completeness", - "version": "14.0.1.0.0", + "version": "14.0.1.0.1", "license": "AGPL-3", "author": "ACSONE SA/NV, Odoo Community Association (OCA)", "website": "https://github.com/OCA/odoo-pim", From 29c74cd4f38fec1efd933480621ee9e50a19785a Mon Sep 17 00:00:00 2001 From: xavier-bouquiaux Date: Thu, 27 Jan 2022 09:17:18 +0100 Subject: [PATCH 25/89] [14.0][FIX] attribute_set_completeness add migration script : fields have been removed from v13 -> v14 --- attribute_set_completeness/__manifest__.py | 2 +- .../migrations/14.0.1.0.1/pre-migration.py | 27 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 attribute_set_completeness/migrations/14.0.1.0.1/pre-migration.py diff --git a/attribute_set_completeness/__manifest__.py b/attribute_set_completeness/__manifest__.py index 792a5b08..f885a940 100644 --- a/attribute_set_completeness/__manifest__.py +++ b/attribute_set_completeness/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Attribute Set Completeness", - "version": "14.0.1.0.1", + "version": "14.0.1.0.2", "license": "AGPL-3", "author": "ACSONE SA/NV, Odoo Community Association (OCA)", "website": "https://github.com/OCA/odoo-pim", diff --git a/attribute_set_completeness/migrations/14.0.1.0.1/pre-migration.py b/attribute_set_completeness/migrations/14.0.1.0.1/pre-migration.py new file mode 100644 index 00000000..f0491f6a --- /dev/null +++ b/attribute_set_completeness/migrations/14.0.1.0.1/pre-migration.py @@ -0,0 +1,27 @@ +# Copyright 2022 Acsone SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +# when migrating to v14, 2 fields have been renamed +# completion_rate -> attribute_set_completion_rate +# completion_state -> attribute_set_completion_state +from openupgradelib import openupgrade + +field_renames = [ + ( + "attribute.set.owner.mixin", + "attribute.set.owner.mixin", + "completion_rate", + "attribute_set_completion_rate", + ), + ( + "attribute.set.owner.mixin", + "attribute.set.owner.mixin", + "completion_state", + "attribute_set_completion_state", + ), +] + + +@openupgrade.migrate() +def migrate(env, version): + openupgrade.rename_fields(env, field_renames) From d022ecb1e2a051a5c8b38163b8b84d29523e8a26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Pigeon?= Date: Tue, 1 Feb 2022 10:25:36 +0100 Subject: [PATCH 26/89] [14.0] attribute_set_completeness: store completion state and rate for allowing searches --- attribute_set_completeness/models/attribute_set_owner_mixin.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/attribute_set_completeness/models/attribute_set_owner_mixin.py b/attribute_set_completeness/models/attribute_set_owner_mixin.py index 06e68553..18808c88 100644 --- a/attribute_set_completeness/models/attribute_set_owner_mixin.py +++ b/attribute_set_completeness/models/attribute_set_owner_mixin.py @@ -25,11 +25,13 @@ class AttributeSetOwnerMixin(models.AbstractModel): attribute_set_completion_rate = fields.Float( compute="_compute_attribute_set_completion_rate", help="Attribute set completeness percentage", + store=True, ) attribute_set_completion_state = fields.Selection( selection=[("complete", "Complete"), ("not_complete", "Not complete")], compute="_compute_attribute_set_completion_state", help="Attribute set completeness status", + store=True, ) @api.depends("attribute_set_completeness_ids") From 0d8c2088207cc837af9d0f0d3a78e6bcb6951b85 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 17 Oct 2022 07:55:14 +0000 Subject: [PATCH 27/89] attribute_set_completeness 14.0.2.0.0 --- attribute_set_completeness/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/attribute_set_completeness/__manifest__.py b/attribute_set_completeness/__manifest__.py index f885a940..2aabe3f8 100644 --- a/attribute_set_completeness/__manifest__.py +++ b/attribute_set_completeness/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Attribute Set Completeness", - "version": "14.0.1.0.2", + "version": "14.0.2.0.0", "license": "AGPL-3", "author": "ACSONE SA/NV, Odoo Community Association (OCA)", "website": "https://github.com/OCA/odoo-pim", From 8eac10676bda2c4c1a6759442f0cb01415341e54 Mon Sep 17 00:00:00 2001 From: dsolanki Date: Mon, 17 Jul 2023 10:41:21 +0530 Subject: [PATCH 28/89] [IMP] attribute_set_completeness: pre-commit stuff --- .../odoo/addons/attribute_set_completeness | 1 + setup/attribute_set_completeness/setup.py | 6 ++++++ 2 files changed, 7 insertions(+) create mode 120000 setup/attribute_set_completeness/odoo/addons/attribute_set_completeness create mode 100644 setup/attribute_set_completeness/setup.py diff --git a/setup/attribute_set_completeness/odoo/addons/attribute_set_completeness b/setup/attribute_set_completeness/odoo/addons/attribute_set_completeness new file mode 120000 index 00000000..5c35cedd --- /dev/null +++ b/setup/attribute_set_completeness/odoo/addons/attribute_set_completeness @@ -0,0 +1 @@ +../../../../attribute_set_completeness \ No newline at end of file diff --git a/setup/attribute_set_completeness/setup.py b/setup/attribute_set_completeness/setup.py new file mode 100644 index 00000000..28c57bb6 --- /dev/null +++ b/setup/attribute_set_completeness/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From 422ea7076ffcf64cb6b6355562e7169a1822941f Mon Sep 17 00:00:00 2001 From: dsolanki Date: Mon, 17 Jul 2023 14:06:27 +0530 Subject: [PATCH 29/89] [MIG] attribute_set_completeness: Migration to 16.0 --- attribute_set_completeness/README.rst | 2 ++ attribute_set_completeness/__manifest__.py | 2 +- attribute_set_completeness/readme/CONTRIBUTORS.rst | 2 ++ attribute_set_completeness/test-requirements.txt | 1 + .../tests/test_attribute_set_completeness.py | 10 +++++----- attribute_set_completeness/views/attribute_set.xml | 10 ++++++---- 6 files changed, 17 insertions(+), 10 deletions(-) create mode 100644 attribute_set_completeness/test-requirements.txt diff --git a/attribute_set_completeness/README.rst b/attribute_set_completeness/README.rst index 40a793bd..ae2b1c16 100644 --- a/attribute_set_completeness/README.rst +++ b/attribute_set_completeness/README.rst @@ -66,6 +66,8 @@ Contributors * Iván Todorovich +* Dhara Solanki + Maintainers ~~~~~~~~~~~ diff --git a/attribute_set_completeness/__manifest__.py b/attribute_set_completeness/__manifest__.py index 2aabe3f8..27c28938 100644 --- a/attribute_set_completeness/__manifest__.py +++ b/attribute_set_completeness/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Attribute Set Completeness", - "version": "14.0.2.0.0", + "version": "16.0.1.0.0", "license": "AGPL-3", "author": "ACSONE SA/NV, Odoo Community Association (OCA)", "website": "https://github.com/OCA/odoo-pim", diff --git a/attribute_set_completeness/readme/CONTRIBUTORS.rst b/attribute_set_completeness/readme/CONTRIBUTORS.rst index 001665f4..8dda8163 100644 --- a/attribute_set_completeness/readme/CONTRIBUTORS.rst +++ b/attribute_set_completeness/readme/CONTRIBUTORS.rst @@ -3,3 +3,5 @@ * `Camptocamp `_ * Iván Todorovich + +* Dhara Solanki diff --git a/attribute_set_completeness/test-requirements.txt b/attribute_set_completeness/test-requirements.txt new file mode 100644 index 00000000..66bc2cba --- /dev/null +++ b/attribute_set_completeness/test-requirements.txt @@ -0,0 +1 @@ +odoo_test_helper diff --git a/attribute_set_completeness/tests/test_attribute_set_completeness.py b/attribute_set_completeness/tests/test_attribute_set_completeness.py index 889d8b63..4e3cdb70 100644 --- a/attribute_set_completeness/tests/test_attribute_set_completeness.py +++ b/attribute_set_completeness/tests/test_attribute_set_completeness.py @@ -5,10 +5,10 @@ from odoo.exceptions import ValidationError -from odoo.addons.component.tests.common import SavepointComponentCase +from odoo.addons.component.tests.common import TransactionComponentCase -class TestAttributeSetCompleteness(SavepointComponentCase): +class TestAttributeSetCompleteness(TransactionComponentCase): @classmethod def setUpClass(cls): super().setUpClass() @@ -105,16 +105,16 @@ def test_completion_rate(self): self.assertEqual(partner.attribute_set_completion_rate, 0.0) # Case 2: Set an attribute set partner.write({"attribute_set_id": self.attr_set.id}) - partner.invalidate_cache() + partner.invalidate_model() self.assertEqual(partner.attribute_set_completion_state, "not_complete") self.assertEqual(partner.attribute_set_completion_rate, 0.0) # Case 3: Set a field (50% completion) partner.write({"x_test": "test"}) - partner.invalidate_cache() + partner.invalidate_model() self.assertEqual(partner.attribute_set_completion_state, "not_complete") self.assertEqual(partner.attribute_set_completion_rate, 50.0) # Case 4: Set another field (100% completion) partner.write({"x_test2": "test"}) - partner.invalidate_cache() + partner.invalidate_model() self.assertEqual(partner.attribute_set_completion_state, "complete") self.assertEqual(partner.attribute_set_completion_rate, 100.0) diff --git a/attribute_set_completeness/views/attribute_set.xml b/attribute_set_completeness/views/attribute_set.xml index 8b50fd27..51f093d0 100644 --- a/attribute_set_completeness/views/attribute_set.xml +++ b/attribute_set_completeness/views/attribute_set.xml @@ -7,16 +7,18 @@ attribute.set - - + +
From 3622e62a475c3703a8038279e1227773d8052df2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Pigeon?= Date: Wed, 10 Jun 2020 16:53:45 +0200 Subject: [PATCH 30/89] [ADD] add new features to manage completion rate and completion state on models linked to attribute set --- product_attribute_set_completeness/README.rst | 63 +++++++++++++++++++ .../__init__.py | 0 .../__manifest__.py | 14 +++++ .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 1 + .../readme/USAGE.rst | 2 + .../views/product_template_view.xml | 58 +++++++++++++++++ 7 files changed, 139 insertions(+) create mode 100644 product_attribute_set_completeness/README.rst create mode 100644 product_attribute_set_completeness/__init__.py create mode 100644 product_attribute_set_completeness/__manifest__.py create mode 100644 product_attribute_set_completeness/readme/CONTRIBUTORS.rst create mode 100644 product_attribute_set_completeness/readme/DESCRIPTION.rst create mode 100644 product_attribute_set_completeness/readme/USAGE.rst create mode 100644 product_attribute_set_completeness/views/product_template_view.xml diff --git a/product_attribute_set_completeness/README.rst b/product_attribute_set_completeness/README.rst new file mode 100644 index 00000000..375c2ba1 --- /dev/null +++ b/product_attribute_set_completeness/README.rst @@ -0,0 +1,63 @@ +=================================== +Product Attribute Set Completeness +=================================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-shopinvader%2Fodoo--pim-lightgray.png?logo=github + :target: https://github.com/shopinvader/odoo-pim/tree/12.0/product_attribute_set_completeness + :alt: shopinvader/odoo-pim + +|badge1| |badge2| |badge3| + +This module adds the completion rate and the completion state on the products. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +Completion rate and completion state are visible on the product form. +These 2 properties are also searchable through the search view ("Complete" and "Not Complete" filters). + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Acsone Sa/NV + +Contributors +~~~~~~~~~~~~ + +* Cédric Pigeon + +Maintainers +~~~~~~~~~~~ + +This module is part of the `shopinvader/odoo-pim `_ project on GitHub. + +You are welcome to contribute. diff --git a/product_attribute_set_completeness/__init__.py b/product_attribute_set_completeness/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/product_attribute_set_completeness/__manifest__.py b/product_attribute_set_completeness/__manifest__.py new file mode 100644 index 00000000..aeea488d --- /dev/null +++ b/product_attribute_set_completeness/__manifest__.py @@ -0,0 +1,14 @@ +# Copyright 2020 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Product Attribute Set Completeness", + "version": "12.0.1.0.0", + "license": "AGPL-3", + "author": "ACSONE SA/NV", + "website": "https://acsone.eu", + "depends": ["product_attribute_set", "attribute_set_completeness"], + "data": ["views/product_template_view.xml"], + "demo": [], + "auto_install": True, +} diff --git a/product_attribute_set_completeness/readme/CONTRIBUTORS.rst b/product_attribute_set_completeness/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..fe309b7d --- /dev/null +++ b/product_attribute_set_completeness/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Cédric PIGEON diff --git a/product_attribute_set_completeness/readme/DESCRIPTION.rst b/product_attribute_set_completeness/readme/DESCRIPTION.rst new file mode 100644 index 00000000..4034b2c2 --- /dev/null +++ b/product_attribute_set_completeness/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This module adds the completion rate and the completion state on the products. diff --git a/product_attribute_set_completeness/readme/USAGE.rst b/product_attribute_set_completeness/readme/USAGE.rst new file mode 100644 index 00000000..59b61b17 --- /dev/null +++ b/product_attribute_set_completeness/readme/USAGE.rst @@ -0,0 +1,2 @@ +Completion rate and completion state are visible on the product form. +These 2 properties are also searchable through the search view ("Complete" and "Not Complete" filters). diff --git a/product_attribute_set_completeness/views/product_template_view.xml b/product_attribute_set_completeness/views/product_template_view.xml new file mode 100644 index 00000000..5cfcaa24 --- /dev/null +++ b/product_attribute_set_completeness/views/product_template_view.xml @@ -0,0 +1,58 @@ + + + + + product.template.view.form (in product_attribute_set_completeness) + product.template + + +
+ +
+ +
+ + +
+
+
+
+ + product.template.search (in product_attribute_set_completeness) + product.template + + + + + + + + + +
From 26f6c5bae98a10c9961a9b6e3bfdfbc539bcafb7 Mon Sep 17 00:00:00 2001 From: shopinvader-git-bot Date: Thu, 18 Jun 2020 08:21:57 +0000 Subject: [PATCH 31/89] [UPD] README.rst --- product_attribute_set_completeness/README.rst | 8 +- .../static/description/index.html | 420 ++++++++++++++++++ 2 files changed, 424 insertions(+), 4 deletions(-) create mode 100644 product_attribute_set_completeness/static/description/index.html diff --git a/product_attribute_set_completeness/README.rst b/product_attribute_set_completeness/README.rst index 375c2ba1..fc296948 100644 --- a/product_attribute_set_completeness/README.rst +++ b/product_attribute_set_completeness/README.rst @@ -1,6 +1,6 @@ -=================================== +================================== Product Attribute Set Completeness -=================================== +================================== .. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! @@ -48,12 +48,12 @@ Credits Authors ~~~~~~~ -* Acsone Sa/NV +* ACSONE SA/NV Contributors ~~~~~~~~~~~~ -* Cédric Pigeon +* Cédric PIGEON Maintainers ~~~~~~~~~~~ diff --git a/product_attribute_set_completeness/static/description/index.html b/product_attribute_set_completeness/static/description/index.html new file mode 100644 index 00000000..3b9bb5aa --- /dev/null +++ b/product_attribute_set_completeness/static/description/index.html @@ -0,0 +1,420 @@ + + + + + + +Product Attribute Set Completeness + + + +
+

Product Attribute Set Completeness

+ + +

Beta License: AGPL-3 shopinvader/odoo-pim

+

This module adds the completion rate and the completion state on the products.

+

Table of contents

+ +
+

Usage

+

Completion rate and completion state are visible on the product form. +These 2 properties are also searchable through the search view (“Complete” and “Not Complete” filters).

+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • ACSONE SA/NV
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is part of the shopinvader/odoo-pim project on GitHub.

+

You are welcome to contribute.

+
+
+
+ + From ccad78d2bbeb054f05039468eecbc296973984af Mon Sep 17 00:00:00 2001 From: shopinvader-git-bot Date: Thu, 18 Jun 2020 08:21:57 +0000 Subject: [PATCH 32/89] product_attribute_set_completeness 12.0.1.0.1 --- product_attribute_set_completeness/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_attribute_set_completeness/__manifest__.py b/product_attribute_set_completeness/__manifest__.py index aeea488d..4e1a5242 100644 --- a/product_attribute_set_completeness/__manifest__.py +++ b/product_attribute_set_completeness/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Product Attribute Set Completeness", - "version": "12.0.1.0.0", + "version": "12.0.1.0.1", "license": "AGPL-3", "author": "ACSONE SA/NV", "website": "https://acsone.eu", From 9cdfdd07f21b70f5065da2150d766f0b8d575404 Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Fri, 26 Jun 2020 09:26:00 +0200 Subject: [PATCH 33/89] [10.0][FIX] attribute_set_completeness: Add not completed fields --- .../views/product_template_view.xml | 40 +++++++++++++------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/product_attribute_set_completeness/views/product_template_view.xml b/product_attribute_set_completeness/views/product_template_view.xml index 5cfcaa24..c8133823 100644 --- a/product_attribute_set_completeness/views/product_template_view.xml +++ b/product_attribute_set_completeness/views/product_template_view.xml @@ -15,20 +15,36 @@
+ + + + + + +
- - + + + + + + +
From 2af29b0da319dc861568df611f1e9241f7a58022 Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Mon, 29 Jun 2020 18:06:30 +0200 Subject: [PATCH 34/89] [10.0][IMP] pre-commit updates --- .../views/product_template_view.xml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/product_attribute_set_completeness/views/product_template_view.xml b/product_attribute_set_completeness/views/product_template_view.xml index c8133823..0e8ca95c 100644 --- a/product_attribute_set_completeness/views/product_template_view.xml +++ b/product_attribute_set_completeness/views/product_template_view.xml @@ -18,16 +18,25 @@ - -
- - + + Date: Wed, 30 Sep 2020 17:54:45 +0200 Subject: [PATCH 35/89] product_attribute_set_completeness: fix completion_rate widget --- .../views/product_template_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_attribute_set_completeness/views/product_template_view.xml b/product_attribute_set_completeness/views/product_template_view.xml index 0e8ca95c..734d3fc2 100644 --- a/product_attribute_set_completeness/views/product_template_view.xml +++ b/product_attribute_set_completeness/views/product_template_view.xml @@ -47,7 +47,7 @@ /> Date: Fri, 2 Oct 2020 07:23:54 +0000 Subject: [PATCH 36/89] product_attribute_set_completeness 12.0.1.1.0 --- product_attribute_set_completeness/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_attribute_set_completeness/__manifest__.py b/product_attribute_set_completeness/__manifest__.py index 4e1a5242..0bc0a7e6 100644 --- a/product_attribute_set_completeness/__manifest__.py +++ b/product_attribute_set_completeness/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Product Attribute Set Completeness", - "version": "12.0.1.0.1", + "version": "12.0.1.1.0", "license": "AGPL-3", "author": "ACSONE SA/NV", "website": "https://acsone.eu", From b1e960dd91080daf1373b8f970c1173b0175666b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Pigeon?= Date: Tue, 7 Jul 2020 16:18:42 +0200 Subject: [PATCH 37/89] [FIX] attribute_set_completeness: speed up completion fields --- product_attribute_set_completeness/__init__.py | 1 + .../components/__init__.py | 3 +++ .../components/product_template_event_listener.py | 10 ++++++++++ 3 files changed, 14 insertions(+) create mode 100644 product_attribute_set_completeness/components/__init__.py create mode 100644 product_attribute_set_completeness/components/product_template_event_listener.py diff --git a/product_attribute_set_completeness/__init__.py b/product_attribute_set_completeness/__init__.py index e69de29b..1377f57f 100644 --- a/product_attribute_set_completeness/__init__.py +++ b/product_attribute_set_completeness/__init__.py @@ -0,0 +1 @@ +from . import components diff --git a/product_attribute_set_completeness/components/__init__.py b/product_attribute_set_completeness/components/__init__.py new file mode 100644 index 00000000..e961b842 --- /dev/null +++ b/product_attribute_set_completeness/components/__init__.py @@ -0,0 +1,3 @@ +# Copyright 2020 ACSONE SA/NV () +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from . import product_template_event_listener diff --git a/product_attribute_set_completeness/components/product_template_event_listener.py b/product_attribute_set_completeness/components/product_template_event_listener.py new file mode 100644 index 00000000..12d00cf2 --- /dev/null +++ b/product_attribute_set_completeness/components/product_template_event_listener.py @@ -0,0 +1,10 @@ +# Copyright 2020 ACSONE SA/NV () +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo.addons.component.core import Component + + +class ProductTemplateEventListener(Component): + _name = "product.template.event.listener" + _inherit = ["attribute.set.owner.event.listener"] + + _apply_on = ["product.template"] From b4fc37a49359b71dff417809c514c75b88067fd1 Mon Sep 17 00:00:00 2001 From: shopinvader-git-bot Date: Mon, 5 Oct 2020 09:47:17 +0000 Subject: [PATCH 38/89] product_attribute_set_completeness 12.0.1.2.0 --- product_attribute_set_completeness/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_attribute_set_completeness/__manifest__.py b/product_attribute_set_completeness/__manifest__.py index 0bc0a7e6..66dab505 100644 --- a/product_attribute_set_completeness/__manifest__.py +++ b/product_attribute_set_completeness/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Product Attribute Set Completeness", - "version": "12.0.1.1.0", + "version": "12.0.1.2.0", "license": "AGPL-3", "author": "ACSONE SA/NV", "website": "https://acsone.eu", From a58e2f6f8c702430341210566be8f2a9aaecb5ba Mon Sep 17 00:00:00 2001 From: clementmbr Date: Fri, 16 Oct 2020 17:57:47 -0300 Subject: [PATCH 39/89] [IMP] product_attribute_set_completeness UI --- .../views/product_template_view.xml | 51 +++++++++---------- 1 file changed, 23 insertions(+), 28 deletions(-) diff --git a/product_attribute_set_completeness/views/product_template_view.xml b/product_attribute_set_completeness/views/product_template_view.xml index 734d3fc2..1307f7a8 100644 --- a/product_attribute_set_completeness/views/product_template_view.xml +++ b/product_attribute_set_completeness/views/product_template_view.xml @@ -12,11 +12,10 @@ ref="product_attribute_set.product_template_form_view" /> -
- -
- +
- + +
- + +
- - - - - - - +
+ +
From 37d994bfca6d49f13954ed1847010d2034488780 Mon Sep 17 00:00:00 2001 From: clementmbr Date: Fri, 16 Oct 2020 23:11:55 -0300 Subject: [PATCH 40/89] [IMP] Hide completeness state and rate if no completeness_ids --- .../views/product_template_view.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/product_attribute_set_completeness/views/product_template_view.xml b/product_attribute_set_completeness/views/product_template_view.xml index 1307f7a8..0e9b3d93 100644 --- a/product_attribute_set_completeness/views/product_template_view.xml +++ b/product_attribute_set_completeness/views/product_template_view.xml @@ -36,7 +36,7 @@ name="completion_state" nolabel="1" options="{'classes': {'complete': 'success', 'not_complete':'danger'}}" - attrs="{'invisible': [('attribute_set_id', '=', False)]}" + attrs="{'invisible': ['|', ('attribute_set_id', '=', False), ('attribute_set_not_completed_ids', '=', [])]}" class="ml-3" />
@@ -44,8 +44,8 @@ name="completion_rate" widget="progressbar" nolabel="1" - attrs="{'invisible': ['|', ('attribute_set_id', '=', False), - ('completion_state', '=', 'complete')]}" + attrs="{'invisible': ['|', '|', ('attribute_set_id', '=', False), + ('completion_state', '=', 'complete'), ('attribute_set_not_completed_ids', '=', [])]}" />
@@ -70,7 +70,7 @@ From f4e1ad98a5817b23badb501431412c078f9175e7 Mon Sep 17 00:00:00 2001 From: shopinvader-git-bot Date: Tue, 20 Oct 2020 07:22:20 +0000 Subject: [PATCH 41/89] product_attribute_set_completeness 12.0.1.2.1 --- product_attribute_set_completeness/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_attribute_set_completeness/__manifest__.py b/product_attribute_set_completeness/__manifest__.py index 66dab505..4a792dcc 100644 --- a/product_attribute_set_completeness/__manifest__.py +++ b/product_attribute_set_completeness/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Product Attribute Set Completeness", - "version": "12.0.1.2.0", + "version": "12.0.1.2.1", "license": "AGPL-3", "author": "ACSONE SA/NV", "website": "https://acsone.eu", From 6ffd7c4e894f2be11bf2e0158b28db1d79c10d5c Mon Sep 17 00:00:00 2001 From: xavier-bouquiaux Date: Thu, 15 Apr 2021 21:18:43 +0200 Subject: [PATCH 42/89] [IMP] product_attribute_set_completeness: black, isort, prettier --- product_attribute_set_completeness/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_attribute_set_completeness/__manifest__.py b/product_attribute_set_completeness/__manifest__.py index 4a792dcc..b7f9ee94 100644 --- a/product_attribute_set_completeness/__manifest__.py +++ b/product_attribute_set_completeness/__manifest__.py @@ -6,7 +6,7 @@ "version": "12.0.1.2.1", "license": "AGPL-3", "author": "ACSONE SA/NV", - "website": "https://acsone.eu", + "website": "https://github.com/shopinvader/odoo-pim", "depends": ["product_attribute_set", "attribute_set_completeness"], "data": ["views/product_template_view.xml"], "demo": [], From 2df2ce568a82b02176040bd0b408a0dcf7546047 Mon Sep 17 00:00:00 2001 From: xavier-bouquiaux Date: Fri, 16 Apr 2021 09:03:30 +0200 Subject: [PATCH 43/89] [14.0][MIG] product_attribute_set_completeness --- .../__manifest__.py | 7 +- .../product_template_event_listener.py | 1 + .../readme/CONTRIBUTORS.rst | 4 ++ .../views/product_template_view.xml | 64 ++++++------------- 4 files changed, 27 insertions(+), 49 deletions(-) diff --git a/product_attribute_set_completeness/__manifest__.py b/product_attribute_set_completeness/__manifest__.py index b7f9ee94..2f786f0b 100644 --- a/product_attribute_set_completeness/__manifest__.py +++ b/product_attribute_set_completeness/__manifest__.py @@ -3,12 +3,11 @@ { "name": "Product Attribute Set Completeness", - "version": "12.0.1.2.1", + "version": "14.0.1.0.0", "license": "AGPL-3", - "author": "ACSONE SA/NV", - "website": "https://github.com/shopinvader/odoo-pim", + "author": "ACSONE SA/NV, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/odoo-pim", "depends": ["product_attribute_set", "attribute_set_completeness"], "data": ["views/product_template_view.xml"], - "demo": [], "auto_install": True, } diff --git a/product_attribute_set_completeness/components/product_template_event_listener.py b/product_attribute_set_completeness/components/product_template_event_listener.py index 12d00cf2..4d0a0640 100644 --- a/product_attribute_set_completeness/components/product_template_event_listener.py +++ b/product_attribute_set_completeness/components/product_template_event_listener.py @@ -1,5 +1,6 @@ # Copyright 2020 ACSONE SA/NV () # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + from odoo.addons.component.core import Component diff --git a/product_attribute_set_completeness/readme/CONTRIBUTORS.rst b/product_attribute_set_completeness/readme/CONTRIBUTORS.rst index fe309b7d..001665f4 100644 --- a/product_attribute_set_completeness/readme/CONTRIBUTORS.rst +++ b/product_attribute_set_completeness/readme/CONTRIBUTORS.rst @@ -1 +1,5 @@ * Cédric PIGEON +* Xavier Bouquiaux +* `Camptocamp `_ + + * Iván Todorovich diff --git a/product_attribute_set_completeness/views/product_template_view.xml b/product_attribute_set_completeness/views/product_template_view.xml index 0e9b3d93..c3f3784a 100644 --- a/product_attribute_set_completeness/views/product_template_view.xml +++ b/product_attribute_set_completeness/views/product_template_view.xml @@ -3,16 +3,13 @@ License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). --> - product.template.view.form (in product_attribute_set_completeness) product.template - +
@@ -29,50 +26,27 @@
-
- + + -
- -
- - -
-
-
- - product.template.search (in product_attribute_set_completeness) - product.template - - - - - - - + + +
From 902bd355bcd697653a420e563b353993a835e6a1 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Wed, 6 Oct 2021 13:02:57 +0000 Subject: [PATCH 44/89] [UPD] Update product_attribute_set_completeness.pot --- .../product_attribute_set_completeness.pot | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 product_attribute_set_completeness/i18n/product_attribute_set_completeness.pot diff --git a/product_attribute_set_completeness/i18n/product_attribute_set_completeness.pot b/product_attribute_set_completeness/i18n/product_attribute_set_completeness.pot new file mode 100644 index 00000000..854fe18e --- /dev/null +++ b/product_attribute_set_completeness/i18n/product_attribute_set_completeness.pot @@ -0,0 +1,19 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_attribute_set_completeness +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: product_attribute_set_completeness +#: model_terms:ir.ui.view,arch_db:product_attribute_set_completeness.product_template_view_form +msgid "Not completed attributes" +msgstr "" From 995033b34271bbb49fae753a0ff97d934a5592c3 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 6 Oct 2021 13:05:30 +0000 Subject: [PATCH 45/89] [UPD] README.rst --- product_attribute_set_completeness/README.rst | 38 ++++++++++++++----- .../static/description/index.html | 27 ++++++++++--- 2 files changed, 50 insertions(+), 15 deletions(-) diff --git a/product_attribute_set_completeness/README.rst b/product_attribute_set_completeness/README.rst index fc296948..45599f0e 100644 --- a/product_attribute_set_completeness/README.rst +++ b/product_attribute_set_completeness/README.rst @@ -13,11 +13,17 @@ Product Attribute Set Completeness .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 -.. |badge3| image:: https://img.shields.io/badge/github-shopinvader%2Fodoo--pim-lightgray.png?logo=github - :target: https://github.com/shopinvader/odoo-pim/tree/12.0/product_attribute_set_completeness - :alt: shopinvader/odoo-pim - -|badge1| |badge2| |badge3| +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fodoo--pim-lightgray.png?logo=github + :target: https://github.com/OCA/odoo-pim/tree/14.0/product_attribute_set_completeness + :alt: OCA/odoo-pim +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/odoo-pim-14-0/odoo-pim-14-0-product_attribute_set_completeness + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/295/14.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| This module adds the completion rate and the completion state on the products. @@ -35,10 +41,10 @@ These 2 properties are also searchable through the search view ("Complete" and " Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. +Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -54,10 +60,24 @@ Contributors ~~~~~~~~~~~~ * Cédric PIGEON +* Xavier Bouquiaux +* `Camptocamp `_ + + * Iván Todorovich Maintainers ~~~~~~~~~~~ -This module is part of the `shopinvader/odoo-pim `_ project on GitHub. +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/odoo-pim `_ project on GitHub. -You are welcome to contribute. +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/product_attribute_set_completeness/static/description/index.html b/product_attribute_set_completeness/static/description/index.html index 3b9bb5aa..bcc19cc3 100644 --- a/product_attribute_set_completeness/static/description/index.html +++ b/product_attribute_set_completeness/static/description/index.html @@ -367,7 +367,7 @@

Product Attribute Set Completeness

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 shopinvader/odoo-pim

+

Beta License: AGPL-3 OCA/odoo-pim Translate me on Weblate Try me on Runbot

This module adds the completion rate and the completion state on the products.

Table of contents

@@ -389,10 +389,10 @@

Usage

Bug Tracker

-

Bugs are tracked on GitHub Issues. +

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -feedback.

+feedback.

Do not contact contributors directly about support or help with technical issues.

@@ -405,14 +405,29 @@

Authors

Contributors

+

Maintainers

-

This module is part of the shopinvader/odoo-pim project on GitHub.

-

You are welcome to contribute.

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/odoo-pim project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

From 12642259081a274935929d39ef11a37319938059 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 6 Oct 2021 13:05:31 +0000 Subject: [PATCH 46/89] [ADD] icon.png --- .../static/description/icon.png | Bin 0 -> 9455 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 product_attribute_set_completeness/static/description/icon.png diff --git a/product_attribute_set_completeness/static/description/icon.png b/product_attribute_set_completeness/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 From 7f887c8b020f07e7b77f89d407722266c33f5d4b Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 6 Oct 2021 13:05:32 +0000 Subject: [PATCH 47/89] product_attribute_set_completeness 14.0.1.0.1 --- product_attribute_set_completeness/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_attribute_set_completeness/__manifest__.py b/product_attribute_set_completeness/__manifest__.py index 2f786f0b..d0b2084e 100644 --- a/product_attribute_set_completeness/__manifest__.py +++ b/product_attribute_set_completeness/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Product Attribute Set Completeness", - "version": "14.0.1.0.0", + "version": "14.0.1.0.1", "license": "AGPL-3", "author": "ACSONE SA/NV, Odoo Community Association (OCA)", "website": "https://github.com/OCA/odoo-pim", From 4e6fbc69445d8f5826c4c1a3518ef9b87eac2731 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Pigeon?= Date: Wed, 2 Feb 2022 13:59:49 +0100 Subject: [PATCH 48/89] [CHG] product_attribute_set_completeness: re-introduce completion_state filters --- .../views/product_template_view.xml | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/product_attribute_set_completeness/views/product_template_view.xml b/product_attribute_set_completeness/views/product_template_view.xml index c3f3784a..e455338e 100644 --- a/product_attribute_set_completeness/views/product_template_view.xml +++ b/product_attribute_set_completeness/views/product_template_view.xml @@ -49,4 +49,26 @@
+ + product.template.search (in product_attribute_set_completeness) + product.template + + + + + + + + + From d69b52e557e6be0cf2c9b04249b8b27abef996b0 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Mon, 17 Oct 2022 07:52:15 +0000 Subject: [PATCH 49/89] [UPD] Update product_attribute_set_completeness.pot --- .../i18n/product_attribute_set_completeness.pot | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/product_attribute_set_completeness/i18n/product_attribute_set_completeness.pot b/product_attribute_set_completeness/i18n/product_attribute_set_completeness.pot index 854fe18e..b2a2fb81 100644 --- a/product_attribute_set_completeness/i18n/product_attribute_set_completeness.pot +++ b/product_attribute_set_completeness/i18n/product_attribute_set_completeness.pot @@ -13,6 +13,16 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: product_attribute_set_completeness +#: model_terms:ir.ui.view,arch_db:product_attribute_set_completeness.product_template_search_view +msgid "Complete" +msgstr "" + +#. module: product_attribute_set_completeness +#: model_terms:ir.ui.view,arch_db:product_attribute_set_completeness.product_template_search_view +msgid "Not Complete" +msgstr "" + #. module: product_attribute_set_completeness #: model_terms:ir.ui.view,arch_db:product_attribute_set_completeness.product_template_view_form msgid "Not completed attributes" From 7fc8e30a74d383e90463ab07dde36265e9c11526 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 17 Oct 2022 07:55:13 +0000 Subject: [PATCH 50/89] product_attribute_set_completeness 14.0.2.0.0 --- product_attribute_set_completeness/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_attribute_set_completeness/__manifest__.py b/product_attribute_set_completeness/__manifest__.py index d0b2084e..94eed7bc 100644 --- a/product_attribute_set_completeness/__manifest__.py +++ b/product_attribute_set_completeness/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Product Attribute Set Completeness", - "version": "14.0.1.0.1", + "version": "14.0.2.0.0", "license": "AGPL-3", "author": "ACSONE SA/NV, Odoo Community Association (OCA)", "website": "https://github.com/OCA/odoo-pim", From 7ebc02074f79c54d083f5f7cb48631d692cbbae1 Mon Sep 17 00:00:00 2001 From: dsolanki Date: Thu, 20 Jul 2023 16:46:48 +0530 Subject: [PATCH 51/89] [IMP] product_attribute_set_completeness: pre-commit stuff --- .../odoo/addons/product_attribute_set_completeness | 1 + setup/product_attribute_set_completeness/setup.py | 6 ++++++ 2 files changed, 7 insertions(+) create mode 120000 setup/product_attribute_set_completeness/odoo/addons/product_attribute_set_completeness create mode 100644 setup/product_attribute_set_completeness/setup.py diff --git a/setup/product_attribute_set_completeness/odoo/addons/product_attribute_set_completeness b/setup/product_attribute_set_completeness/odoo/addons/product_attribute_set_completeness new file mode 120000 index 00000000..4c816b87 --- /dev/null +++ b/setup/product_attribute_set_completeness/odoo/addons/product_attribute_set_completeness @@ -0,0 +1 @@ +../../../../product_attribute_set_completeness \ No newline at end of file diff --git a/setup/product_attribute_set_completeness/setup.py b/setup/product_attribute_set_completeness/setup.py new file mode 100644 index 00000000..28c57bb6 --- /dev/null +++ b/setup/product_attribute_set_completeness/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From e16a96eb883b79d5aabb4b8df914f60a62f5b17b Mon Sep 17 00:00:00 2001 From: dsolanki Date: Thu, 20 Jul 2023 16:51:41 +0530 Subject: [PATCH 52/89] [MIG] product_attribute_set_completeness: Migration to 16.0 --- product_attribute_set_completeness/README.rst | 2 ++ product_attribute_set_completeness/__manifest__.py | 2 +- product_attribute_set_completeness/readme/CONTRIBUTORS.rst | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/product_attribute_set_completeness/README.rst b/product_attribute_set_completeness/README.rst index 45599f0e..90c1664e 100644 --- a/product_attribute_set_completeness/README.rst +++ b/product_attribute_set_completeness/README.rst @@ -65,6 +65,8 @@ Contributors * Iván Todorovich +* Dhara Solanki + Maintainers ~~~~~~~~~~~ diff --git a/product_attribute_set_completeness/__manifest__.py b/product_attribute_set_completeness/__manifest__.py index 94eed7bc..cb8b80d9 100644 --- a/product_attribute_set_completeness/__manifest__.py +++ b/product_attribute_set_completeness/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Product Attribute Set Completeness", - "version": "14.0.2.0.0", + "version": "16.0.1.0.0", "license": "AGPL-3", "author": "ACSONE SA/NV, Odoo Community Association (OCA)", "website": "https://github.com/OCA/odoo-pim", diff --git a/product_attribute_set_completeness/readme/CONTRIBUTORS.rst b/product_attribute_set_completeness/readme/CONTRIBUTORS.rst index 001665f4..8dda8163 100644 --- a/product_attribute_set_completeness/readme/CONTRIBUTORS.rst +++ b/product_attribute_set_completeness/readme/CONTRIBUTORS.rst @@ -3,3 +3,5 @@ * `Camptocamp `_ * Iván Todorovich + +* Dhara Solanki From 041b90c5dfdc2346f750a5b608fff6b5e9c88b1c Mon Sep 17 00:00:00 2001 From: clementmbr Date: Mon, 18 May 2020 17:44:11 -0300 Subject: [PATCH 53/89] [REF] rename modules based on attribute_set and pim New organization : - attribute_set (former base_custom_attribute) - product_attribute_set (former pim_custom_attribute but without menus) - pim (The "PIM application" former pim_base) - pim_attrubute_set (depends on product_attribute_set and adds menus in the PIM application) --- pim/README.rst | 69 +++++ pim/__init__.py | 1 + pim/__manifest__.py | 19 ++ pim/data/ir_module_category_data.xml | 8 + pim/readme/CONFIGURE.rst | 1 + pim/readme/CONTRIBUTORS.rst | 0 pim/readme/DESCRIPTION.rst | 13 + pim/readme/ROADMAP.rst | 0 pim/readme/USAGE.rst | 0 pim/security/pim_security.xml | 28 ++ pim/static/description/icon.png | Bin 0 -> 2264 bytes pim/static/description/index.html | 424 +++++++++++++++++++++++++++ pim/views/pim_view.xml | 67 +++++ 13 files changed, 630 insertions(+) create mode 100644 pim/README.rst create mode 100644 pim/__init__.py create mode 100644 pim/__manifest__.py create mode 100644 pim/data/ir_module_category_data.xml create mode 100644 pim/readme/CONFIGURE.rst create mode 100644 pim/readme/CONTRIBUTORS.rst create mode 100644 pim/readme/DESCRIPTION.rst create mode 100644 pim/readme/ROADMAP.rst create mode 100644 pim/readme/USAGE.rst create mode 100644 pim/security/pim_security.xml create mode 100644 pim/static/description/icon.png create mode 100644 pim/static/description/index.html create mode 100644 pim/views/pim_view.xml diff --git a/pim/README.rst b/pim/README.rst new file mode 100644 index 00000000..eaca92d5 --- /dev/null +++ b/pim/README.rst @@ -0,0 +1,69 @@ +======== +PIM Base +======== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-akretion%2Fpim-lightgray.png?logo=github + :target: https://github.com/akretion/pim/tree/12.0/pim + :alt: akretion/pim + +|badge1| |badge2| |badge3| + +A basic module for Product Information Management. + +The module itself doesn't do anything. It only creates a new application menu "PIM" gathering native views about Products : + +- Products and Products Variants views +- Attributes +- Categories + +It also creates a new user group category with 3 access rights levels : + +- PIM Reader +- PIM User +- PIM Manager + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +Define your user **PIM access rights** in the Application Accesses as a Manager, User or Reader and the application menu "PIM" will appear. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Akretion + +Maintainers +~~~~~~~~~~~ + +This module is part of the `akretion/pim `_ project on GitHub. + +You are welcome to contribute. diff --git a/pim/__init__.py b/pim/__init__.py new file mode 100644 index 00000000..737b4772 --- /dev/null +++ b/pim/__init__.py @@ -0,0 +1 @@ +# from . import models diff --git a/pim/__manifest__.py b/pim/__manifest__.py new file mode 100644 index 00000000..520f7d1b --- /dev/null +++ b/pim/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright 2020 Akretion +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "PIM", + "version": "12.0.1.0.0", + "license": "AGPL-3", + "author": "Akretion", + "website": "http://www.akretion.com/", + "depends": ["product"], + "data": [ + "data/ir_module_category_data.xml", + "security/pim_security.xml", + "views/pim_view.xml", + ], + "demo": [], + "installable": True, + "application": True, +} diff --git a/pim/data/ir_module_category_data.xml b/pim/data/ir_module_category_data.xml new file mode 100644 index 00000000..21da090c --- /dev/null +++ b/pim/data/ir_module_category_data.xml @@ -0,0 +1,8 @@ + + + + PIM + Manage your products catalogue easily + 2 + + diff --git a/pim/readme/CONFIGURE.rst b/pim/readme/CONFIGURE.rst new file mode 100644 index 00000000..044a6dc4 --- /dev/null +++ b/pim/readme/CONFIGURE.rst @@ -0,0 +1 @@ +Define your user **PIM access rights** in the Application Accesses as a Manager, User or Reader and the application menu "PIM" will appear. diff --git a/pim/readme/CONTRIBUTORS.rst b/pim/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..e69de29b diff --git a/pim/readme/DESCRIPTION.rst b/pim/readme/DESCRIPTION.rst new file mode 100644 index 00000000..1fd17e08 --- /dev/null +++ b/pim/readme/DESCRIPTION.rst @@ -0,0 +1,13 @@ +A basic module for Product Information Management. + +The module itself doesn't do anything. It only creates a new application menu "PIM" gathering native views about Products : + +- Products and Products Variants views +- Attributes +- Categories + +It also creates a new user group category with 3 access rights levels : + +- PIM Reader +- PIM User +- PIM Manager diff --git a/pim/readme/ROADMAP.rst b/pim/readme/ROADMAP.rst new file mode 100644 index 00000000..e69de29b diff --git a/pim/readme/USAGE.rst b/pim/readme/USAGE.rst new file mode 100644 index 00000000..e69de29b diff --git a/pim/security/pim_security.xml b/pim/security/pim_security.xml new file mode 100644 index 00000000..892cad79 --- /dev/null +++ b/pim/security/pim_security.xml @@ -0,0 +1,28 @@ + + + + + Reader + + the user will have only the right to consult the products catalogue + + + User + + + the user will be able to modify products but will not be authorized to create attributes + + + Manager + + + the user will be able to modify products and create attributes + + diff --git a/pim/static/description/icon.png b/pim/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ffded50aff454d0a2e2d2c04a474a6826ef75ef5 GIT binary patch literal 2264 zcmbVOX*d)L7amcjk*$W1hHN3*y(qhk8Dky0v1G|Q30X$W7$n3D;$o~3Qa6Mq6ft8< zg@mlhnmy|K`+YyY=Q-!R=Q-y&zut4+=MXHA2u_d?2mkQijQs5^Q0e?|W|19ZWCmxSWdrh^ zR*2}#qXGaxFC&GtrJ1!tJ>r;6u%o7m}t+@Pm1 zi|Wn2>Wh1ti>Anqu-I6Az?fc_&~h=GwjXh8K`8&81sjwX2p0v%{BvT+NXy#pt`O#0 z!r}VRN&vtxWzuGFEz3Vb3tXJ}#}$$ieeX%XpFu`HkmShO01cu?tTb+Pr4!h$qEO`5 z^@*gZDE$UQOWMTrw45$gfVPkj`~18T zpu5oeP(eZ8s2^HIpvcd+t9ubrIxtFvSvk$TlzUsBI6WtkPE&*PSXJL?h&-@OYPYnk z9x5rW+ZhdXmHti^DA5ryhJ!4LX+~RlJqr}6SeCk-9b44CmY~dVcGj-A0%{&94dVrU zS+OlgJ)lyF1L<0q$a`CoB~iL<+uQa>M`4L@P%F{mYad{sg+k$vh_HRqx|#ZlY>BxI z(WI%}54d)ytej|SZXK7zweMTOmx9w)NT1=z#mL528qN(FDCH#Y<4Mp@GF3Kg4aOuD z`c7wu(p)yK!~w&b7cgyLHY&QTR#v~TafX*TDDnEzf5kGYsm7{H7!W*E^$DKv!=q=u zjpK23(G==s6?OuhxfC#-rc`?TuzbuhrvS+`35d?S-l?dh(N(`zYPFl>*X`>7hVJn@ z2dcf<5OYA&91wNZz@247=8^^&%~cu)aJ_4L9yI#!9pWphpaQ=Gint+>URz48uT?I&Z( z4QUD9Q*e~y2S=!DhAg<wYsO1EpyYz5d(J`nnoH`CN6qeb#v@iF$If#u+D5boF7ka{E+bn*dXp8VS?TkMw` zt%|kDUXpG3Bt%VrqW2RT)ar(}%jZ>qL3TEIA=s<;fb^6H&pa&?V!JA6xr8x4C??^6{`{!D%xmr<751I|3u_BYapInE~~vVF8qMcl(?=<|LE? ze2s6CD@q@NoIME#Ibe028heu_aIwJrQcFv&I=rlBA3P(h4qu&VADo@J`86LpxU{o$ zwAJmIG$gB-FzsV~_t^3QOg8>mrP(k(=e%dg1Uink(DN#zNbbMO+5b?w|F5NxI_DrN zY9w{muU{-E4LR!|dT*kqrwQ*u4G8=rIeMGZhKv0LD=V7(6^1Q-BaryPJ@FSlTthiz zfdoTcI&p6#OrEi~>8+mVlBhG zYoV|s79*5Dqr?Yt$!-hQ8;) z#B##IspKFY8cwpmqvQV2ftP%n(Nk%FfbJ3aSCs-q3PMZXm*=Am$(5 zr;ShY&x55FOihKt>A)C7swhhKW>eUmslEwkhh!@i>#g|l^|=AUX{;SZk=NfN3nmXq z^}vSL2V=tpRB_s-M@LE;1z35wvZSjgR&bI)Fr~QuUQsIfhUMisP^-2I+g=|JlXuL- z#PO1b=9NJy>kjzSk8HX>cEq%foM zl%q0Py=o+LY_T8fA|nmg))~>mB0#sp1QDJ`k1`1|vws4!pKBrW?V8}@OT1^b$_=DX l6a(YLc!<~kIgv;` + + + + + +PIM Base + + + +
+

PIM Base

+ + +

Beta License: AGPL-3 akretion/pim

+

A basic module for Product Information Management.

+

The module itself doesn’t do anything. It only creates a new application menu “PIM” gathering native views about Products :

+
    +
  • Products and Products Variants views
  • +
  • Attributes
  • +
  • Categories
  • +
+

It also creates a new user group category with 3 access rights levels :

+
    +
  • PIM Reader
  • +
  • PIM User
  • +
  • PIM Manager
  • +
+

Table of contents

+ +
+

Configuration

+

Define your user PIM access rights in the Application Accesses as a Manager, User or Reader and the application menu “PIM” will appear.

+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Akretion
  • +
+
+
+

Maintainers

+

This module is part of the akretion/pim project on GitHub.

+

You are welcome to contribute.

+
+
+
+ + diff --git a/pim/views/pim_view.xml b/pim/views/pim_view.xml new file mode 100644 index 00000000..81c24eff --- /dev/null +++ b/pim/views/pim_view.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + tree,kanban,form + + + From a592a392dd66d13c5da6811c060a05f74d32584f Mon Sep 17 00:00:00 2001 From: clementmbr Date: Mon, 18 May 2020 22:15:46 -0300 Subject: [PATCH 54/89] [IMP] Add REAME to the 4 modules --- pim/README.rst | 24 +++++++++++++++--------- pim/readme/CONTRIBUTORS.rst | 2 ++ pim/static/description/index.html | 26 +++++++++++++++++--------- 3 files changed, 34 insertions(+), 18 deletions(-) diff --git a/pim/README.rst b/pim/README.rst index eaca92d5..739846a7 100644 --- a/pim/README.rst +++ b/pim/README.rst @@ -1,6 +1,6 @@ -======== -PIM Base -======== +=== +PIM +=== .. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! @@ -13,9 +13,9 @@ PIM Base .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 -.. |badge3| image:: https://img.shields.io/badge/github-akretion%2Fpim-lightgray.png?logo=github - :target: https://github.com/akretion/pim/tree/12.0/pim - :alt: akretion/pim +.. |badge3| image:: https://img.shields.io/badge/github-akretion%2Fodoo--pim-lightgray.png?logo=github + :target: https://github.com/akretion/odoo-pim/tree/12.0/pim + :alt: akretion/odoo-pim |badge1| |badge2| |badge3| @@ -46,10 +46,10 @@ Define your user **PIM access rights** in the Application Accesses as a Manager, Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. +Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -61,9 +61,15 @@ Authors * Akretion +Contributors +~~~~~~~~~~~~ + +* Sébastien BEAU +* Clément Mombereau + Maintainers ~~~~~~~~~~~ -This module is part of the `akretion/pim `_ project on GitHub. +This module is part of the `akretion/odoo-pim `_ project on GitHub. You are welcome to contribute. diff --git a/pim/readme/CONTRIBUTORS.rst b/pim/readme/CONTRIBUTORS.rst index e69de29b..e26830ca 100644 --- a/pim/readme/CONTRIBUTORS.rst +++ b/pim/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* Sébastien BEAU +* Clément Mombereau diff --git a/pim/static/description/index.html b/pim/static/description/index.html index ec410ba5..6f4c7c97 100644 --- a/pim/static/description/index.html +++ b/pim/static/description/index.html @@ -4,7 +4,7 @@ -PIM Base +PIM -
-

PIM Base

+
+

PIM

-

Beta License: AGPL-3 akretion/pim

+

Beta License: AGPL-3 akretion/odoo-pim

A basic module for Product Information Management.

The module itself doesn’t do anything. It only creates a new application menu “PIM” gathering native views about Products :

@@ -399,10 +400,10 @@

Configuration

Bug Tracker

-

Bugs are tracked on GitHub Issues. +

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -feedback.

+feedback.

Do not contact contributors directly about support or help with technical issues.

@@ -413,9 +414,16 @@

Authors

  • Akretion
  • +
    +

    Contributors

    + +
    -

    Maintainers

    -

    This module is part of the akretion/pim project on GitHub.

    +

    Maintainers

    +

    This module is part of the akretion/odoo-pim project on GitHub.

    You are welcome to contribute.

    From 93cd05b8c4cc916d163430d8c8f8696a37b9d97b Mon Sep 17 00:00:00 2001 From: clementmbr Date: Wed, 27 May 2020 13:07:30 -0300 Subject: [PATCH 55/89] [IMP] base.user_admin in Attribute Set and PIM Manager group --- pim/security/pim_security.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pim/security/pim_security.xml b/pim/security/pim_security.xml index 892cad79..a23a0a0f 100644 --- a/pim/security/pim_security.xml +++ b/pim/security/pim_security.xml @@ -21,6 +21,7 @@ Manager + the user will be able to modify products and create attributes From df6f858ca58371002df16cd69aa88a913de2b126 Mon Sep 17 00:00:00 2001 From: clementmbr Date: Wed, 27 May 2020 13:14:34 -0300 Subject: [PATCH 56/89] [IMP] remove class in super() and other misc improvements --- pim/__init__.py | 1 - pim/__manifest__.py | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/pim/__init__.py b/pim/__init__.py index 737b4772..e69de29b 100644 --- a/pim/__init__.py +++ b/pim/__init__.py @@ -1 +0,0 @@ -# from . import models diff --git a/pim/__manifest__.py b/pim/__manifest__.py index 520f7d1b..08202e63 100644 --- a/pim/__manifest__.py +++ b/pim/__manifest__.py @@ -2,7 +2,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { - "name": "PIM", + "name": "Product Information Management", "version": "12.0.1.0.0", "license": "AGPL-3", "author": "Akretion", From cc798b09ea98895aab07f60225cc4e2288f59474 Mon Sep 17 00:00:00 2001 From: shopinvader-git-bot Date: Fri, 5 Jun 2020 07:36:14 +0000 Subject: [PATCH 57/89] [UPD] README.rst --- pim/README.rst | 18 +++++++++--------- pim/static/description/index.html | 14 +++++++------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/pim/README.rst b/pim/README.rst index 739846a7..eaa9c7bb 100644 --- a/pim/README.rst +++ b/pim/README.rst @@ -1,6 +1,6 @@ -=== -PIM -=== +============================== +Product Information Management +============================== .. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! @@ -13,9 +13,9 @@ PIM .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 -.. |badge3| image:: https://img.shields.io/badge/github-akretion%2Fodoo--pim-lightgray.png?logo=github - :target: https://github.com/akretion/odoo-pim/tree/12.0/pim - :alt: akretion/odoo-pim +.. |badge3| image:: https://img.shields.io/badge/github-shopinvader%2Fodoo--pim-lightgray.png?logo=github + :target: https://github.com/shopinvader/odoo-pim/tree/12.0/pim + :alt: shopinvader/odoo-pim |badge1| |badge2| |badge3| @@ -46,10 +46,10 @@ Define your user **PIM access rights** in the Application Accesses as a Manager, Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. +Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -70,6 +70,6 @@ Contributors Maintainers ~~~~~~~~~~~ -This module is part of the `akretion/odoo-pim `_ project on GitHub. +This module is part of the `shopinvader/odoo-pim `_ project on GitHub. You are welcome to contribute. diff --git a/pim/static/description/index.html b/pim/static/description/index.html index 6f4c7c97..06b66157 100644 --- a/pim/static/description/index.html +++ b/pim/static/description/index.html @@ -4,7 +4,7 @@ -PIM +Product Information Management -
    -

    PIM

    +
    +

    Product Information Management

    -

    Beta License: AGPL-3 akretion/odoo-pim

    +

    Beta License: AGPL-3 shopinvader/odoo-pim

    A basic module for Product Information Management.

    The module itself doesn’t do anything. It only creates a new application menu “PIM” gathering native views about Products :

    Bug Tracker

    -

    Bugs are tracked on GitHub Issues. +

    Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -feedback.

    +feedback.

    Do not contact contributors directly about support or help with technical issues.

    @@ -423,7 +423,7 @@

    Contributors

    Maintainers

    -

    This module is part of the akretion/odoo-pim project on GitHub.

    +

    This module is part of the shopinvader/odoo-pim project on GitHub.

    You are welcome to contribute.

    From 5ae72c584ad40454776347452a2aa19d219940cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Pigeon?= Date: Wed, 10 Jun 2020 11:46:47 +0200 Subject: [PATCH 58/89] [CHG] add dedicated product view for PIM and refactor addons structure --- pim/__manifest__.py | 6 +++++- pim/readme/CONTRIBUTORS.rst | 1 + pim/views/attribute_attribute.xml | 28 +++++++++++++++++++++++++ pim/views/attribute_group.xml | 21 +++++++++++++++++++ pim/views/attribute_set.xml | 31 +++++++++++++++++++++++++++ pim/views/pim_view.xml | 5 ----- pim/views/product_view.xml | 35 +++++++++++++++++++++++++++++++ 7 files changed, 121 insertions(+), 6 deletions(-) create mode 100644 pim/views/attribute_attribute.xml create mode 100644 pim/views/attribute_group.xml create mode 100644 pim/views/attribute_set.xml create mode 100644 pim/views/product_view.xml diff --git a/pim/__manifest__.py b/pim/__manifest__.py index 08202e63..88c3672c 100644 --- a/pim/__manifest__.py +++ b/pim/__manifest__.py @@ -7,11 +7,15 @@ "license": "AGPL-3", "author": "Akretion", "website": "http://www.akretion.com/", - "depends": ["product"], + "depends": ["product", "product_attribute_set"], "data": [ "data/ir_module_category_data.xml", "security/pim_security.xml", "views/pim_view.xml", + "views/product_view.xml", + "views/attribute_set.xml", + "views/attribute_group.xml", + "views/attribute_attribute.xml", ], "demo": [], "installable": True, diff --git a/pim/readme/CONTRIBUTORS.rst b/pim/readme/CONTRIBUTORS.rst index e26830ca..7edcf03e 100644 --- a/pim/readme/CONTRIBUTORS.rst +++ b/pim/readme/CONTRIBUTORS.rst @@ -1,2 +1,3 @@ * Sébastien BEAU * Clément Mombereau +* Cédric PIGEON diff --git a/pim/views/attribute_attribute.xml b/pim/views/attribute_attribute.xml new file mode 100644 index 00000000..7d6128d3 --- /dev/null +++ b/pim/views/attribute_attribute.xml @@ -0,0 +1,28 @@ + + + + Product Attribute + attribute.attribute + form + tree,form + + + + + + + diff --git a/pim/views/attribute_group.xml b/pim/views/attribute_group.xml new file mode 100644 index 00000000..9e68b464 --- /dev/null +++ b/pim/views/attribute_group.xml @@ -0,0 +1,21 @@ + + + + Attribute Groups + attribute.group + form + tree,form + + + + + + diff --git a/pim/views/attribute_set.xml b/pim/views/attribute_set.xml new file mode 100644 index 00000000..6d7114e2 --- /dev/null +++ b/pim/views/attribute_set.xml @@ -0,0 +1,31 @@ + + + + + Product Attribute Sets + attribute.set + form + tree,form + + + + + + + diff --git a/pim/views/pim_view.xml b/pim/views/pim_view.xml index 81c24eff..7f6d643f 100644 --- a/pim/views/pim_view.xml +++ b/pim/views/pim_view.xml @@ -59,9 +59,4 @@ parent="main_menu_variant_attribute" sequence="1" /> - - - tree,kanban,form - - diff --git a/pim/views/product_view.xml b/pim/views/product_view.xml new file mode 100644 index 00000000..1414665e --- /dev/null +++ b/pim/views/product_view.xml @@ -0,0 +1,35 @@ + + + + + pim.product.template.product.tree + product.template + + + + + + + + + + + + + + + tree,kanban,form + + + From 2c4bb525bd9a10aa668ef8fd8aca1f6fc5784c5b Mon Sep 17 00:00:00 2001 From: shopinvader-git-bot Date: Thu, 11 Jun 2020 12:55:50 +0000 Subject: [PATCH 59/89] [UPD] README.rst --- pim/README.rst | 1 + pim/static/description/index.html | 1 + 2 files changed, 2 insertions(+) diff --git a/pim/README.rst b/pim/README.rst index eaa9c7bb..5e06d59f 100644 --- a/pim/README.rst +++ b/pim/README.rst @@ -66,6 +66,7 @@ Contributors * Sébastien BEAU * Clément Mombereau +* Cédric PIGEON Maintainers ~~~~~~~~~~~ diff --git a/pim/static/description/index.html b/pim/static/description/index.html index 06b66157..61a13d6c 100644 --- a/pim/static/description/index.html +++ b/pim/static/description/index.html @@ -419,6 +419,7 @@

    Contributors

    From 2354b5977c412b81c6eac24e768a8bf5f049cfe2 Mon Sep 17 00:00:00 2001 From: shopinvader-git-bot Date: Thu, 11 Jun 2020 12:55:50 +0000 Subject: [PATCH 60/89] pim 12.0.1.1.0 --- pim/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pim/__manifest__.py b/pim/__manifest__.py index 88c3672c..59dcb8d2 100644 --- a/pim/__manifest__.py +++ b/pim/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Product Information Management", - "version": "12.0.1.0.0", + "version": "12.0.1.1.0", "license": "AGPL-3", "author": "Akretion", "website": "http://www.akretion.com/", From 991a9852b06b1dca0d5676060fd7848820a3805d Mon Sep 17 00:00:00 2001 From: shopinvader-git-bot Date: Fri, 12 Jun 2020 07:50:42 +0000 Subject: [PATCH 61/89] [UPD] README.rst --- pim/README.rst | 6 +++--- pim/static/description/index.html | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pim/README.rst b/pim/README.rst index 5e06d59f..58fe0cf0 100644 --- a/pim/README.rst +++ b/pim/README.rst @@ -14,7 +14,7 @@ Product Information Management :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-shopinvader%2Fodoo--pim-lightgray.png?logo=github - :target: https://github.com/shopinvader/odoo-pim/tree/12.0/pim + :target: https://github.com/shopinvader/odoo-pim/tree/13.0/pim :alt: shopinvader/odoo-pim |badge1| |badge2| |badge3| @@ -49,7 +49,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -71,6 +71,6 @@ Contributors Maintainers ~~~~~~~~~~~ -This module is part of the `shopinvader/odoo-pim `_ project on GitHub. +This module is part of the `shopinvader/odoo-pim `_ project on GitHub. You are welcome to contribute. diff --git a/pim/static/description/index.html b/pim/static/description/index.html index 61a13d6c..2cb2e034 100644 --- a/pim/static/description/index.html +++ b/pim/static/description/index.html @@ -367,7 +367,7 @@

    Product Information Management

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

    Beta License: AGPL-3 shopinvader/odoo-pim

    +

    Beta License: AGPL-3 shopinvader/odoo-pim

    A basic module for Product Information Management.

    The module itself doesn’t do anything. It only creates a new application menu “PIM” gathering native views about Products :

      @@ -403,7 +403,7 @@

      Bug Tracker

      Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -feedback.

      +feedback.

      Do not contact contributors directly about support or help with technical issues.

    @@ -424,7 +424,7 @@

    Contributors

    Maintainers

    -

    This module is part of the shopinvader/odoo-pim project on GitHub.

    +

    This module is part of the shopinvader/odoo-pim project on GitHub.

    You are welcome to contribute.

    From 5d7f9166e318ec5593074bf15e95875ec8d39c94 Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Fri, 12 Jun 2020 09:52:35 +0200 Subject: [PATCH 62/89] [13.0] Set modules to installable False --- pim/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pim/__manifest__.py b/pim/__manifest__.py index 59dcb8d2..a9b1d60f 100644 --- a/pim/__manifest__.py +++ b/pim/__manifest__.py @@ -18,6 +18,6 @@ "views/attribute_attribute.xml", ], "demo": [], - "installable": True, + "installable": False, "application": True, } From 275287b16ea7fd7575c5cab9a561c80268e4e525 Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Fri, 12 Jun 2020 11:23:58 +0200 Subject: [PATCH 63/89] [13.0] Set modules version to 13 --- pim/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pim/__manifest__.py b/pim/__manifest__.py index a9b1d60f..ab245603 100644 --- a/pim/__manifest__.py +++ b/pim/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Product Information Management", - "version": "12.0.1.1.0", + "version": "13.0.1.1.0", "license": "AGPL-3", "author": "Akretion", "website": "http://www.akretion.com/", From c0da6ea1afa07945d5cc38d587a4ba27f713bd04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Pigeon?= Date: Thu, 18 Jun 2020 16:56:04 +0200 Subject: [PATCH 64/89] [10.0][FIX] do not replace odoo product defaut tree view by the pim view --- pim/__manifest__.py | 2 +- pim/views/pim_view.xml | 2 +- pim/views/product_view.xml | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pim/__manifest__.py b/pim/__manifest__.py index ab245603..25fe0d6f 100644 --- a/pim/__manifest__.py +++ b/pim/__manifest__.py @@ -11,8 +11,8 @@ "data": [ "data/ir_module_category_data.xml", "security/pim_security.xml", - "views/pim_view.xml", "views/product_view.xml", + "views/pim_view.xml", "views/attribute_set.xml", "views/attribute_group.xml", "views/attribute_attribute.xml", diff --git a/pim/views/pim_view.xml b/pim/views/pim_view.xml index 7f6d643f..17e95ab7 100644 --- a/pim/views/pim_view.xml +++ b/pim/views/pim_view.xml @@ -33,7 +33,7 @@ diff --git a/pim/views/product_view.xml b/pim/views/product_view.xml index 1414665e..d38dfae8 100644 --- a/pim/views/product_view.xml +++ b/pim/views/product_view.xml @@ -5,6 +5,7 @@ pim.product.template.product.tree product.template + 90 - + + Products + product.template tree,kanban,form From 257d5e251a8ad2938c26f7d2ccd39dc7f470bf44 Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Mon, 15 Jun 2020 09:42:20 +0200 Subject: [PATCH 65/89] [13.0][MIG] pim --- pim/__manifest__.py | 6 +++--- pim/readme/CONTRIBUTORS.rst | 1 + pim/views/attribute_attribute.xml | 1 - pim/views/attribute_group.xml | 1 - pim/views/attribute_set.xml | 1 - pim/views/pim_view.xml | 2 +- pim/views/product_view.xml | 4 ++-- 7 files changed, 7 insertions(+), 9 deletions(-) diff --git a/pim/__manifest__.py b/pim/__manifest__.py index 25fe0d6f..4e4d90d5 100644 --- a/pim/__manifest__.py +++ b/pim/__manifest__.py @@ -3,10 +3,10 @@ { "name": "Product Information Management", - "version": "13.0.1.1.0", + "version": "13.0.1.0.0", "license": "AGPL-3", "author": "Akretion", - "website": "http://www.akretion.com/", + "website": "http://www.shopinvader.com", "depends": ["product", "product_attribute_set"], "data": [ "data/ir_module_category_data.xml", @@ -18,6 +18,6 @@ "views/attribute_attribute.xml", ], "demo": [], - "installable": False, + "installable": True, "application": True, } diff --git a/pim/readme/CONTRIBUTORS.rst b/pim/readme/CONTRIBUTORS.rst index 7edcf03e..0838b02d 100644 --- a/pim/readme/CONTRIBUTORS.rst +++ b/pim/readme/CONTRIBUTORS.rst @@ -1,3 +1,4 @@ * Sébastien BEAU * Clément Mombereau * Cédric PIGEON +* Denis Roussel diff --git a/pim/views/attribute_attribute.xml b/pim/views/attribute_attribute.xml index 7d6128d3..9c22244b 100644 --- a/pim/views/attribute_attribute.xml +++ b/pim/views/attribute_attribute.xml @@ -3,7 +3,6 @@ Product Attribute attribute.attribute - form tree,form Attribute Groups attribute.group - form tree,form Product Attribute Sets attribute.set - form tree,form diff --git a/pim/views/product_view.xml b/pim/views/product_view.xml index d38dfae8..16d4dce1 100644 --- a/pim/views/product_view.xml +++ b/pim/views/product_view.xml @@ -9,10 +9,10 @@ From bb55e5b540fe5c6f612f134dfc3239ace0121877 Mon Sep 17 00:00:00 2001 From: shopinvader-git-bot Date: Fri, 25 Sep 2020 13:43:36 +0000 Subject: [PATCH 66/89] [UPD] README.rst --- pim/README.rst | 1 + pim/static/description/index.html | 1 + 2 files changed, 2 insertions(+) diff --git a/pim/README.rst b/pim/README.rst index 58fe0cf0..473778e2 100644 --- a/pim/README.rst +++ b/pim/README.rst @@ -67,6 +67,7 @@ Contributors * Sébastien BEAU * Clément Mombereau * Cédric PIGEON +* Denis Roussel Maintainers ~~~~~~~~~~~ diff --git a/pim/static/description/index.html b/pim/static/description/index.html index 2cb2e034..feb4ba32 100644 --- a/pim/static/description/index.html +++ b/pim/static/description/index.html @@ -420,6 +420,7 @@

    Contributors

  • Sébastien BEAU <sebastien.beau@akretion.com>
  • Clément Mombereau <clement.mombereau@akretion.com.br>
  • Cédric PIGEON <cedric.pigeon@acsone.eu>
  • +
  • Denis Roussel <denis.roussel@acsone.eu>
  • From ea070e9d072b265b622ee25eb7f2fa0abf44e981 Mon Sep 17 00:00:00 2001 From: Pierrick Brun Date: Thu, 18 Feb 2021 10:49:46 +0100 Subject: [PATCH 67/89] [MIG] make all modules uninstallable --- pim/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pim/__manifest__.py b/pim/__manifest__.py index 4e4d90d5..5b996baf 100644 --- a/pim/__manifest__.py +++ b/pim/__manifest__.py @@ -18,6 +18,6 @@ "views/attribute_attribute.xml", ], "demo": [], - "installable": True, + "installable": False, "application": True, } From e185a721aeb9c0dbc5ac8160ef9b4a070ff1df72 Mon Sep 17 00:00:00 2001 From: Pierrick Brun Date: Thu, 18 Feb 2021 10:50:37 +0100 Subject: [PATCH 68/89] [MIG] update pre-commit conf from copier --- pim/__manifest__.py | 2 +- pim/security/pim_security.xml | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/pim/__manifest__.py b/pim/__manifest__.py index 5b996baf..9c84d22a 100644 --- a/pim/__manifest__.py +++ b/pim/__manifest__.py @@ -6,7 +6,7 @@ "version": "13.0.1.0.0", "license": "AGPL-3", "author": "Akretion", - "website": "http://www.shopinvader.com", + "website": "https://github.com/shopinvader/odoo-pim", "depends": ["product", "product_attribute_set"], "data": [ "data/ir_module_category_data.xml", diff --git a/pim/security/pim_security.xml b/pim/security/pim_security.xml index a23a0a0f..c037ba18 100644 --- a/pim/security/pim_security.xml +++ b/pim/security/pim_security.xml @@ -5,25 +5,26 @@ Reader - the user will have only the right to consult the products catalogue + + the user will have only the right to consult the products catalogue + User - the user will be able to modify products but will not be authorized to create attributes + + the user will be able to modify products but will not be authorized to + create attributes + Manager - the user will be able to modify products and create attributes + + the user will be able to modify products and create attributes + From 4f55b21d6411cca563ef442b4cb421a925742c03 Mon Sep 17 00:00:00 2001 From: Pierrick Brun Date: Wed, 6 Jan 2021 11:33:28 +0100 Subject: [PATCH 69/89] [IMP] pim: black, isort, prettier --- pim/__manifest__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pim/__manifest__.py b/pim/__manifest__.py index 9c84d22a..b51a77de 100644 --- a/pim/__manifest__.py +++ b/pim/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Product Information Management", - "version": "13.0.1.0.0", + "version": "14.0.1.0.0", "license": "AGPL-3", "author": "Akretion", "website": "https://github.com/shopinvader/odoo-pim", @@ -18,6 +18,6 @@ "views/attribute_attribute.xml", ], "demo": [], - "installable": False, + "installable": True, "application": True, } From f2ab04379b9af552779d95b354c630b3a51e922c Mon Sep 17 00:00:00 2001 From: Pierrick Brun Date: Mon, 11 Jan 2021 13:01:53 +0100 Subject: [PATCH 70/89] [MIG] 14.0 pim --- pim/__manifest__.py | 1 + pim/views/pim_view.xml | 7 ++++++- pim/views/product_attribute_value.xml | 12 ++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 pim/views/product_attribute_value.xml diff --git a/pim/__manifest__.py b/pim/__manifest__.py index b51a77de..500a8400 100644 --- a/pim/__manifest__.py +++ b/pim/__manifest__.py @@ -16,6 +16,7 @@ "views/attribute_set.xml", "views/attribute_group.xml", "views/attribute_attribute.xml", + "views/product_attribute_value.xml", ], "demo": [], "installable": True, diff --git a/pim/views/pim_view.xml b/pim/views/pim_view.xml index 5f74d845..5b076dae 100644 --- a/pim/views/pim_view.xml +++ b/pim/views/pim_view.xml @@ -2,6 +2,11 @@ + + Product Attribute Values + product.attribute.value + tree,form + diff --git a/pim/views/product_attribute_value.xml b/pim/views/product_attribute_value.xml new file mode 100644 index 00000000..27be96e9 --- /dev/null +++ b/pim/views/product_attribute_value.xml @@ -0,0 +1,12 @@ + + + + product.attribute.value + + + + + + + + From b6925d3b439fd217d3ccde23b6bfb790dd8442a9 Mon Sep 17 00:00:00 2001 From: shopinvader-git-bot Date: Thu, 4 Mar 2021 17:09:25 +0000 Subject: [PATCH 71/89] [UPD] README.rst --- pim/README.rst | 6 +++--- pim/static/description/index.html | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pim/README.rst b/pim/README.rst index 473778e2..68b397c3 100644 --- a/pim/README.rst +++ b/pim/README.rst @@ -14,7 +14,7 @@ Product Information Management :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-shopinvader%2Fodoo--pim-lightgray.png?logo=github - :target: https://github.com/shopinvader/odoo-pim/tree/13.0/pim + :target: https://github.com/shopinvader/odoo-pim/tree/14.0/pim :alt: shopinvader/odoo-pim |badge1| |badge2| |badge3| @@ -49,7 +49,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -72,6 +72,6 @@ Contributors Maintainers ~~~~~~~~~~~ -This module is part of the `shopinvader/odoo-pim `_ project on GitHub. +This module is part of the `shopinvader/odoo-pim `_ project on GitHub. You are welcome to contribute. diff --git a/pim/static/description/index.html b/pim/static/description/index.html index feb4ba32..56a3d72f 100644 --- a/pim/static/description/index.html +++ b/pim/static/description/index.html @@ -367,7 +367,7 @@

    Product Information Management

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

    Beta License: AGPL-3 shopinvader/odoo-pim

    +

    Beta License: AGPL-3 shopinvader/odoo-pim

    A basic module for Product Information Management.

    The module itself doesn’t do anything. It only creates a new application menu “PIM” gathering native views about Products :

      @@ -403,7 +403,7 @@

      Bug Tracker

      Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -feedback.

      +feedback.

      Do not contact contributors directly about support or help with technical issues.

    @@ -425,7 +425,7 @@

    Contributors

    Maintainers

    -

    This module is part of the shopinvader/odoo-pim project on GitHub.

    +

    This module is part of the shopinvader/odoo-pim project on GitHub.

    You are welcome to contribute.

    From 27e102724b83be5732718ee105cf8adbc58bd341 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 17 Mar 2021 04:37:28 +0000 Subject: [PATCH 72/89] [UPD] README.rst --- pim/README.rst | 29 +++++++++++++++++++++-------- pim/static/description/index.html | 15 ++++++++++----- 2 files changed, 31 insertions(+), 13 deletions(-) diff --git a/pim/README.rst b/pim/README.rst index 68b397c3..f00b769c 100644 --- a/pim/README.rst +++ b/pim/README.rst @@ -13,11 +13,14 @@ Product Information Management .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 -.. |badge3| image:: https://img.shields.io/badge/github-shopinvader%2Fodoo--pim-lightgray.png?logo=github - :target: https://github.com/shopinvader/odoo-pim/tree/14.0/pim - :alt: shopinvader/odoo-pim +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fodoo--pim-lightgray.png?logo=github + :target: https://github.com/OCA/odoo-pim/tree/14.0/pim + :alt: OCA/odoo-pim +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/odoo-pim-14-0/odoo-pim-14-0-pim + :alt: Translate me on Weblate -|badge1| |badge2| |badge3| +|badge1| |badge2| |badge3| |badge4| A basic module for Product Information Management. @@ -46,10 +49,10 @@ Define your user **PIM access rights** in the Application Accesses as a Manager, Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. +Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -72,6 +75,16 @@ Contributors Maintainers ~~~~~~~~~~~ -This module is part of the `shopinvader/odoo-pim `_ project on GitHub. +This module is maintained by the OCA. -You are welcome to contribute. +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/odoo-pim `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/pim/static/description/index.html b/pim/static/description/index.html index 56a3d72f..c72a261d 100644 --- a/pim/static/description/index.html +++ b/pim/static/description/index.html @@ -367,7 +367,7 @@

    Product Information Management

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

    Beta License: AGPL-3 shopinvader/odoo-pim

    +

    Beta License: AGPL-3 OCA/odoo-pim Translate me on Weblate

    A basic module for Product Information Management.

    The module itself doesn’t do anything. It only creates a new application menu “PIM” gathering native views about Products :

      @@ -400,10 +400,10 @@

      Configuration

      Bug Tracker

      -

      Bugs are tracked on GitHub Issues. +

      Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -feedback.

      +feedback.

      Do not contact contributors directly about support or help with technical issues.

      @@ -425,8 +425,13 @@

      Contributors

      Maintainers

      -

      This module is part of the shopinvader/odoo-pim project on GitHub.

      -

      You are welcome to contribute.

      +

      This module is maintained by the OCA.

      +Odoo Community Association +

      OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

      +

      This module is part of the OCA/odoo-pim project on GitHub.

      +

      You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

      From c46f4bde7c4059703de6b88b536e1a0b71f2d579 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul?= Date: Sat, 15 May 2021 11:23:34 +0200 Subject: [PATCH 73/89] Apply dotfiles --- pim/__manifest__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pim/__manifest__.py b/pim/__manifest__.py index 500a8400..e1ec5e98 100644 --- a/pim/__manifest__.py +++ b/pim/__manifest__.py @@ -5,8 +5,8 @@ "name": "Product Information Management", "version": "14.0.1.0.0", "license": "AGPL-3", - "author": "Akretion", - "website": "https://github.com/shopinvader/odoo-pim", + "author": "Akretion,Odoo Community Association (OCA)", + "website": "https://github.com/OCA/odoo-pim", "depends": ["product", "product_attribute_set"], "data": [ "data/ir_module_category_data.xml", From 5e03f25f583accd5b3921dafba4583fbadb10572 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Sat, 15 May 2021 10:31:24 +0000 Subject: [PATCH 74/89] [UPD] Update pim.pot --- pim/i18n/pim.pot | 127 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 pim/i18n/pim.pot diff --git a/pim/i18n/pim.pot b/pim/i18n/pim.pot new file mode 100644 index 00000000..209f900a --- /dev/null +++ b/pim/i18n/pim.pot @@ -0,0 +1,127 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pim +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: pim +#: model:res.groups,comment:pim.group_pim_manager +msgid "" +"\n" +" the user will be able to modify products and create attributes\n" +" " +msgstr "" + +#. module: pim +#: model:res.groups,comment:pim.group_pim_user +msgid "" +"\n" +" the user will be able to modify products but will not be authorized to\n" +" create attributes\n" +" " +msgstr "" + +#. module: pim +#: model:res.groups,comment:pim.group_pim_reader +msgid "" +"\n" +" the user will have only the right to consult the products catalogue\n" +" " +msgstr "" + +#. module: pim +#: model:ir.actions.act_window,name:pim.attribute_group_form_action +#: model:ir.ui.menu,name:pim.menu_attribute_group_action +msgid "Attribute Groups" +msgstr "" + +#. module: pim +#: model:ir.ui.menu,name:pim.main_menu_attribute +msgid "Attributes" +msgstr "" + +#. module: pim +#: model:ir.ui.menu,name:pim.menu_variant_attribute_value +msgid "Attributes Values" +msgstr "" + +#. module: pim +#: model:ir.ui.menu,name:pim.main_menu_category +msgid "Categories" +msgstr "" + +#. module: pim +#: model:ir.module.category,description:pim.module_category_pim +msgid "Manage your products catalogue easily" +msgstr "" + +#. module: pim +#: model:res.groups,name:pim.group_pim_manager +msgid "Manager" +msgstr "" + +#. module: pim +#: model:ir.module.category,name:pim.module_category_pim +#: model:ir.ui.menu,name:pim.root_menu_pim +msgid "PIM" +msgstr "" + +#. module: pim +#: model_terms:ir.ui.view,arch_db:pim.pim_product_template_tree_view +msgid "Product" +msgstr "" + +#. module: pim +#: model:ir.actions.act_window,name:pim.attribute_attribute_form_action +#: model:ir.ui.menu,name:pim.menu_attribute_attribute_action +msgid "Product Attribute" +msgstr "" + +#. module: pim +#: model:ir.actions.act_window,name:pim.attribute_set_form_action +#: model:ir.ui.menu,name:pim.menu_attribute_set_action +msgid "Product Attribute Sets" +msgstr "" + +#. module: pim +#: model:ir.actions.act_window,name:pim.product_attribute_value_action +#: model_terms:ir.ui.view,arch_db:pim.product_attribute_value_view_form +msgid "Product Attribute Values" +msgstr "" + +#. module: pim +#: model:ir.ui.menu,name:pim.menu_product_product +msgid "Product Variants" +msgstr "" + +#. module: pim +#: model:ir.actions.act_window,name:pim.product_template_action +#: model:ir.ui.menu,name:pim.main_menu_product +#: model:ir.ui.menu,name:pim.menu_product_template +msgid "Products" +msgstr "" + +#. module: pim +#: model:res.groups,name:pim.group_pim_reader +msgid "Reader" +msgstr "" + +#. module: pim +#: model:res.groups,name:pim.group_pim_user +msgid "User" +msgstr "" + +#. module: pim +#: model:ir.ui.menu,name:pim.main_menu_variant_attribute +#: model:ir.ui.menu,name:pim.menu_variant_attribute +msgid "Variants Attributes" +msgstr "" From 8dfa9fa48cae63f31e60483c2d6594ecbc37803a Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Sat, 15 May 2021 10:33:42 +0000 Subject: [PATCH 75/89] pim 14.0.1.0.1 --- pim/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pim/__manifest__.py b/pim/__manifest__.py index e1ec5e98..fc866838 100644 --- a/pim/__manifest__.py +++ b/pim/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Product Information Management", - "version": "14.0.1.0.0", + "version": "14.0.1.0.1", "license": "AGPL-3", "author": "Akretion,Odoo Community Association (OCA)", "website": "https://github.com/OCA/odoo-pim", From 00b5221bd908c5eb2417f2ca69bd39e48434e813 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Sat, 15 May 2021 11:32:33 +0000 Subject: [PATCH 76/89] [UPD] README.rst --- pim/README.rst | 5 ++++- pim/static/description/index.html | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pim/README.rst b/pim/README.rst index f00b769c..9d3c438a 100644 --- a/pim/README.rst +++ b/pim/README.rst @@ -19,8 +19,11 @@ Product Information Management .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png :target: https://translation.odoo-community.org/projects/odoo-pim-14-0/odoo-pim-14-0-pim :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/295/14.0 + :alt: Try me on Runbot -|badge1| |badge2| |badge3| |badge4| +|badge1| |badge2| |badge3| |badge4| |badge5| A basic module for Product Information Management. diff --git a/pim/static/description/index.html b/pim/static/description/index.html index c72a261d..ad71c1de 100644 --- a/pim/static/description/index.html +++ b/pim/static/description/index.html @@ -367,7 +367,7 @@

      Product Information Management

      !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

      Beta License: AGPL-3 OCA/odoo-pim Translate me on Weblate

      +

      Beta License: AGPL-3 OCA/odoo-pim Translate me on Weblate Try me on Runbot

      A basic module for Product Information Management.

      The module itself doesn’t do anything. It only creates a new application menu “PIM” gathering native views about Products :

        From a03f97e86bb3658fe7a803a71e410c45cfb68c40 Mon Sep 17 00:00:00 2001 From: xavier-bouquiaux Date: Fri, 16 Apr 2021 09:03:30 +0200 Subject: [PATCH 77/89] [14.0][MIG] product_attribute_set_completeness --- pim/__manifest__.py | 6 +++++- pim/views/product_view.xml | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/pim/__manifest__.py b/pim/__manifest__.py index fc866838..9052fec9 100644 --- a/pim/__manifest__.py +++ b/pim/__manifest__.py @@ -7,7 +7,11 @@ "license": "AGPL-3", "author": "Akretion,Odoo Community Association (OCA)", "website": "https://github.com/OCA/odoo-pim", - "depends": ["product", "product_attribute_set"], + "depends": [ + "product", + "product_attribute_set", + "product_attribute_set_completeness", + ], "data": [ "data/ir_module_category_data.xml", "security/pim_security.xml", diff --git a/pim/views/product_view.xml b/pim/views/product_view.xml index 16d4dce1..805c5be2 100644 --- a/pim/views/product_view.xml +++ b/pim/views/product_view.xml @@ -25,9 +25,26 @@ groups="uom.group_uom" /> + + + Products From ee4901f52376d4769fb97158ae54e0830a632b68 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 6 Oct 2021 13:05:31 +0000 Subject: [PATCH 78/89] pim 14.0.1.0.2 --- pim/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pim/__manifest__.py b/pim/__manifest__.py index 9052fec9..123082f5 100644 --- a/pim/__manifest__.py +++ b/pim/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Product Information Management", - "version": "14.0.1.0.1", + "version": "14.0.1.0.2", "license": "AGPL-3", "author": "Akretion,Odoo Community Association (OCA)", "website": "https://github.com/OCA/odoo-pim", From 6425fd44553dc3fd5a08143bc677643391576203 Mon Sep 17 00:00:00 2001 From: xavier-bouquiaux Date: Fri, 10 Dec 2021 13:32:38 +0100 Subject: [PATCH 79/89] [14.0][FIX] pim attribute_set need 'include_native_attribute' param in context in order to work properly --- pim/views/product_view.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pim/views/product_view.xml b/pim/views/product_view.xml index 805c5be2..907dcc2a 100644 --- a/pim/views/product_view.xml +++ b/pim/views/product_view.xml @@ -51,5 +51,8 @@ product.template tree,kanban,form + {"include_native_attribute": 1, "search_default_filter_to_sell": 1} From 4f1cde98653501f59541c248b6854af0c4fc4f5c Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 26 Jan 2023 09:49:29 +0000 Subject: [PATCH 80/89] pim 14.0.1.0.3 --- pim/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pim/__manifest__.py b/pim/__manifest__.py index 123082f5..c00c0ed1 100644 --- a/pim/__manifest__.py +++ b/pim/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Product Information Management", - "version": "14.0.1.0.2", + "version": "14.0.1.0.3", "license": "AGPL-3", "author": "Akretion,Odoo Community Association (OCA)", "website": "https://github.com/OCA/odoo-pim", From dad3feca21b4b2ed29b9f9846308b393a8628658 Mon Sep 17 00:00:00 2001 From: Cedric Pigeon Date: Thu, 26 Jan 2023 14:55:27 +0100 Subject: [PATCH 81/89] [14.0] pim: add sequence on product tree view --- pim/views/product_view.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pim/views/product_view.xml b/pim/views/product_view.xml index 907dcc2a..1209c677 100644 --- a/pim/views/product_view.xml +++ b/pim/views/product_view.xml @@ -8,6 +8,7 @@ 90 + Date: Thu, 26 Jan 2023 15:46:05 +0000 Subject: [PATCH 82/89] pim 14.0.1.1.0 --- pim/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pim/__manifest__.py b/pim/__manifest__.py index c00c0ed1..c7ed6471 100644 --- a/pim/__manifest__.py +++ b/pim/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Product Information Management", - "version": "14.0.1.0.3", + "version": "14.0.1.1.0", "license": "AGPL-3", "author": "Akretion,Odoo Community Association (OCA)", "website": "https://github.com/OCA/odoo-pim", From c4abab25654bc10dcca70ad7b8ee18c1d69d8723 Mon Sep 17 00:00:00 2001 From: dsolanki Date: Thu, 20 Jul 2023 17:07:48 +0530 Subject: [PATCH 83/89] [IMP] pim: pre-commit stuff --- setup/pim/odoo/addons/pim | 1 + setup/pim/setup.py | 6 ++++++ 2 files changed, 7 insertions(+) create mode 120000 setup/pim/odoo/addons/pim create mode 100644 setup/pim/setup.py diff --git a/setup/pim/odoo/addons/pim b/setup/pim/odoo/addons/pim new file mode 120000 index 00000000..e4b55084 --- /dev/null +++ b/setup/pim/odoo/addons/pim @@ -0,0 +1 @@ +../../../../pim \ No newline at end of file diff --git a/setup/pim/setup.py b/setup/pim/setup.py new file mode 100644 index 00000000..28c57bb6 --- /dev/null +++ b/setup/pim/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From 832748b11563f079866f43fbbcd99f71e55b2db4 Mon Sep 17 00:00:00 2001 From: dsolanki Date: Thu, 20 Jul 2023 17:24:00 +0530 Subject: [PATCH 84/89] [MIG] pim: Migration to 16.0 --- pim/README.rst | 1 + pim/__manifest__.py | 2 +- pim/readme/CONTRIBUTORS.rst | 1 + pim/views/product_attribute_value.xml | 2 +- pim/views/product_view.xml | 2 +- 5 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pim/README.rst b/pim/README.rst index 9d3c438a..29a80fba 100644 --- a/pim/README.rst +++ b/pim/README.rst @@ -74,6 +74,7 @@ Contributors * Clément Mombereau * Cédric PIGEON * Denis Roussel +* Dhara Solanki Maintainers ~~~~~~~~~~~ diff --git a/pim/__manifest__.py b/pim/__manifest__.py index c7ed6471..193cf1c7 100644 --- a/pim/__manifest__.py +++ b/pim/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Product Information Management", - "version": "14.0.1.1.0", + "version": "16.0.1.0.0", "license": "AGPL-3", "author": "Akretion,Odoo Community Association (OCA)", "website": "https://github.com/OCA/odoo-pim", diff --git a/pim/readme/CONTRIBUTORS.rst b/pim/readme/CONTRIBUTORS.rst index 0838b02d..4f9e1828 100644 --- a/pim/readme/CONTRIBUTORS.rst +++ b/pim/readme/CONTRIBUTORS.rst @@ -2,3 +2,4 @@ * Clément Mombereau * Cédric PIGEON * Denis Roussel +* Dhara Solanki diff --git a/pim/views/product_attribute_value.xml b/pim/views/product_attribute_value.xml index 27be96e9..6c97952b 100644 --- a/pim/views/product_attribute_value.xml +++ b/pim/views/product_attribute_value.xml @@ -3,7 +3,7 @@ product.attribute.value - + diff --git a/pim/views/product_view.xml b/pim/views/product_view.xml index 1209c677..6ec2c309 100644 --- a/pim/views/product_view.xml +++ b/pim/views/product_view.xml @@ -7,7 +7,7 @@ product.template 90 - + Date: Sun, 16 Jun 2024 09:57:03 +0200 Subject: [PATCH 85/89] [ADD] pim_product_attribute_set_completeness remove product_attribute_set_completeness dependency on pim --- pim/__manifest__.py | 1 - pim/views/product_view.xml | 16 - .../README.rst | 85 ++++ .../__init__.py | 0 .../__manifest__.py | 13 + .../product_attribute_set_completeness.pot | 14 + .../readme/CONTRIBUTORS.rst | 11 + .../readme/DESCRIPTION.rst | 1 + .../readme/USAGE.rst | 2 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 435 ++++++++++++++++++ .../views/product_view.xml | 28 ++ 12 files changed, 589 insertions(+), 17 deletions(-) create mode 100644 pim_product_attribute_set_completeness/README.rst create mode 100644 pim_product_attribute_set_completeness/__init__.py create mode 100644 pim_product_attribute_set_completeness/__manifest__.py create mode 100644 pim_product_attribute_set_completeness/i18n/product_attribute_set_completeness.pot create mode 100644 pim_product_attribute_set_completeness/readme/CONTRIBUTORS.rst create mode 100644 pim_product_attribute_set_completeness/readme/DESCRIPTION.rst create mode 100644 pim_product_attribute_set_completeness/readme/USAGE.rst create mode 100644 pim_product_attribute_set_completeness/static/description/icon.png create mode 100644 pim_product_attribute_set_completeness/static/description/index.html create mode 100644 pim_product_attribute_set_completeness/views/product_view.xml diff --git a/pim/__manifest__.py b/pim/__manifest__.py index 193cf1c7..e08bb42b 100644 --- a/pim/__manifest__.py +++ b/pim/__manifest__.py @@ -10,7 +10,6 @@ "depends": [ "product", "product_attribute_set", - "product_attribute_set_completeness", ], "data": [ "data/ir_module_category_data.xml", diff --git a/pim/views/product_view.xml b/pim/views/product_view.xml index 6ec2c309..b5d9c9c4 100644 --- a/pim/views/product_view.xml +++ b/pim/views/product_view.xml @@ -26,22 +26,6 @@ groups="uom.group_uom" /> - - diff --git a/pim_product_attribute_set_completeness/README.rst b/pim_product_attribute_set_completeness/README.rst new file mode 100644 index 00000000..deb3cdcf --- /dev/null +++ b/pim_product_attribute_set_completeness/README.rst @@ -0,0 +1,85 @@ +================================== +PIM Product Attribute Set Completeness +================================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fodoo--pim-lightgray.png?logo=github + :target: https://github.com/OCA/odoo-pim/tree/14.0/product_attribute_set_completeness + :alt: OCA/odoo-pim +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/odoo-pim-14-0/odoo-pim-14-0-product_attribute_set_completeness + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/295/14.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module adds the completion rate and the completion state on the PIM products. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +Completion rate and completion state are visible on the product form. +These 2 properties are also searchable through the search view ("Complete" and "Not Complete" filters). + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* ACSONE SA/NV + +Contributors +~~~~~~~~~~~~ + +* Cédric PIGEON +* Xavier Bouquiaux +* `Camptocamp `_ + + * Iván Todorovich + +* Dhara Solanki + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/odoo-pim `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/pim_product_attribute_set_completeness/__init__.py b/pim_product_attribute_set_completeness/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pim_product_attribute_set_completeness/__manifest__.py b/pim_product_attribute_set_completeness/__manifest__.py new file mode 100644 index 00000000..d30d4ff6 --- /dev/null +++ b/pim_product_attribute_set_completeness/__manifest__.py @@ -0,0 +1,13 @@ +# Copyright 2020 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "PIM Product Attribute Set Completeness", + "version": "16.0.1.0.0", + "license": "AGPL-3", + "author": "ACSONE SA/NV, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/odoo-pim", + "depends": ["pim", "product_attribute_set_completeness"], + "data": ["views/product_view.xml"], + "auto_install": True, +} diff --git a/pim_product_attribute_set_completeness/i18n/product_attribute_set_completeness.pot b/pim_product_attribute_set_completeness/i18n/product_attribute_set_completeness.pot new file mode 100644 index 00000000..0148b62e --- /dev/null +++ b/pim_product_attribute_set_completeness/i18n/product_attribute_set_completeness.pot @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pim_product_attribute_set_completeness +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" diff --git a/pim_product_attribute_set_completeness/readme/CONTRIBUTORS.rst b/pim_product_attribute_set_completeness/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..0c9c7cad --- /dev/null +++ b/pim_product_attribute_set_completeness/readme/CONTRIBUTORS.rst @@ -0,0 +1,11 @@ +* Cédric PIGEON +* Xavier Bouquiaux +* `Camptocamp `_ + + * Iván Todorovich + +* Dhara Solanki + +* `Scalizer `_ + + * Michel Perrocheau diff --git a/pim_product_attribute_set_completeness/readme/DESCRIPTION.rst b/pim_product_attribute_set_completeness/readme/DESCRIPTION.rst new file mode 100644 index 00000000..1e7d8b75 --- /dev/null +++ b/pim_product_attribute_set_completeness/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This module adds the completion rate and the completion state on the PIM products. diff --git a/pim_product_attribute_set_completeness/readme/USAGE.rst b/pim_product_attribute_set_completeness/readme/USAGE.rst new file mode 100644 index 00000000..59b61b17 --- /dev/null +++ b/pim_product_attribute_set_completeness/readme/USAGE.rst @@ -0,0 +1,2 @@ +Completion rate and completion state are visible on the product form. +These 2 properties are also searchable through the search view ("Complete" and "Not Complete" filters). diff --git a/pim_product_attribute_set_completeness/static/description/icon.png b/pim_product_attribute_set_completeness/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/pim_product_attribute_set_completeness/static/description/index.html b/pim_product_attribute_set_completeness/static/description/index.html new file mode 100644 index 00000000..bcc19cc3 --- /dev/null +++ b/pim_product_attribute_set_completeness/static/description/index.html @@ -0,0 +1,435 @@ + + + + + + +Product Attribute Set Completeness + + + +
        +

        Product Attribute Set Completeness

        + + +

        Beta License: AGPL-3 OCA/odoo-pim Translate me on Weblate Try me on Runbot

        +

        This module adds the completion rate and the completion state on the products.

        +

        Table of contents

        + +
        +

        Usage

        +

        Completion rate and completion state are visible on the product form. +These 2 properties are also searchable through the search view (“Complete” and “Not Complete” filters).

        +
        +
        +

        Bug Tracker

        +

        Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.

        +

        Do not contact contributors directly about support or help with technical issues.

        +
        +
        +

        Credits

        +
        +

        Authors

        +
          +
        • ACSONE SA/NV
        • +
        +
        +
        +

        Contributors

        + +
        +
        +

        Maintainers

        +

        This module is maintained by the OCA.

        +Odoo Community Association +

        OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

        +

        This module is part of the OCA/odoo-pim project on GitHub.

        +

        You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

        +
        +
        +
        + + diff --git a/pim_product_attribute_set_completeness/views/product_view.xml b/pim_product_attribute_set_completeness/views/product_view.xml new file mode 100644 index 00000000..2339246f --- /dev/null +++ b/pim_product_attribute_set_completeness/views/product_view.xml @@ -0,0 +1,28 @@ + + + + pim.product.template.completeness.tree + product.template + + + + + + + + + From 0b33767ec1b729c71a989e39b9aacba7157eff14 Mon Sep 17 00:00:00 2001 From: Michel Perrocheau Date: Sun, 16 Jun 2024 10:26:11 +0200 Subject: [PATCH 86/89] [IMP] pre-commit --- attribute_set_completeness/README.rst | 23 ++++--- .../static/description/index.html | 52 +++++++------- pim/README.rst | 23 ++++--- pim/static/description/index.html | 51 +++++++------- .../README.rst | 29 +++++--- .../static/description/index.html | 67 +++++++++++-------- product_attribute_set_completeness/README.rst | 23 ++++--- .../static/description/index.html | 52 +++++++------- 8 files changed, 183 insertions(+), 137 deletions(-) diff --git a/attribute_set_completeness/README.rst b/attribute_set_completeness/README.rst index ae2b1c16..a24c8ba6 100644 --- a/attribute_set_completeness/README.rst +++ b/attribute_set_completeness/README.rst @@ -2,10 +2,13 @@ Attribute Set Completeness ========================== -.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:f8b14699a8f767d4a9ebd91a042aacd07606905af8292e7f3cb459f23958b77a + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status @@ -14,16 +17,16 @@ Attribute Set Completeness :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fodoo--pim-lightgray.png?logo=github - :target: https://github.com/OCA/odoo-pim/tree/14.0/attribute_set_completeness + :target: https://github.com/OCA/odoo-pim/tree/16.0/attribute_set_completeness :alt: OCA/odoo-pim .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/odoo-pim-14-0/odoo-pim-14-0-attribute_set_completeness + :target: https://translation.odoo-community.org/projects/odoo-pim-16-0/odoo-pim-16-0-attribute_set_completeness :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/295/14.0 - :alt: Try me on Runbot +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/odoo-pim&target_branch=16.0 + :alt: Try me on Runboat -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| This module allows the user define a completion rate on the model linked to an attribute set. @@ -44,8 +47,8 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. -If you spotted it first, help us smashing it by providing a detailed and welcomed -`feedback `_. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -81,6 +84,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -This module is part of the `OCA/odoo-pim `_ project on GitHub. +This module is part of the `OCA/odoo-pim `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/attribute_set_completeness/static/description/index.html b/attribute_set_completeness/static/description/index.html index 44b175ca..5bd1caec 100644 --- a/attribute_set_completeness/static/description/index.html +++ b/attribute_set_completeness/static/description/index.html @@ -1,20 +1,20 @@ - - + Attribute Set Completeness -
        -

        Product Attribute Set Completeness

        +
        +

        PIM Product Attribute Set Completeness

        -

        Beta License: AGPL-3 OCA/odoo-pim Translate me on Weblate Try me on Runbot

        -

        This module adds the completion rate and the completion state on the products.

        +

        Beta License: AGPL-3 OCA/odoo-pim Translate me on Weblate Try me on Runboat

        +

        This module adds the completion rate and the completion state on the PIM products.

        Table of contents

        -

        Usage

        +

        Usage

        Completion rate and completion state are visible on the product form. These 2 properties are also searchable through the search view (“Complete” and “Not Complete” filters).

        -

        Bug Tracker

        +

        Bug Tracker

        Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. -If you spotted it first, help us smashing it by providing a detailed and welcomed -feedback.

        +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

        Do not contact contributors directly about support or help with technical issues.

        -

        Credits

        +

        Credits

        -

        Authors

        +

        Authors

        • ACSONE SA/NV
        -

        Contributors

        +

        Contributors

        +
      • Dhara Solanki <dhara.solanki@initos.com>

        +
      • +
      • Scalizer

        +
        + +
        +
      -

      Maintainers

      +

      Maintainers

      This module is maintained by the OCA.

      -Odoo Community Association + +Odoo Community Association +

      OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

      -

      This module is part of the OCA/odoo-pim project on GitHub.

      +

      This module is part of the OCA/odoo-pim project on GitHub.

      You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

      diff --git a/product_attribute_set_completeness/README.rst b/product_attribute_set_completeness/README.rst index 90c1664e..d32bf2e9 100644 --- a/product_attribute_set_completeness/README.rst +++ b/product_attribute_set_completeness/README.rst @@ -2,10 +2,13 @@ Product Attribute Set Completeness ================================== -.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:2e9f87bd79bfdb2e89f1c1c1ee9804195b1d8ef6fd53267e042a91087ecc3374 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status @@ -14,16 +17,16 @@ Product Attribute Set Completeness :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fodoo--pim-lightgray.png?logo=github - :target: https://github.com/OCA/odoo-pim/tree/14.0/product_attribute_set_completeness + :target: https://github.com/OCA/odoo-pim/tree/16.0/product_attribute_set_completeness :alt: OCA/odoo-pim .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/odoo-pim-14-0/odoo-pim-14-0-product_attribute_set_completeness + :target: https://translation.odoo-community.org/projects/odoo-pim-16-0/odoo-pim-16-0-product_attribute_set_completeness :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/295/14.0 - :alt: Try me on Runbot +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/odoo-pim&target_branch=16.0 + :alt: Try me on Runboat -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| This module adds the completion rate and the completion state on the products. @@ -43,8 +46,8 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. -If you spotted it first, help us smashing it by providing a detailed and welcomed -`feedback `_. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -80,6 +83,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -This module is part of the `OCA/odoo-pim `_ project on GitHub. +This module is part of the `OCA/odoo-pim `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/product_attribute_set_completeness/static/description/index.html b/product_attribute_set_completeness/static/description/index.html index bcc19cc3..012eb89e 100644 --- a/product_attribute_set_completeness/static/description/index.html +++ b/product_attribute_set_completeness/static/description/index.html @@ -1,20 +1,20 @@ - - + Product Attribute Set Completeness