From 236e2960077ac198a0705c374482ed4cd591a3a2 Mon Sep 17 00:00:00 2001 From: Sylvain LE GAL Date: Tue, 3 Aug 2021 15:57:51 +0200 Subject: [PATCH 1/6] [ADD][12.0] new module product_net_weight. - Add new net_weight field on product models; - Rename weight field with 'Gross Weight' string; --- product_net_weight/README.rst | 8 ++ product_net_weight/__init__.py | 1 + product_net_weight/__manifest__.py | 25 ++++++ product_net_weight/demo/product_product.xml | 19 +++++ product_net_weight/i18n/fr.po | 73 ++++++++++++++++++ product_net_weight/models/__init__.py | 2 + product_net_weight/models/product_product.py | 19 +++++ product_net_weight/models/product_template.py | 21 +++++ product_net_weight/readme/CONTRIBUTORS.rst | 1 + product_net_weight/readme/DESCRIPTION.rst | 2 + product_net_weight/readme/ROADMAP.rst | 5 ++ product_net_weight/readme/USAGE.rst | 7 ++ .../static/description/product_form.png | Bin 0 -> 67209 bytes .../views/view_product_product.xml | 23 ++++++ .../views/view_product_template.xml | 23 ++++++ 15 files changed, 229 insertions(+) create mode 100644 product_net_weight/README.rst create mode 100644 product_net_weight/__init__.py create mode 100644 product_net_weight/__manifest__.py create mode 100644 product_net_weight/demo/product_product.xml create mode 100644 product_net_weight/i18n/fr.po create mode 100644 product_net_weight/models/__init__.py create mode 100644 product_net_weight/models/product_product.py create mode 100644 product_net_weight/models/product_template.py create mode 100644 product_net_weight/readme/CONTRIBUTORS.rst create mode 100644 product_net_weight/readme/DESCRIPTION.rst create mode 100644 product_net_weight/readme/ROADMAP.rst create mode 100644 product_net_weight/readme/USAGE.rst create mode 100644 product_net_weight/static/description/product_form.png create mode 100644 product_net_weight/views/view_product_product.xml create mode 100644 product_net_weight/views/view_product_template.xml diff --git a/product_net_weight/README.rst b/product_net_weight/README.rst new file mode 100644 index 00000000000..ab9484e9b9d --- /dev/null +++ b/product_net_weight/README.rst @@ -0,0 +1,8 @@ +===================== +Products - Net Weight +===================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! diff --git a/product_net_weight/__init__.py b/product_net_weight/__init__.py new file mode 100644 index 00000000000..0650744f6bc --- /dev/null +++ b/product_net_weight/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/product_net_weight/__manifest__.py b/product_net_weight/__manifest__.py new file mode 100644 index 00000000000..8a86725dc65 --- /dev/null +++ b/product_net_weight/__manifest__.py @@ -0,0 +1,25 @@ +# Copyright (C) 2021 - Today: GRAP (http://www.grap.coop) +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +{ + "name": "Products - Net Weight", + "summary": "Add 'Net Weight' on product models", + "version": "12.0.1.0.1", + "category": "Product", + "author": "GRAP,Odoo Community Association (OCA)", + "maintainers": ["legalsylvain"], + "website": "https://github.com/OCA/product-attribute", + "license": "AGPL-3", + "depends": ["product"], + "data": [ + "views/view_product_product.xml", + "views/view_product_template.xml", + ], + "demo": [ + "demo/product_product.xml", + ], + "images": [ + "static/description/product_product_form.png", + ], + "installable": True, +} diff --git a/product_net_weight/demo/product_product.xml b/product_net_weight/demo/product_product.xml new file mode 100644 index 00000000000..03f5afc7897 --- /dev/null +++ b/product_net_weight/demo/product_product.xml @@ -0,0 +1,19 @@ + + + + + + Strawberry Jam (Jar of 250 grams) + + + 0.250 + 0.410 + 1.97 + 2.70 + + + diff --git a/product_net_weight/i18n/fr.po b/product_net_weight/i18n/fr.po new file mode 100644 index 00000000000..7ed0ccb170b --- /dev/null +++ b/product_net_weight/i18n/fr.po @@ -0,0 +1,73 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_net_weight +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-08-13 18:38+0000\n" +"PO-Revision-Date: 2021-08-13 18:38+0000\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_net_weight +#: model:ir.model.fields,field_description:product_net_weight.field_product_product__weight +#: model:ir.model.fields,field_description:product_net_weight.field_product_template__weight +msgid "Gross Weight" +msgstr "Poids brut" + +#. module: product_net_weight +#: model:ir.model.fields,field_description:product_net_weight.field_product_product__net_weight +#: model:ir.model.fields,field_description:product_net_weight.field_product_template__net_weight +msgid "Net Weight" +msgstr "Poids net" + +#. module: product_net_weight +#: model:ir.model.fields,help:product_net_weight.field_product_product__net_weight +#: model:ir.model.fields,help:product_net_weight.field_product_template__net_weight +msgid "Net Weight of the product, container excluded." +msgstr "Poids net du produit, contenant exclus." + +#. module: product_net_weight +#: model:ir.model,name:product_net_weight.model_product_product +msgid "Product" +msgstr "Article" + +#. module: product_net_weight +#: model:ir.model,name:product_net_weight.model_product_template +msgid "Product Template" +msgstr "Modèle d'article" + +#. module: product_net_weight +#: model:product.product,name:product_net_weight.product_strawberry_jam +#: model:product.template,name:product_net_weight.product_strawberry_jam_product_template +msgid "Strawberry Jam (Jar of 250 grams)" +msgstr "Confiture de fraise (Pot de 250 grammes)" + +#. module: product_net_weight +#: model:ir.model.fields,help:product_net_weight.field_product_template__weight +msgid "The weight of the contents in Kg, not including any packaging, etc." +msgstr "Le poids du contenu en kilogrammes, sans compter tout emballage, etc." + +#. module: product_net_weight +#: model:product.product,uom_name:product_net_weight.product_strawberry_jam +#: model:product.template,uom_name:product_net_weight.product_strawberry_jam_product_template +msgid "Unit(s)" +msgstr "Unité(s)" + +#. module: product_net_weight +#: model:ir.model.fields,help:product_net_weight.field_product_product__weight +msgid "Weight of the product, packaging not included. The unit of measure can be changed in the general settings" +msgstr "Poids du produit, sans le conditionnement. L'unité de mesure peut être changée dans les paramètres généraux." + +#. module: product_net_weight +#: model:product.product,weight_uom_name:product_net_weight.product_strawberry_jam +#: model:product.template,weight_uom_name:product_net_weight.product_strawberry_jam_product_template +msgid "kg" +msgstr "" + diff --git a/product_net_weight/models/__init__.py b/product_net_weight/models/__init__.py new file mode 100644 index 00000000000..18b37e85320 --- /dev/null +++ b/product_net_weight/models/__init__.py @@ -0,0 +1,2 @@ +from . import product_product +from . import product_template diff --git a/product_net_weight/models/product_product.py b/product_net_weight/models/product_product.py new file mode 100644 index 00000000000..f3a7696b9e9 --- /dev/null +++ b/product_net_weight/models/product_product.py @@ -0,0 +1,19 @@ +# Copyright (C) 2021 - Today: GRAP (http://www.grap.coop) +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models +from odoo.addons import decimal_precision as dp + + +class ProductProduct(models.Model): + _inherit = "product.product" + + net_weight = fields.Float( + string="Net Weight", + digits=dp.get_precision("Stock Weight"), + help="Net Weight of the product, container excluded.", + ) + + # Explicit field, renaming it + weight = fields.Float(string="Gross Weight") diff --git a/product_net_weight/models/product_template.py b/product_net_weight/models/product_template.py new file mode 100644 index 00000000000..120e30fa1e2 --- /dev/null +++ b/product_net_weight/models/product_template.py @@ -0,0 +1,21 @@ +# Copyright (C) 2021 - Today: GRAP (http://www.grap.coop) +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models +from odoo.addons import decimal_precision as dp + + +class ProductTemplate(models.Model): + _inherit = "product.template" + + net_weight = fields.Float( + string="Net Weight", + related="product_variant_ids.net_weight", + digits=dp.get_precision("Stock Weight"), + help="Net Weight of the product, container excluded.", + readonly=False, + ) + + # Explicit field, renaming it + weight = fields.Float(string="Gross Weight") diff --git a/product_net_weight/readme/CONTRIBUTORS.rst b/product_net_weight/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000000..e1525ce042b --- /dev/null +++ b/product_net_weight/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Sylvain LE GAL (https://www.twitter.com/legalsylvain) diff --git a/product_net_weight/readme/DESCRIPTION.rst b/product_net_weight/readme/DESCRIPTION.rst new file mode 100644 index 00000000000..43cb00103e2 --- /dev/null +++ b/product_net_weight/readme/DESCRIPTION.rst @@ -0,0 +1,2 @@ +This module extends the functionality of stock module to support net weight. (container excluded) + diff --git a/product_net_weight/readme/ROADMAP.rst b/product_net_weight/readme/ROADMAP.rst new file mode 100644 index 00000000000..e14be535544 --- /dev/null +++ b/product_net_weight/readme/ROADMAP.rst @@ -0,0 +1,5 @@ +In futur version (> 12.0), allow to compute Weight Price +(Net weight / Price). +For that purpose, refactor with ``product_logistics_uom``. + +Ref : https://github.com/OCA/product-attribute/pull/894#issuecomment-895930887 diff --git a/product_net_weight/readme/USAGE.rst b/product_net_weight/readme/USAGE.rst new file mode 100644 index 00000000000..4dfa73c47c5 --- /dev/null +++ b/product_net_weight/readme/USAGE.rst @@ -0,0 +1,7 @@ +* Go to 'Inventory > Master Data > Product' and edit items. + +* Go to 'Inventory' tab, and fill the "Net Weight" value. + +.. figure:: ../static/description/product_form.png + +**Note**: The original weight field is renamed to "Gross Weight", to be more explicit. diff --git a/product_net_weight/static/description/product_form.png b/product_net_weight/static/description/product_form.png new file mode 100644 index 0000000000000000000000000000000000000000..f50a84dac093ff304e417a0b804798bb35526a0b GIT binary patch literal 67209 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 + + + + + product.product + + + +

