From 01f46c07e4071686d7afd2ad7a44a6bcf580d8b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Fri, 22 Apr 2022 09:57:16 +0200 Subject: [PATCH 01/11] [ADD] partner_supplierinfo_smartbutton: New addon. TT35941 [UPD] Update partner_supplierinfo_smartbutton.pot [UPD] README.rst --- partner_supplierinfo_smartbutton/README.rst | 104 ++++ partner_supplierinfo_smartbutton/__init__.py | 1 + .../__manifest__.py | 16 + partner_supplierinfo_smartbutton/i18n/es.po | 49 ++ .../i18n/partner_supplierinfo_smartbutton.pot | 45 ++ .../models/__init__.py | 1 + .../models/res_partner.py | 34 ++ .../readme/CONFIGURE.rst | 3 + .../readme/CONTRIBUTORS.rst | 4 + .../readme/DESCRIPTION.rst | 1 + .../readme/INSTALL.rst | 1 + .../readme/USAGE.rst | 4 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 449 ++++++++++++++++++ .../tests/__init__.py | 3 + .../test_partner_supplierinfo_smartbutton.py | 74 +++ .../views/res_partner_view.xml | 25 + 17 files changed, 814 insertions(+) create mode 100644 partner_supplierinfo_smartbutton/README.rst create mode 100644 partner_supplierinfo_smartbutton/__init__.py create mode 100644 partner_supplierinfo_smartbutton/__manifest__.py create mode 100644 partner_supplierinfo_smartbutton/i18n/es.po create mode 100644 partner_supplierinfo_smartbutton/i18n/partner_supplierinfo_smartbutton.pot create mode 100644 partner_supplierinfo_smartbutton/models/__init__.py create mode 100644 partner_supplierinfo_smartbutton/models/res_partner.py create mode 100644 partner_supplierinfo_smartbutton/readme/CONFIGURE.rst create mode 100644 partner_supplierinfo_smartbutton/readme/CONTRIBUTORS.rst create mode 100644 partner_supplierinfo_smartbutton/readme/DESCRIPTION.rst create mode 100644 partner_supplierinfo_smartbutton/readme/INSTALL.rst create mode 100644 partner_supplierinfo_smartbutton/readme/USAGE.rst create mode 100644 partner_supplierinfo_smartbutton/static/description/icon.png create mode 100644 partner_supplierinfo_smartbutton/static/description/index.html create mode 100644 partner_supplierinfo_smartbutton/tests/__init__.py create mode 100644 partner_supplierinfo_smartbutton/tests/test_partner_supplierinfo_smartbutton.py create mode 100644 partner_supplierinfo_smartbutton/views/res_partner_view.xml diff --git a/partner_supplierinfo_smartbutton/README.rst b/partner_supplierinfo_smartbutton/README.rst new file mode 100644 index 00000000000..2eb8d67c76f --- /dev/null +++ b/partner_supplierinfo_smartbutton/README.rst @@ -0,0 +1,104 @@ +======================================== +Access supplied products from the vendor +======================================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! 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%2Fpurchase--workflow-lightgray.png?logo=github + :target: https://github.com/OCA/purchase-workflow/tree/14.0/partner_supplierinfo_smartbutton + :alt: OCA/purchase-workflow +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/purchase-workflow-14-0/purchase-workflow-14-0-partner_supplierinfo_smartbutton + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/142/14.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This addon adds a smart-button in the vendors with the supplied products. + +**Table of contents** + +.. contents:: + :local: + +Installation +============ + +To use this module, you need to install "contacts" and "purchase" addons. + +Configuration +============= + +#. Go to *Purchase > Products > Products*. +#. Access one of them clicking on it. +#. Go to "Purchase" tab and add some vendors (Azure Interior for example). + +Usage +===== + +#. Go to *Contacts* or *Purchase > Orders > Vendors*. +#. Access one of them clicking on it. +#. If it has supplier products, you will see an smart-button in the top part called "Products Supplied". +#. Clicking on it, you will be see all products supplied. + +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 +~~~~~~~ + +* Tecnativa + +Contributors +~~~~~~~~~~~~ + +* `Tecnativa `_: + + * Víctor Martínez + * Pedro M. Baeza + +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-victoralmau| image:: https://github.com/victoralmau.png?size=40px + :target: https://github.com/victoralmau + :alt: victoralmau + +Current `maintainer `__: + +|maintainer-victoralmau| + +This module is part of the `OCA/purchase-workflow `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/partner_supplierinfo_smartbutton/__init__.py b/partner_supplierinfo_smartbutton/__init__.py new file mode 100644 index 00000000000..0650744f6bc --- /dev/null +++ b/partner_supplierinfo_smartbutton/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/partner_supplierinfo_smartbutton/__manifest__.py b/partner_supplierinfo_smartbutton/__manifest__.py new file mode 100644 index 00000000000..85f8513f91a --- /dev/null +++ b/partner_supplierinfo_smartbutton/__manifest__.py @@ -0,0 +1,16 @@ +# Copyright 2022 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +{ + "name": "Access supplied products from the vendor", + "version": "14.0.1.0.0", + "category": "Purchase Management", + "website": "https://github.com/OCA/purchase-workflow", + "author": "Tecnativa, Odoo Community Association (OCA)", + "license": "AGPL-3", + "depends": ["product"], + "installable": True, + "data": [ + "views/res_partner_view.xml", + ], + "maintainers": ["victoralmau"], +} diff --git a/partner_supplierinfo_smartbutton/i18n/es.po b/partner_supplierinfo_smartbutton/i18n/es.po new file mode 100644 index 00000000000..a1215e791b2 --- /dev/null +++ b/partner_supplierinfo_smartbutton/i18n/es.po @@ -0,0 +1,49 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_supplierinfo_smartbutton +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-04-29 13:03+0000\n" +"PO-Revision-Date: 2022-04-29 16:03+0200\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: \n" +"Language: es\n" +"X-Generator: Poedit 2.3\n" + +#. module: partner_supplierinfo_smartbutton +#: model:ir.model,name:partner_supplierinfo_smartbutton.model_res_partner +msgid "Contact" +msgstr "Contacto" + +#. module: partner_supplierinfo_smartbutton +#: model:ir.model.fields,field_description:partner_supplierinfo_smartbutton.field_res_partner__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: partner_supplierinfo_smartbutton +#: model:ir.model.fields,field_description:partner_supplierinfo_smartbutton.field_res_partner__id +msgid "ID" +msgstr "ID" + +#. module: partner_supplierinfo_smartbutton +#: model:ir.model.fields,field_description:partner_supplierinfo_smartbutton.field_res_partner____last_update +msgid "Last Modified on" +msgstr "Última modificación el" + +#. module: partner_supplierinfo_smartbutton +#: model:ir.model.fields,field_description:partner_supplierinfo_smartbutton.field_res_partner__product_supplied_count +#: model:ir.model.fields,field_description:partner_supplierinfo_smartbutton.field_res_users__product_supplied_count +msgid "Product Supplied Count" +msgstr "Total productos suministrados" + +#. module: partner_supplierinfo_smartbutton +#: model_terms:ir.ui.view,arch_db:partner_supplierinfo_smartbutton.view_partner_form +msgid "Products Supplied" +msgstr "Productos suministrados" diff --git a/partner_supplierinfo_smartbutton/i18n/partner_supplierinfo_smartbutton.pot b/partner_supplierinfo_smartbutton/i18n/partner_supplierinfo_smartbutton.pot new file mode 100644 index 00000000000..fe7229c111c --- /dev/null +++ b/partner_supplierinfo_smartbutton/i18n/partner_supplierinfo_smartbutton.pot @@ -0,0 +1,45 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_supplierinfo_smartbutton +# +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: partner_supplierinfo_smartbutton +#: model:ir.model,name:partner_supplierinfo_smartbutton.model_res_partner +msgid "Contact" +msgstr "" + +#. module: partner_supplierinfo_smartbutton +#: model:ir.model.fields,field_description:partner_supplierinfo_smartbutton.field_res_partner__display_name +msgid "Display Name" +msgstr "" + +#. module: partner_supplierinfo_smartbutton +#: model:ir.model.fields,field_description:partner_supplierinfo_smartbutton.field_res_partner__id +msgid "ID" +msgstr "" + +#. module: partner_supplierinfo_smartbutton +#: model:ir.model.fields,field_description:partner_supplierinfo_smartbutton.field_res_partner____last_update +msgid "Last Modified on" +msgstr "" + +#. module: partner_supplierinfo_smartbutton +#: model:ir.model.fields,field_description:partner_supplierinfo_smartbutton.field_res_partner__product_supplied_count +#: model:ir.model.fields,field_description:partner_supplierinfo_smartbutton.field_res_users__product_supplied_count +msgid "Product Supplied Count" +msgstr "" + +#. module: partner_supplierinfo_smartbutton +#: model_terms:ir.ui.view,arch_db:partner_supplierinfo_smartbutton.view_partner_form +msgid "Products Supplied" +msgstr "" diff --git a/partner_supplierinfo_smartbutton/models/__init__.py b/partner_supplierinfo_smartbutton/models/__init__.py new file mode 100644 index 00000000000..91fed54d404 --- /dev/null +++ b/partner_supplierinfo_smartbutton/models/__init__.py @@ -0,0 +1 @@ +from . import res_partner diff --git a/partner_supplierinfo_smartbutton/models/res_partner.py b/partner_supplierinfo_smartbutton/models/res_partner.py new file mode 100644 index 00000000000..f7961b48963 --- /dev/null +++ b/partner_supplierinfo_smartbutton/models/res_partner.py @@ -0,0 +1,34 @@ +# Copyright 2022 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo import fields, models + + +class ResPartner(models.Model): + _inherit = "res.partner" + + product_supplied_count = fields.Integer( + compute="_compute_product_supplied_count", string="Product Supplied Count" + ) + + def _compute_product_supplied_count(self): + supplierinfo_data = self.env["product.supplierinfo"].read_group( + [("name", "in", self.ids)], ["name"], ["name"] + ) + mapping = {data["name"][0]: data["name_count"] for data in supplierinfo_data} + for item in self: + item.product_supplied_count = mapping.get(item.id, 0) + + def action_see_products_by_seller(self): + domain = [("name", "=", self.id)] + res = self.env.ref("product.product_supplierinfo_type_action").sudo().read()[0] + ctx = dict(self.env.context) + ctx.update( + { + "default_name": self.id, + "search_default_name": self.id, + "visible_product_tmpl_id": False, + } + ) + res.update({"domain": domain, "context": ctx}) + return res diff --git a/partner_supplierinfo_smartbutton/readme/CONFIGURE.rst b/partner_supplierinfo_smartbutton/readme/CONFIGURE.rst new file mode 100644 index 00000000000..52de9dc54e1 --- /dev/null +++ b/partner_supplierinfo_smartbutton/readme/CONFIGURE.rst @@ -0,0 +1,3 @@ +#. Go to *Purchase > Products > Products*. +#. Access one of them clicking on it. +#. Go to "Purchase" tab and add some vendors (Azure Interior for example). diff --git a/partner_supplierinfo_smartbutton/readme/CONTRIBUTORS.rst b/partner_supplierinfo_smartbutton/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000000..5fb71305308 --- /dev/null +++ b/partner_supplierinfo_smartbutton/readme/CONTRIBUTORS.rst @@ -0,0 +1,4 @@ +* `Tecnativa `_: + + * Víctor Martínez + * Pedro M. Baeza diff --git a/partner_supplierinfo_smartbutton/readme/DESCRIPTION.rst b/partner_supplierinfo_smartbutton/readme/DESCRIPTION.rst new file mode 100644 index 00000000000..7fa5d04f786 --- /dev/null +++ b/partner_supplierinfo_smartbutton/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This addon adds a smart-button in the vendors with the supplied products. diff --git a/partner_supplierinfo_smartbutton/readme/INSTALL.rst b/partner_supplierinfo_smartbutton/readme/INSTALL.rst new file mode 100644 index 00000000000..199f106c103 --- /dev/null +++ b/partner_supplierinfo_smartbutton/readme/INSTALL.rst @@ -0,0 +1 @@ +To use this module, you need to install "contacts" and "purchase" addons. diff --git a/partner_supplierinfo_smartbutton/readme/USAGE.rst b/partner_supplierinfo_smartbutton/readme/USAGE.rst new file mode 100644 index 00000000000..10e559bd873 --- /dev/null +++ b/partner_supplierinfo_smartbutton/readme/USAGE.rst @@ -0,0 +1,4 @@ +#. Go to *Contacts* or *Purchase > Orders > Vendors*. +#. Access one of them clicking on it. +#. If it has supplier products, you will see an smart-button in the top part called "Products Supplied". +#. Clicking on it, you will be see all products supplied. diff --git a/partner_supplierinfo_smartbutton/static/description/icon.png b/partner_supplierinfo_smartbutton/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/partner_supplierinfo_smartbutton/static/description/index.html b/partner_supplierinfo_smartbutton/static/description/index.html new file mode 100644 index 00000000000..4d31ce92e34 --- /dev/null +++ b/partner_supplierinfo_smartbutton/static/description/index.html @@ -0,0 +1,449 @@ + + + + + + +Access supplied products from the vendor + + + +
+