+ + +
+ + + + + diff --git a/product_net_weight/views/view_product_template.xml b/product_net_weight/views/view_product_template.xml new file mode 100644 index 00000000000..40f56dee8c4 --- /dev/null +++ b/product_net_weight/views/view_product_template.xml @@ -0,0 +1,23 @@ + + + + + + product.template + + + + + + + + From e4a3a66499e2a955ebd57fd08d3ddd1e399f11e5 Mon Sep 17 00:00:00 2001 From: oca-travis Date: Thu, 19 Aug 2021 21:51:20 +0000 Subject: [PATCH 2/6] [UPD] Update product_net_weight.pot --- product_net_weight/i18n/fr.po | 19 ++++- .../i18n/product_net_weight.pot | 77 +++++++++++++++++++ 2 files changed, 92 insertions(+), 4 deletions(-) create mode 100644 product_net_weight/i18n/product_net_weight.pot diff --git a/product_net_weight/i18n/fr.po b/product_net_weight/i18n/fr.po index 7ed0ccb170b..1d0976ea708 100644 --- a/product_net_weight/i18n/fr.po +++ b/product_net_weight/i18n/fr.po @@ -10,6 +10,7 @@ msgstr "" "PO-Revision-Date: 2021-08-13 18:38+0000\n" "Last-Translator: <>\n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" @@ -21,6 +22,12 @@ msgstr "" msgid "Gross Weight" msgstr "Poids brut" +#. module: product_net_weight +#: model:product.product,volume_uom_name:product_net_weight.product_strawberry_jam +#: model:product.template,volume_uom_name:product_net_weight.product_strawberry_jam_product_template +msgid "Liter(s)" +msgstr "" + #. module: product_net_weight #: model:ir.model.fields,field_description:product_net_weight.field_product_product__net_weight #: model:ir.model.fields,field_description:product_net_weight.field_product_template__net_weight @@ -51,7 +58,8 @@ msgstr "Confiture de fraise (Pot de 250 grammes)" #. module: product_net_weight #: model:ir.model.fields,help:product_net_weight.field_product_template__weight -msgid "The weight of the contents in Kg, not including any packaging, etc." +#, fuzzy +msgid "The weight of the contents, not including any packaging, etc." msgstr "Le poids du contenu en kilogrammes, sans compter tout emballage, etc." #. module: product_net_weight @@ -62,12 +70,15 @@ msgstr "Unité(s)" #. module: product_net_weight #: model:ir.model.fields,help:product_net_weight.field_product_product__weight -msgid "Weight of the product, packaging not included. The unit of measure can be changed in the general settings" -msgstr "Poids du produit, sans le conditionnement. L'unité de mesure peut être changée dans les paramètres généraux." +msgid "" +"Weight of the product, packaging not included. The unit of measure can be " +"changed in the general settings" +msgstr "" +"Poids du produit, sans le conditionnement. L'unité de mesure peut être " +"changée dans les paramètres généraux." #. module: product_net_weight #: model:product.product,weight_uom_name:product_net_weight.product_strawberry_jam #: model:product.template,weight_uom_name:product_net_weight.product_strawberry_jam_product_template msgid "kg" msgstr "" - diff --git a/product_net_weight/i18n/product_net_weight.pot b/product_net_weight/i18n/product_net_weight.pot new file mode 100644 index 00000000000..d8707098b42 --- /dev/null +++ b/product_net_weight/i18n/product_net_weight.pot @@ -0,0 +1,77 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_net_weight +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.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_net_weight +#: model:ir.model.fields,field_description:product_net_weight.field_product_product__weight +#: model:ir.model.fields,field_description:product_net_weight.field_product_template__weight +msgid "Gross Weight" +msgstr "" + +#. module: product_net_weight +#: model:product.product,volume_uom_name:product_net_weight.product_strawberry_jam +#: model:product.template,volume_uom_name:product_net_weight.product_strawberry_jam_product_template +msgid "Liter(s)" +msgstr "" + +#. module: product_net_weight +#: model:ir.model.fields,field_description:product_net_weight.field_product_product__net_weight +#: model:ir.model.fields,field_description:product_net_weight.field_product_template__net_weight +msgid "Net Weight" +msgstr "" + +#. module: product_net_weight +#: model:ir.model.fields,help:product_net_weight.field_product_product__net_weight +#: model:ir.model.fields,help:product_net_weight.field_product_template__net_weight +msgid "Net Weight of the product, container excluded." +msgstr "" + +#. module: product_net_weight +#: model:ir.model,name:product_net_weight.model_product_product +msgid "Product" +msgstr "" + +#. module: product_net_weight +#: model:ir.model,name:product_net_weight.model_product_template +msgid "Product Template" +msgstr "" + +#. module: product_net_weight +#: model:product.product,name:product_net_weight.product_strawberry_jam +#: model:product.template,name:product_net_weight.product_strawberry_jam_product_template +msgid "Strawberry Jam (Jar of 250 grams)" +msgstr "" + +#. module: product_net_weight +#: model:ir.model.fields,help:product_net_weight.field_product_template__weight +msgid "The weight of the contents, not including any packaging, etc." +msgstr "" + +#. module: product_net_weight +#: model:product.product,uom_name:product_net_weight.product_strawberry_jam +#: model:product.template,uom_name:product_net_weight.product_strawberry_jam_product_template +msgid "Unit(s)" +msgstr "" + +#. module: product_net_weight +#: model:ir.model.fields,help:product_net_weight.field_product_product__weight +msgid "Weight of the product, packaging not included. The unit of measure can be changed in the general settings" +msgstr "" + +#. module: product_net_weight +#: model:product.product,weight_uom_name:product_net_weight.product_strawberry_jam +#: model:product.template,weight_uom_name:product_net_weight.product_strawberry_jam_product_template +msgid "kg" +msgstr "" + From ced19103f9c5310b3eef5ac9d7e94e4b595ed3d8 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 19 Aug 2021 22:24:03 +0000 Subject: [PATCH 3/6] [UPD] README.rst --- product_net_weight/README.rst | 94 ++++ .../static/description/index.html | 441 ++++++++++++++++++ 2 files changed, 535 insertions(+) create mode 100644 product_net_weight/static/description/index.html diff --git a/product_net_weight/README.rst b/product_net_weight/README.rst index ab9484e9b9d..8b13e993d6b 100644 --- a/product_net_weight/README.rst +++ b/product_net_weight/README.rst @@ -6,3 +6,97 @@ Products - Net Weight !! 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%2Fproduct--attribute-lightgray.png?logo=github + :target: https://github.com/OCA/product-attribute/tree/12.0/product_net_weight + :alt: OCA/product-attribute +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/product-attribute-12-0/product-attribute-12-0-product_net_weight + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/135/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module extends the functionality of stock module to support net weight. (container excluded) + + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +* Go to 'Inventory > Master Data > Product' and edit items. + +* Go to 'Inventory' tab, and fill the "Net Weight" value. + +.. figure:: https://raw.githubusercontent.com/OCA/product-attribute/12.0/product_net_weight/static/description/product_form.png + +**Note**: The original weight field is renamed to "Gross Weight", to be more explicit. + +Known issues / Roadmap +====================== + +In futur version (> 12.0), allow to compute Weight Price +(Net weight / Price). +For that purpose, refactor with ``product_logistics_uom``. + +Ref : https://github.com/OCA/product-attribute/pull/894#issuecomment-895930887 + +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 +~~~~~~~ + +* GRAP + +Contributors +~~~~~~~~~~~~ + +* Sylvain LE GAL (https://www.twitter.com/legalsylvain) + +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. + +.. |maintainer-legalsylvain| image:: https://github.com/legalsylvain.png?size=40px + :target: https://github.com/legalsylvain + :alt: legalsylvain + +Current `maintainer `__: + +|maintainer-legalsylvain| + +This module is part of the `OCA/product-attribute `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/product_net_weight/static/description/index.html b/product_net_weight/static/description/index.html new file mode 100644 index 00000000000..9f8f206f32f --- /dev/null +++ b/product_net_weight/static/description/index.html @@ -0,0 +1,441 @@ + + + + + + +Products - Net Weight + + + +
+