Access supplied products from the vendor

+ + +

Beta License: AGPL-3 OCA/purchase-workflow Translate me on Weblate Try me on Runbot

+

This addon adds a smart-button in the vendors with the supplied products.

+

Table of contents

+ +
+

Installation

+

To use this module, you need to install “contacts” and “purchase” addons.

+
+
+

Configuration

+
    +
  1. Go to Purchase > Products > Products.
  2. +
  3. Access one of them clicking on it.
  4. +
  5. Go to “Purchase” tab and add some vendors (Azure Interior for example).
  6. +
+
+
+

Usage

+
    +
  1. Go to Contacts or Purchase > Orders > Vendors.
  2. +
  3. Access one of them clicking on it.
  4. +
  5. If it has supplier products, you will see an smart-button in the top part called “Products Supplied”.
  6. +
  7. Clicking on it, you will be see all products supplied.
  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.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Tecnativa
  • +
+
+
+

Contributors

+
    +
  • Tecnativa:
      +
    • Víctor Martínez
    • +
    • Pedro M. Baeza
    • +
    +
  • +
+
+
+

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:

+

victoralmau

+

This module is part of the OCA/purchase-workflow project on GitHub.

+

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

+
+
+
+ + diff --git a/partner_supplierinfo_smartbutton/tests/__init__.py b/partner_supplierinfo_smartbutton/tests/__init__.py new file mode 100644 index 00000000000..25d205bc2ed --- /dev/null +++ b/partner_supplierinfo_smartbutton/tests/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl) + +from . import test_partner_supplierinfo_smartbutton diff --git a/partner_supplierinfo_smartbutton/tests/test_partner_supplierinfo_smartbutton.py b/partner_supplierinfo_smartbutton/tests/test_partner_supplierinfo_smartbutton.py new file mode 100644 index 00000000000..6b69f5ba647 --- /dev/null +++ b/partner_supplierinfo_smartbutton/tests/test_partner_supplierinfo_smartbutton.py @@ -0,0 +1,74 @@ +# Copyright 2022 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from odoo.tests import common + + +class TestPartnerSupplierinfoSmartbutton(common.SavepointCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.partner_a = cls.env["res.partner"].create({"name": "Partner A"}) + cls.partner_b = cls.env["res.partner"].create({"name": "Partner B"}) + cls.partner_c = cls.env["res.partner"].create({"name": "Partner C"}) + cls.product_model = cls.env["product.product"] + cls.product_supplierinfo_model = cls.env["product.supplierinfo"] + cls.product_a = cls.product_model.create( + { + "name": "Test product A", + "seller_ids": [ + (0, False, {"name": cls.partner_a.id, "min_qty": 1, "price": 10}), + ], + } + ) + cls.product_b = cls.product_model.create( + { + "name": "Test product B", + "seller_ids": [ + (0, False, {"name": cls.partner_b.id, "min_qty": 1, "price": 10}), + ], + } + ) + cls.product_a_b = cls.product_model.create( + { + "name": "Test product A+B", + "seller_ids": [ + (0, False, {"name": cls.partner_a.id, "min_qty": 1, "price": 10}), + (0, False, {"name": cls.partner_b.id, "min_qty": 1, "price": 20}), + ], + } + ) + cls.product_c = cls.product_model.create({"name": "Test product C"}) + + def _get_products_from_action(self, action): + return self.product_supplierinfo_model.search(action["domain"]).mapped( + "product_tmpl_id" + ) + + def test_product_supplied_count(self): + # Partner A + products = self._get_products_from_action( + self.partner_a.action_see_products_by_seller() + ) + self.assertIn(self.product_a.product_tmpl_id, products) + self.assertNotIn(self.product_b.product_tmpl_id, products) + self.assertIn(self.product_a_b.product_tmpl_id, products) + self.assertNotIn(self.product_c.product_tmpl_id, products) + self.assertEqual(self.partner_a.product_supplied_count, 2) + # Partner B + products = self._get_products_from_action( + self.partner_b.action_see_products_by_seller() + ) + self.assertNotIn(self.product_a.product_tmpl_id, products) + self.assertIn(self.product_b.product_tmpl_id, products) + self.assertIn(self.product_a_b.product_tmpl_id, products) + self.assertNotIn(self.product_c.product_tmpl_id, products) + self.assertEqual(self.partner_b.product_supplied_count, 2) + # Partner C + products = self._get_products_from_action( + self.partner_c.action_see_products_by_seller() + ) + self.assertNotIn(self.product_a.product_tmpl_id, products) + self.assertNotIn(self.product_b.product_tmpl_id, products) + self.assertNotIn(self.product_a_b.product_tmpl_id, products) + self.assertNotIn(self.product_c.product_tmpl_id, products) + self.assertEqual(self.partner_c.product_supplied_count, 0) diff --git a/partner_supplierinfo_smartbutton/views/res_partner_view.xml b/partner_supplierinfo_smartbutton/views/res_partner_view.xml new file mode 100644 index 00000000000..c90aa301e9e --- /dev/null +++ b/partner_supplierinfo_smartbutton/views/res_partner_view.xml @@ -0,0 +1,25 @@ + + + + res.partner.form + res.partner + + +
+ +
+
+
+
From 52b363592bc511aaabbe1ed8261d6b9f144ad450 Mon Sep 17 00:00:00 2001 From: Paul_Goubert Date: Mon, 2 Jan 2023 13:09:59 +0000 Subject: [PATCH 02/11] Added translation using Weblate (French) Translated using Weblate (French) Currently translated at 100.0% (6 of 6 strings) Translation: purchase-workflow-14.0/purchase-workflow-14.0-partner_supplierinfo_smartbutton Translate-URL: https://translation.odoo-community.org/projects/purchase-workflow-14-0/purchase-workflow-14-0-partner_supplierinfo_smartbutton/fr/ --- partner_supplierinfo_smartbutton/i18n/fr.po | 48 +++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 partner_supplierinfo_smartbutton/i18n/fr.po diff --git a/partner_supplierinfo_smartbutton/i18n/fr.po b/partner_supplierinfo_smartbutton/i18n/fr.po new file mode 100644 index 00000000000..6275bc089ed --- /dev/null +++ b/partner_supplierinfo_smartbutton/i18n/fr.po @@ -0,0 +1,48 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_supplierinfo_smartbutton +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-01-02 15:44+0000\n" +"Last-Translator: Paul_Goubert \n" +"Language-Team: none\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.14.1\n" + +#. module: partner_supplierinfo_smartbutton +#: model:ir.model,name:partner_supplierinfo_smartbutton.model_res_partner +msgid "Contact" +msgstr "Contact" + +#. module: partner_supplierinfo_smartbutton +#: model:ir.model.fields,field_description:partner_supplierinfo_smartbutton.field_res_partner__display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: partner_supplierinfo_smartbutton +#: model:ir.model.fields,field_description:partner_supplierinfo_smartbutton.field_res_partner__id +msgid "ID" +msgstr "ID" + +#. module: partner_supplierinfo_smartbutton +#: model:ir.model.fields,field_description:partner_supplierinfo_smartbutton.field_res_partner____last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: partner_supplierinfo_smartbutton +#: model:ir.model.fields,field_description:partner_supplierinfo_smartbutton.field_res_partner__product_supplied_count +#: model:ir.model.fields,field_description:partner_supplierinfo_smartbutton.field_res_users__product_supplied_count +msgid "Product Supplied Count" +msgstr "Articles fournis somme" + +#. module: partner_supplierinfo_smartbutton +#: model_terms:ir.ui.view,arch_db:partner_supplierinfo_smartbutton.view_partner_form +msgid "Products Supplied" +msgstr "Articles fournis" From 0d44cd4ecffc8da41a1e2dc592a61474041f4df9 Mon Sep 17 00:00:00 2001 From: Francesco Foresti Date: Fri, 20 Jan 2023 11:15:05 +0000 Subject: [PATCH 03/11] Added translation using Weblate (Italian) Translated using Weblate (Italian) Currently translated at 100.0% (6 of 6 strings) Translation: purchase-workflow-14.0/purchase-workflow-14.0-partner_supplierinfo_smartbutton Translate-URL: https://translation.odoo-community.org/projects/purchase-workflow-14-0/purchase-workflow-14-0-partner_supplierinfo_smartbutton/it/ --- partner_supplierinfo_smartbutton/README.rst | 15 +++--- partner_supplierinfo_smartbutton/i18n/es.po | 2 +- partner_supplierinfo_smartbutton/i18n/it.po | 48 +++++++++++++++++++ .../static/description/index.html | 48 ++++++++++--------- 4 files changed, 83 insertions(+), 30 deletions(-) create mode 100644 partner_supplierinfo_smartbutton/i18n/it.po diff --git a/partner_supplierinfo_smartbutton/README.rst b/partner_supplierinfo_smartbutton/README.rst index 2eb8d67c76f..471050f79e1 100644 --- a/partner_supplierinfo_smartbutton/README.rst +++ b/partner_supplierinfo_smartbutton/README.rst @@ -2,10 +2,13 @@ Access supplied products from the vendor ======================================== -.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:81e7b1583ab5a956c6d36307cfaa71717d2b022905a7bd41a3232c5cdc86ddea + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status @@ -19,11 +22,11 @@ Access supplied products from the vendor .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png :target: https://translation.odoo-community.org/projects/purchase-workflow-14-0/purchase-workflow-14-0-partner_supplierinfo_smartbutton :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/142/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/purchase-workflow&target_branch=14.0 + :alt: Try me on Runboat -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| This addon adds a smart-button in the vendors with the supplied products. @@ -57,7 +60,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 +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. diff --git a/partner_supplierinfo_smartbutton/i18n/es.po b/partner_supplierinfo_smartbutton/i18n/es.po index a1215e791b2..d9cc103334f 100644 --- a/partner_supplierinfo_smartbutton/i18n/es.po +++ b/partner_supplierinfo_smartbutton/i18n/es.po @@ -10,11 +10,11 @@ msgstr "" "PO-Revision-Date: 2022-04-29 16:03+0200\n" "Last-Translator: \n" "Language-Team: \n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: \n" -"Language: es\n" "X-Generator: Poedit 2.3\n" #. module: partner_supplierinfo_smartbutton diff --git a/partner_supplierinfo_smartbutton/i18n/it.po b/partner_supplierinfo_smartbutton/i18n/it.po new file mode 100644 index 00000000000..495f4c067be --- /dev/null +++ b/partner_supplierinfo_smartbutton/i18n/it.po @@ -0,0 +1,48 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_supplierinfo_smartbutton +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-01-20 13:45+0000\n" +"Last-Translator: Francesco Foresti \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.14.1\n" + +#. module: partner_supplierinfo_smartbutton +#: model:ir.model,name:partner_supplierinfo_smartbutton.model_res_partner +msgid "Contact" +msgstr "Contatto" + +#. module: partner_supplierinfo_smartbutton +#: model:ir.model.fields,field_description:partner_supplierinfo_smartbutton.field_res_partner__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: partner_supplierinfo_smartbutton +#: model:ir.model.fields,field_description:partner_supplierinfo_smartbutton.field_res_partner__id +msgid "ID" +msgstr "ID" + +#. module: partner_supplierinfo_smartbutton +#: model:ir.model.fields,field_description:partner_supplierinfo_smartbutton.field_res_partner____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: partner_supplierinfo_smartbutton +#: model:ir.model.fields,field_description:partner_supplierinfo_smartbutton.field_res_partner__product_supplied_count +#: model:ir.model.fields,field_description:partner_supplierinfo_smartbutton.field_res_users__product_supplied_count +msgid "Product Supplied Count" +msgstr "Conteggio prodotti forniti" + +#. module: partner_supplierinfo_smartbutton +#: model_terms:ir.ui.view,arch_db:partner_supplierinfo_smartbutton.view_partner_form +msgid "Products Supplied" +msgstr "Prodotti forniti" diff --git a/partner_supplierinfo_smartbutton/static/description/index.html b/partner_supplierinfo_smartbutton/static/description/index.html index 4d31ce92e34..ce3b8c54d6f 100644 --- a/partner_supplierinfo_smartbutton/static/description/index.html +++ b/partner_supplierinfo_smartbutton/static/description/index.html @@ -1,20 +1,20 @@ - + - + Access supplied products from the vendor -
-

Access supplied products from the vendor

+
+ + +Odoo Community Association + +
+

Access supplied products from the vendor

-

Beta License: AGPL-3 OCA/purchase-workflow Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/purchase-workflow Translate me on Weblate Try me on Runboat

This addon adds a smart-button in the vendors with the supplied products.

Table of contents

@@ -388,12 +393,12 @@

Access supplied products from the vendor

-

Installation

+

Installation

To use this module, you need to install “contacts” and “purchase” addons.

-

Configuration

+

Configuration

  1. Go to Purchase > Products > Products.
  2. Access one of them clicking on it.
  3. @@ -402,7 +407,7 @@

    Configuration

-

Usage

+

Usage

  1. Go to Contacts or Purchase > Orders > Vendors.
  2. Access one of them clicking on it.
  3. @@ -412,7 +417,7 @@

    Usage

-

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 to smash it by providing a detailed and welcomed @@ -420,15 +425,15 @@

Bug Tracker

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

-

Credits

+

Credits

-

Authors

+

Authors

  • Tecnativa
-

Contributors

+

Contributors

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -453,5 +458,6 @@

Maintainers

+
From f51e48086b075eac5764bcf946ca71807944c366 Mon Sep 17 00:00:00 2001 From: JasminSForgeFlow Date: Tue, 17 Feb 2026 08:56:41 +0000 Subject: [PATCH 11/11] [MIG] partner_supplierinfo_smartbutton: Migration to 19.0 --- partner_supplierinfo_smartbutton/README.rst | 16 +++----- .../__manifest__.py | 2 +- .../models/res_partner.py | 6 +-- .../readme/INSTALL.md | 2 - .../static/description/index.html | 40 ++++++++----------- 5 files changed, 26 insertions(+), 40 deletions(-) delete mode 100644 partner_supplierinfo_smartbutton/readme/INSTALL.md diff --git a/partner_supplierinfo_smartbutton/README.rst b/partner_supplierinfo_smartbutton/README.rst index 183ebfc1164..7d082ac568a 100644 --- a/partner_supplierinfo_smartbutton/README.rst +++ b/partner_supplierinfo_smartbutton/README.rst @@ -21,13 +21,13 @@ Access supplied products from the vendor :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpurchase--workflow-lightgray.png?logo=github - :target: https://github.com/OCA/purchase-workflow/tree/18.0/partner_supplierinfo_smartbutton + :target: https://github.com/OCA/purchase-workflow/tree/19.0/partner_supplierinfo_smartbutton :alt: OCA/purchase-workflow .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/purchase-workflow-18-0/purchase-workflow-18-0-partner_supplierinfo_smartbutton + :target: https://translation.odoo-community.org/projects/purchase-workflow-19-0/purchase-workflow-19-0-partner_supplierinfo_smartbutton :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/purchase-workflow&target_branch=18.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/purchase-workflow&target_branch=19.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -40,12 +40,6 @@ products. .. contents:: :local: -Installation -============ - -To use this module, you need to install "contacts" and "purchase" -addons. - Configuration ============= @@ -69,7 +63,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 to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -110,6 +104,6 @@ Current `maintainer `__: |maintainer-victoralmau| -This module is part of the `OCA/purchase-workflow `_ project on GitHub. +This module is part of the `OCA/purchase-workflow `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/partner_supplierinfo_smartbutton/__manifest__.py b/partner_supplierinfo_smartbutton/__manifest__.py index 80393ded349..8e55f778ef1 100644 --- a/partner_supplierinfo_smartbutton/__manifest__.py +++ b/partner_supplierinfo_smartbutton/__manifest__.py @@ -2,7 +2,7 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). { "name": "Access supplied products from the vendor", - "version": "18.0.1.0.0", + "version": "19.0.1.0.0", "category": "Purchase Management", "website": "https://github.com/OCA/purchase-workflow", "author": "Tecnativa, Odoo Community Association (OCA)", diff --git a/partner_supplierinfo_smartbutton/models/res_partner.py b/partner_supplierinfo_smartbutton/models/res_partner.py index e648811d1a9..48202c48db5 100644 --- a/partner_supplierinfo_smartbutton/models/res_partner.py +++ b/partner_supplierinfo_smartbutton/models/res_partner.py @@ -10,10 +10,10 @@ class ResPartner(models.Model): product_supplied_count = fields.Integer(compute="_compute_product_supplied_count") def _compute_product_supplied_count(self): - data = self.env["product.supplierinfo"].read_group( - [("partner_id", "in", self.ids)], ["partner_id"], ["partner_id"] + data = self.env["product.supplierinfo"]._read_group( + [("partner_id", "in", self.ids)], ["partner_id"], ["__count"] ) - mapping = {d["partner_id"][0]: d["partner_id_count"] for d in data} + mapping = {partner.id: count for partner, count in data} for item in self: item.product_supplied_count = mapping.get(item.id, 0) diff --git a/partner_supplierinfo_smartbutton/readme/INSTALL.md b/partner_supplierinfo_smartbutton/readme/INSTALL.md deleted file mode 100644 index 88e520e7ebd..00000000000 --- a/partner_supplierinfo_smartbutton/readme/INSTALL.md +++ /dev/null @@ -1,2 +0,0 @@ -To use this module, you need to install "contacts" and "purchase" -addons. diff --git a/partner_supplierinfo_smartbutton/static/description/index.html b/partner_supplierinfo_smartbutton/static/description/index.html index 07e3944a1c6..3edc2826042 100644 --- a/partner_supplierinfo_smartbutton/static/description/index.html +++ b/partner_supplierinfo_smartbutton/static/description/index.html @@ -374,31 +374,25 @@

Access supplied products from the vendor

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:75dcd83cf0adc314018d19dba373aef5483edb5c0a26e74730073512e12de932 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/purchase-workflow Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/purchase-workflow Translate me on Weblate Try me on Runboat

This addon adds a smart-button in the vendors with the supplied products.

Table of contents

-
-

Installation

-

To use this module, you need to install “contacts” and “purchase” -addons.

-
-

Configuration

+

Configuration

  1. Go to Purchase > Products > Products.
  2. Access one of them clicking on it.
  3. @@ -407,7 +401,7 @@

    Configuration

-

Usage

+

Usage

  1. Go to Contacts or Purchase > Orders > Vendors.
  2. Access one of them clicking on it.
  3. @@ -417,23 +411,23 @@

    Usage

-

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 to smash it by providing a detailed and welcomed -feedback.

+feedback.

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

-

Credits

+

Credits

-

Authors

+

Authors

  • Tecnativa
-

Contributors

+

Contributors

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -453,7 +447,7 @@

Maintainers

promote its widespread use.

Current maintainer:

victoralmau

-

This module is part of the OCA/purchase-workflow project on GitHub.

+

This module is part of the OCA/purchase-workflow project on GitHub.

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