Products - Net Weight

+ + +

Beta License: AGPL-3 OCA/product-attribute Translate me on Weblate Try me on Runbot

+

This module extends the functionality of stock module to support net weight. (container excluded)

+

Table of contents

+ +
+

Usage

+
    +
  • Go to ‘Inventory > Master Data > Product’ and edit items.
  • +
  • Go to ‘Inventory’ tab, and fill the “Net Weight” value.
  • +
+
+https://raw.githubusercontent.com/OCA/product-attribute/12.0/product_net_weight/static/description/product_form.png +
+

Note: The original weight field is renamed to “Gross Weight”, to be more explicit.

+
+
+

Known issues / Roadmap

+

In futur version (> 12.0), allow to compute Weight Price +(Net weight / Price). +For that purpose, refactor with product_logistics_uom.

+

Ref : https://github.com/OCA/product-attribute/pull/894#issuecomment-895930887

+
+
+

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

+
    +
  • GRAP
  • +
+
+ +
+

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.

+

Current maintainer:

+

legalsylvain

+

This module is part of the OCA/product-attribute project on GitHub.

+

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

+
+
+
+ + From 53e1366a133f1dbe86a0a79173ebc9d52b1db83c Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 19 Aug 2021 22:24:04 +0000 Subject: [PATCH 4/6] [ADD] icon.png --- product_net_weight/static/description/icon.png | Bin 0 -> 9455 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 product_net_weight/static/description/icon.png diff --git a/product_net_weight/static/description/icon.png b/product_net_weight/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 295fa296493ba952411c01841cfdd09884bcf351 Mon Sep 17 00:00:00 2001 From: cubells Date: Sun, 3 Jul 2022 12:52:51 +0200 Subject: [PATCH 5/6] [IMP] product_net_weight: black, isort, prettier --- product_net_weight/__manifest__.py | 13 +++---------- product_net_weight/demo/product_product.xml | 2 +- product_net_weight/models/product_product.py | 1 + product_net_weight/models/product_template.py | 1 + product_net_weight/readme/DESCRIPTION.rst | 1 - .../views/view_product_product.xml | 8 ++++---- .../views/view_product_template.xml | 17 ++++++++++++----- .../odoo/addons/product_net_weight | 1 + setup/product_net_weight/setup.py | 6 ++++++ 9 files changed, 29 insertions(+), 21 deletions(-) create mode 120000 setup/product_net_weight/odoo/addons/product_net_weight create mode 100644 setup/product_net_weight/setup.py diff --git a/product_net_weight/__manifest__.py b/product_net_weight/__manifest__.py index 8a86725dc65..54ea01d2b0c 100644 --- a/product_net_weight/__manifest__.py +++ b/product_net_weight/__manifest__.py @@ -11,15 +11,8 @@ "website": "https://github.com/OCA/product-attribute", "license": "AGPL-3", "depends": ["product"], - "data": [ - "views/view_product_product.xml", - "views/view_product_template.xml", - ], - "demo": [ - "demo/product_product.xml", - ], - "images": [ - "static/description/product_product_form.png", - ], + "data": ["views/view_product_product.xml", "views/view_product_template.xml",], + "demo": ["demo/product_product.xml",], + "images": ["static/description/product_product_form.png",], "installable": True, } diff --git a/product_net_weight/demo/product_product.xml b/product_net_weight/demo/product_product.xml index 03f5afc7897..b8d72cf57d5 100644 --- a/product_net_weight/demo/product_product.xml +++ b/product_net_weight/demo/product_product.xml @@ -1,4 +1,4 @@ - +