From b41219d3e90966b3350ec9e9c0ea22d3c0e330ca Mon Sep 17 00:00:00 2001 From: Aungkokolin1997 Date: Thu, 20 Jun 2024 05:45:47 +0000 Subject: [PATCH 01/11] [ADD] stock_picking_operations_multilang --- stock_picking_operations_multilang/README.rst | 92 ++++ .../__init__.py | 2 + .../__manifest__.py | 19 + stock_picking_operations_multilang/hooks.py | 8 + .../models/__init__.py | 2 + .../models/stock_picking.py | 16 + .../models/stock_warehouse.py | 31 ++ .../readme/CONFIGURE.rst | 8 + .../readme/CONTEXT.rst | 5 + .../readme/DESCRIPTION.rst | 1 + .../reports/picking_operations_report.xml | 8 + .../reports/report_picking_with_language.xml | 9 + .../static/description/index.html | 441 ++++++++++++++++++ .../tests/__init__.py | 1 + ...test_stock_picking_operations_multilang.py | 53 +++ .../views/stock_warehouse_views.xml | 17 + 16 files changed, 713 insertions(+) create mode 100644 stock_picking_operations_multilang/README.rst create mode 100644 stock_picking_operations_multilang/__init__.py create mode 100644 stock_picking_operations_multilang/__manifest__.py create mode 100644 stock_picking_operations_multilang/hooks.py create mode 100644 stock_picking_operations_multilang/models/__init__.py create mode 100644 stock_picking_operations_multilang/models/stock_picking.py create mode 100644 stock_picking_operations_multilang/models/stock_warehouse.py create mode 100644 stock_picking_operations_multilang/readme/CONFIGURE.rst create mode 100644 stock_picking_operations_multilang/readme/CONTEXT.rst create mode 100644 stock_picking_operations_multilang/readme/DESCRIPTION.rst create mode 100644 stock_picking_operations_multilang/reports/picking_operations_report.xml create mode 100644 stock_picking_operations_multilang/reports/report_picking_with_language.xml create mode 100644 stock_picking_operations_multilang/static/description/index.html create mode 100644 stock_picking_operations_multilang/tests/__init__.py create mode 100644 stock_picking_operations_multilang/tests/test_stock_picking_operations_multilang.py create mode 100644 stock_picking_operations_multilang/views/stock_warehouse_views.xml diff --git a/stock_picking_operations_multilang/README.rst b/stock_picking_operations_multilang/README.rst new file mode 100644 index 000000000..ce9f0a16b --- /dev/null +++ b/stock_picking_operations_multilang/README.rst @@ -0,0 +1,92 @@ +================================== +Stock Picking Operations Multilang +================================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:328267fa42d8f3c10c273b62c58d184abd557aded9436a0a43797eff64bc1658 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Fstock--logistics--reporting-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-reporting/tree/16.0/stock_picking_operations_multilang + :alt: OCA/stock-logistics-reporting +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-reporting-16-0/stock-logistics-reporting-16-0-stock_picking_operations_multilang + :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/stock-logistics-reporting&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module allows printing the Picking Operations report in the partner's or warehouse's language, configurable at the warehouse level. + +**Table of contents** + +.. contents:: + :local: + +Use Cases / Context +=================== + +When a company operates internationally, employees from different countries may encounter language barriers. +For instance, a warehouse manager who only understands his native language might face difficulties +if the Picking Operations report is in a different language. This module addresses such scenarios +by enabling the customization of the Picking Operations report language, ensuring it matches +the language preferences of the warehouse manager or the partner. + +Configuration +============= + +To set up a specific language for Picking Operations: + +* Go to Inventory > Configuration > Warehouses. +* Select the warehouse for which you want to set up the language for the Picking Operations report. +* Choose the Picking Operation Language option. There are two options: + * Partner: It will use the language of the partner for the picking. If there is no partner for the picking, it will use the standard behavior of Odoo. + * Warehouse: If you select this option, you must fill in the Warehouse Language field, and this will be applied to Picking Operations. + * If left blank, it will use the standard behavior of Odoo. + +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 `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Quartile + +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/stock-logistics-reporting `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/stock_picking_operations_multilang/__init__.py b/stock_picking_operations_multilang/__init__.py new file mode 100644 index 000000000..071962a35 --- /dev/null +++ b/stock_picking_operations_multilang/__init__.py @@ -0,0 +1,2 @@ +from . import models +from .hooks import uninstall_hook diff --git a/stock_picking_operations_multilang/__manifest__.py b/stock_picking_operations_multilang/__manifest__.py new file mode 100644 index 000000000..b1c09ffca --- /dev/null +++ b/stock_picking_operations_multilang/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright 2024 Quartile (https://www.quartile.co) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +{ + "name": "Stock Picking Operations Multilang", + "version": "16.0.1.0.0", + "category": "Reporting", + "website": "https://github.com/OCA/stock-logistics-reporting", + "author": "Quartile, Odoo Community Association (OCA)", + "license": "AGPL-3", + "depends": ["stock"], + "data": [ + "views/stock_warehouse_views.xml", + "reports/picking_operations_report.xml", + "reports/report_picking_with_language.xml", + ], + "uninstall_hook": "uninstall_hook", + "installable": True, +} diff --git a/stock_picking_operations_multilang/hooks.py b/stock_picking_operations_multilang/hooks.py new file mode 100644 index 000000000..acd5381c0 --- /dev/null +++ b/stock_picking_operations_multilang/hooks.py @@ -0,0 +1,8 @@ +from odoo.api import SUPERUSER_ID, Environment + + +def uninstall_hook(cr, registry): + env = Environment(cr, SUPERUSER_ID, {}) + report_action = env.ref("stock.action_report_picking", raise_if_not_found=False) + if report_action: + report_action.write({"report_name": "stock.report_picking"}) diff --git a/stock_picking_operations_multilang/models/__init__.py b/stock_picking_operations_multilang/models/__init__.py new file mode 100644 index 000000000..0b10b2155 --- /dev/null +++ b/stock_picking_operations_multilang/models/__init__.py @@ -0,0 +1,2 @@ +from . import stock_picking +from . import stock_warehouse diff --git a/stock_picking_operations_multilang/models/stock_picking.py b/stock_picking_operations_multilang/models/stock_picking.py new file mode 100644 index 000000000..7d52fc68f --- /dev/null +++ b/stock_picking_operations_multilang/models/stock_picking.py @@ -0,0 +1,16 @@ +# Copyright 2024 Quartile (https://www.quartile.co) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import models + + +class StockPicking(models.Model): + _inherit = "stock.picking" + + def _get_picking_operations_lang(self): + warehouse = self.picking_type_id.warehouse_id + if warehouse.picking_operation_language_option == "partner" and self.partner_id: + return self.partner_id.lang + if warehouse.picking_operation_language_option == "warehouse": + return warehouse.warehouse_language + return self.env.user.lang diff --git a/stock_picking_operations_multilang/models/stock_warehouse.py b/stock_picking_operations_multilang/models/stock_warehouse.py new file mode 100644 index 000000000..312c96b64 --- /dev/null +++ b/stock_picking_operations_multilang/models/stock_warehouse.py @@ -0,0 +1,31 @@ +# Copyright 2024 Quartile (https://www.quartile.co) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class Warehouse(models.Model): + _inherit = "stock.warehouse" + + @api.model + def _lang_get(self): + return self.env["res.lang"].get_installed() + + picking_operation_language_option = fields.Selection( + [("partner", "Partner"), ("warehouse", "Warehouse")], + help="Partner: Picking Operations report will use the partner's language.\n" + "Warehouse: Picking Operations report will use the language specified in " + "the Warehouse Language field.", + ) + + warehouse_language = fields.Selection( + _lang_get, + default=lambda self: self.env.lang, + ) + active_lang_count = fields.Integer(compute="_compute_active_lang_count") + + @api.depends("warehouse_language") + def _compute_active_lang_count(self): + lang_count = len(self.env["res.lang"].get_installed()) + for rec in self: + rec.active_lang_count = lang_count diff --git a/stock_picking_operations_multilang/readme/CONFIGURE.rst b/stock_picking_operations_multilang/readme/CONFIGURE.rst new file mode 100644 index 000000000..6066c2d91 --- /dev/null +++ b/stock_picking_operations_multilang/readme/CONFIGURE.rst @@ -0,0 +1,8 @@ +To set up a specific language for Picking Operations: + +* Go to Inventory > Configuration > Warehouses. +* Select the warehouse for which you want to set up the language for the Picking Operations report. +* Choose the Picking Operation Language option. There are two options: + * Partner: It will use the language of the partner for the picking. If there is no partner for the picking, it will use the standard behavior of Odoo. + * Warehouse: If you select this option, you must fill in the Warehouse Language field, and this will be applied to Picking Operations. + * If left blank, it will use the standard behavior of Odoo. diff --git a/stock_picking_operations_multilang/readme/CONTEXT.rst b/stock_picking_operations_multilang/readme/CONTEXT.rst new file mode 100644 index 000000000..2500a1d1e --- /dev/null +++ b/stock_picking_operations_multilang/readme/CONTEXT.rst @@ -0,0 +1,5 @@ +When a company operates internationally, employees from different countries may encounter language barriers. +For instance, a warehouse manager who only understands his native language might face difficulties +if the Picking Operations report is in a different language. This module addresses such scenarios +by enabling the customization of the Picking Operations report language, ensuring it matches +the language preferences of the warehouse manager or the partner. diff --git a/stock_picking_operations_multilang/readme/DESCRIPTION.rst b/stock_picking_operations_multilang/readme/DESCRIPTION.rst new file mode 100644 index 000000000..2a9905c73 --- /dev/null +++ b/stock_picking_operations_multilang/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This module allows printing the Picking Operations report in the partner's or warehouse's language, configurable at the warehouse level. diff --git a/stock_picking_operations_multilang/reports/picking_operations_report.xml b/stock_picking_operations_multilang/reports/picking_operations_report.xml new file mode 100644 index 000000000..0dd8629a3 --- /dev/null +++ b/stock_picking_operations_multilang/reports/picking_operations_report.xml @@ -0,0 +1,8 @@ + + + + stock_picking_operations_multilang.report_picking_with_language + + diff --git a/stock_picking_operations_multilang/reports/report_picking_with_language.xml b/stock_picking_operations_multilang/reports/report_picking_with_language.xml new file mode 100644 index 000000000..a1f63f0c4 --- /dev/null +++ b/stock_picking_operations_multilang/reports/report_picking_with_language.xml @@ -0,0 +1,9 @@ + + + + diff --git a/stock_picking_operations_multilang/static/description/index.html b/stock_picking_operations_multilang/static/description/index.html new file mode 100644 index 000000000..0adfc8aed --- /dev/null +++ b/stock_picking_operations_multilang/static/description/index.html @@ -0,0 +1,441 @@ + + + + + +Stock Picking Operations Multilang + + + +
+

Stock Picking Operations Multilang

+ + +

Beta License: AGPL-3 OCA/stock-logistics-reporting Translate me on Weblate Try me on Runboat

+

This module allows printing the Picking Operations report in the partner’s or warehouse’s language, configurable at the warehouse level.

+

Table of contents

+ +
+

Use Cases / Context

+

When a company operates internationally, employees from different countries may encounter language barriers. +For instance, a warehouse manager who only understands his native language might face difficulties +if the Picking Operations report is in a different language. This module addresses such scenarios +by enabling the customization of the Picking Operations report language, ensuring it matches +the language preferences of the warehouse manager or the partner.

+
+
+

Configuration

+

To set up a specific language for Picking Operations:

+
    +
  • Go to Inventory > Configuration > Warehouses.
  • +
  • Select the warehouse for which you want to set up the language for the Picking Operations report.
  • +
  • +
    Choose the Picking Operation Language option. There are two options:
    +
      +
    • Partner: It will use the language of the partner for the picking. If there is no partner for the picking, it will use the standard behavior of Odoo.
    • +
    • Warehouse: If you select this option, you must fill in the Warehouse Language field, and this will be applied to Picking Operations.
    • +
    • If left blank, it will use the standard behavior of Odoo.
    • +
    +
    +
    +
  • +
+
+
+

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.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Quartile
  • +
+
+
+

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/stock-logistics-reporting project on GitHub.

+

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

+
+
+
+ + diff --git a/stock_picking_operations_multilang/tests/__init__.py b/stock_picking_operations_multilang/tests/__init__.py new file mode 100644 index 000000000..4ea4d2a30 --- /dev/null +++ b/stock_picking_operations_multilang/tests/__init__.py @@ -0,0 +1 @@ +from . import test_stock_picking_operations_multilang diff --git a/stock_picking_operations_multilang/tests/test_stock_picking_operations_multilang.py b/stock_picking_operations_multilang/tests/test_stock_picking_operations_multilang.py new file mode 100644 index 000000000..ff90f895a --- /dev/null +++ b/stock_picking_operations_multilang/tests/test_stock_picking_operations_multilang.py @@ -0,0 +1,53 @@ +# Copyright 2024 Quartile (https://www.quartile.co) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo.tests.common import TransactionCase + + +class TestPickingOperationsLanguage(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + ja = ( + cls.env["res.lang"] + .with_context(active_test=False) + .search([("code", "=", "ja_JP")]) + ) + cls.env["base.language.install"].create({"lang_ids": ja.ids}).lang_install() + cls.partner = cls.env["res.partner"].create( + {"name": "Test Partner", "lang": "ja_JP"} + ) + cls.picking_type_in = cls.env.ref("stock.picking_type_in") + cls.picking = cls.env["stock.picking"].create( + { + "partner_id": cls.partner.id, + "picking_type_id": cls.picking_type_in.id, + } + ) + cls.warehouse = cls.picking_type_in.warehouse_id + cls.report = cls.env.ref("stock.action_report_picking") + + def test_stock_picking_operations_language(self): + report_result = self.report._render_qweb_pdf(self.report.id, [self.picking.id]) + self.assertIn('lang="en-US"', str(report_result[0])) + + self.warehouse.picking_operation_language_option = "partner" + report_result = self.report._render_qweb_pdf(self.report.id, [self.picking.id]) + self.assertIn('lang="ja-JP"', str(report_result[0])) + + self.partner.lang = "en_US" + report_result = self.report._render_qweb_pdf(self.report.id, [self.picking.id]) + self.assertIn('lang="en-US"', str(report_result[0])) + + self.picking.partner_id = False + report_result = self.report._render_qweb_pdf(self.report.id, [self.picking.id]) + self.assertIn('lang="en-US"', str(report_result[0])) + + self.warehouse.picking_operation_language_option = "warehouse" + self.warehouse.warehouse_language = "ja_JP" + report_result = self.report._render_qweb_pdf(self.report.id, [self.picking.id]) + self.assertIn('lang="ja-JP"', str(report_result[0])) + + self.warehouse.warehouse_language = "en_US" + report_result = self.report._render_qweb_pdf(self.report.id, [self.picking.id]) + self.assertIn('lang="en-US"', str(report_result[0])) diff --git a/stock_picking_operations_multilang/views/stock_warehouse_views.xml b/stock_picking_operations_multilang/views/stock_warehouse_views.xml new file mode 100644 index 000000000..ca973921f --- /dev/null +++ b/stock_picking_operations_multilang/views/stock_warehouse_views.xml @@ -0,0 +1,17 @@ + + + stock.warehouse.inherit + stock.warehouse + + + + + + + + + + From a08c46a9f3ef6af1861f04689955deb279b229f5 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 23 Jul 2024 08:24:10 +0000 Subject: [PATCH 02/11] [UPD] Update stock_picking_operations_multilang.pot --- .../stock_picking_operations_multilang.pot | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 stock_picking_operations_multilang/i18n/stock_picking_operations_multilang.pot diff --git a/stock_picking_operations_multilang/i18n/stock_picking_operations_multilang.pot b/stock_picking_operations_multilang/i18n/stock_picking_operations_multilang.pot new file mode 100644 index 000000000..0ee1d49d6 --- /dev/null +++ b/stock_picking_operations_multilang/i18n/stock_picking_operations_multilang.pot @@ -0,0 +1,52 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_picking_operations_multilang +# +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" + +#. module: stock_picking_operations_multilang +#: model:ir.model.fields,field_description:stock_picking_operations_multilang.field_stock_warehouse__active_lang_count +msgid "Active Lang Count" +msgstr "" + +#. module: stock_picking_operations_multilang +#: model:ir.model.fields.selection,name:stock_picking_operations_multilang.selection__stock_warehouse__picking_operation_language_option__partner +msgid "Partner" +msgstr "" + +#. module: stock_picking_operations_multilang +#: model:ir.model.fields,help:stock_picking_operations_multilang.field_stock_warehouse__picking_operation_language_option +msgid "" +"Partner: Picking Operations report will use the partner's language.\n" +"Warehouse: Picking Operations report will use the language specified in the Warehouse Language field." +msgstr "" + +#. module: stock_picking_operations_multilang +#: model:ir.model.fields,field_description:stock_picking_operations_multilang.field_stock_warehouse__picking_operation_language_option +msgid "Picking Operation Language Option" +msgstr "" + +#. module: stock_picking_operations_multilang +#: model:ir.model,name:stock_picking_operations_multilang.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_picking_operations_multilang +#: model:ir.model,name:stock_picking_operations_multilang.model_stock_warehouse +#: model:ir.model.fields.selection,name:stock_picking_operations_multilang.selection__stock_warehouse__picking_operation_language_option__warehouse +msgid "Warehouse" +msgstr "" + +#. module: stock_picking_operations_multilang +#: model:ir.model.fields,field_description:stock_picking_operations_multilang.field_stock_warehouse__warehouse_language +msgid "Warehouse Language" +msgstr "" From 483cd1457978561c7e1b273b2c1404c19c16b400 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 23 Jul 2024 08:26:58 +0000 Subject: [PATCH 03/11] [BOT] post-merge updates --- stock_picking_operations_multilang/README.rst | 2 +- .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 13 ++++++++----- 3 files changed, 9 insertions(+), 6 deletions(-) create mode 100644 stock_picking_operations_multilang/static/description/icon.png diff --git a/stock_picking_operations_multilang/README.rst b/stock_picking_operations_multilang/README.rst index ce9f0a16b..35a0d76f6 100644 --- a/stock_picking_operations_multilang/README.rst +++ b/stock_picking_operations_multilang/README.rst @@ -7,7 +7,7 @@ Stock Picking Operations Multilang !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:328267fa42d8f3c10c273b62c58d184abd557aded9436a0a43797eff64bc1658 + !! source digest: sha256:e301724c958fef0657a754073634e521199abbe56ad82ef23154172409db57d6 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/stock_picking_operations_multilang/static/description/icon.png b/stock_picking_operations_multilang/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/stock_picking_operations_multilang/static/description/index.html b/stock_picking_operations_multilang/static/description/index.html index 0adfc8aed..430d7549d 100644 --- a/stock_picking_operations_multilang/static/description/index.html +++ b/stock_picking_operations_multilang/static/description/index.html @@ -8,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -274,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -300,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -366,7 +367,7 @@

Stock Picking Operations Multilang

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:328267fa42d8f3c10c273b62c58d184abd557aded9436a0a43797eff64bc1658 +!! source digest: sha256:e301724c958fef0657a754073634e521199abbe56ad82ef23154172409db57d6 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/stock-logistics-reporting Translate me on Weblate Try me on Runboat

This module allows printing the Picking Operations report in the partner’s or warehouse’s language, configurable at the warehouse level.

@@ -428,7 +429,9 @@

Authors

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.

From 6730761b99dbd7e73b326f27ac6fac6510f39a82 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 30 Jul 2024 09:38:28 +0000 Subject: [PATCH 04/11] Added translation using Weblate (Italian) --- stock_picking_operations_multilang/i18n/it.po | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 stock_picking_operations_multilang/i18n/it.po diff --git a/stock_picking_operations_multilang/i18n/it.po b/stock_picking_operations_multilang/i18n/it.po new file mode 100644 index 000000000..9ba41f32d --- /dev/null +++ b/stock_picking_operations_multilang/i18n/it.po @@ -0,0 +1,53 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_picking_operations_multilang +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: stock_picking_operations_multilang +#: model:ir.model.fields,field_description:stock_picking_operations_multilang.field_stock_warehouse__active_lang_count +msgid "Active Lang Count" +msgstr "" + +#. module: stock_picking_operations_multilang +#: model:ir.model.fields.selection,name:stock_picking_operations_multilang.selection__stock_warehouse__picking_operation_language_option__partner +msgid "Partner" +msgstr "" + +#. module: stock_picking_operations_multilang +#: model:ir.model.fields,help:stock_picking_operations_multilang.field_stock_warehouse__picking_operation_language_option +msgid "" +"Partner: Picking Operations report will use the partner's language.\n" +"Warehouse: Picking Operations report will use the language specified in the Warehouse Language field." +msgstr "" + +#. module: stock_picking_operations_multilang +#: model:ir.model.fields,field_description:stock_picking_operations_multilang.field_stock_warehouse__picking_operation_language_option +msgid "Picking Operation Language Option" +msgstr "" + +#. module: stock_picking_operations_multilang +#: model:ir.model,name:stock_picking_operations_multilang.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_picking_operations_multilang +#: model:ir.model,name:stock_picking_operations_multilang.model_stock_warehouse +#: model:ir.model.fields.selection,name:stock_picking_operations_multilang.selection__stock_warehouse__picking_operation_language_option__warehouse +msgid "Warehouse" +msgstr "" + +#. module: stock_picking_operations_multilang +#: model:ir.model.fields,field_description:stock_picking_operations_multilang.field_stock_warehouse__warehouse_language +msgid "Warehouse Language" +msgstr "" From ca917bd038e2d8e7301df2965cf7397e7fa01863 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 30 Jul 2024 09:39:28 +0000 Subject: [PATCH 05/11] Translated using Weblate (Italian) Currently translated at 100.0% (7 of 7 strings) Translation: stock-logistics-reporting-16.0/stock-logistics-reporting-16.0-stock_picking_operations_multilang Translate-URL: https://translation.odoo-community.org/projects/stock-logistics-reporting-16-0/stock-logistics-reporting-16-0-stock_picking_operations_multilang/it/ --- stock_picking_operations_multilang/i18n/it.po | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/stock_picking_operations_multilang/i18n/it.po b/stock_picking_operations_multilang/i18n/it.po index 9ba41f32d..3e1346173 100644 --- a/stock_picking_operations_multilang/i18n/it.po +++ b/stock_picking_operations_multilang/i18n/it.po @@ -6,23 +6,25 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-07-30 11:58+0000\n" +"Last-Translator: mymage \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 5.6.2\n" #. module: stock_picking_operations_multilang #: model:ir.model.fields,field_description:stock_picking_operations_multilang.field_stock_warehouse__active_lang_count msgid "Active Lang Count" -msgstr "" +msgstr "Numero lingue attive" #. module: stock_picking_operations_multilang #: model:ir.model.fields.selection,name:stock_picking_operations_multilang.selection__stock_warehouse__picking_operation_language_option__partner msgid "Partner" -msgstr "" +msgstr "Partner" #. module: stock_picking_operations_multilang #: model:ir.model.fields,help:stock_picking_operations_multilang.field_stock_warehouse__picking_operation_language_option @@ -30,24 +32,28 @@ msgid "" "Partner: Picking Operations report will use the partner's language.\n" "Warehouse: Picking Operations report will use the language specified in the Warehouse Language field." msgstr "" +"Partner: il resoconto operazioni del partner utilizzerà la lingua del " +"partner.\n" +"Magazzino: il resoconto operazioni del partner utilizzerà la lingua indicata " +"nel campo lingua magazzino." #. module: stock_picking_operations_multilang #: model:ir.model.fields,field_description:stock_picking_operations_multilang.field_stock_warehouse__picking_operation_language_option msgid "Picking Operation Language Option" -msgstr "" +msgstr "Opzione lingua operazione prelievo" #. module: stock_picking_operations_multilang #: model:ir.model,name:stock_picking_operations_multilang.model_stock_picking msgid "Transfer" -msgstr "" +msgstr "Trasferimento" #. module: stock_picking_operations_multilang #: model:ir.model,name:stock_picking_operations_multilang.model_stock_warehouse #: model:ir.model.fields.selection,name:stock_picking_operations_multilang.selection__stock_warehouse__picking_operation_language_option__warehouse msgid "Warehouse" -msgstr "" +msgstr "Magazzino" #. module: stock_picking_operations_multilang #: model:ir.model.fields,field_description:stock_picking_operations_multilang.field_stock_warehouse__warehouse_language msgid "Warehouse Language" -msgstr "" +msgstr "Lingua magazzino" From b6991ce4a63679098f907db8420e01dbbb53d6dd Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Mon, 10 Mar 2025 11:54:25 +0530 Subject: [PATCH 06/11] [IMP] stock_picking_operations_multilang: pre-commit auto fixes --- stock_picking_operations_multilang/README.rst | 48 +++++++++++-------- .../pyproject.toml | 3 ++ .../readme/CONFIGURE.md | 14 ++++++ .../readme/CONFIGURE.rst | 8 ---- .../readme/CONTEXT.md | 7 +++ .../readme/CONTEXT.rst | 5 -- .../readme/DESCRIPTION.md | 2 + .../readme/DESCRIPTION.rst | 1 - .../static/description/index.html | 37 +++++++------- 9 files changed, 75 insertions(+), 50 deletions(-) create mode 100644 stock_picking_operations_multilang/pyproject.toml create mode 100644 stock_picking_operations_multilang/readme/CONFIGURE.md delete mode 100644 stock_picking_operations_multilang/readme/CONFIGURE.rst create mode 100644 stock_picking_operations_multilang/readme/CONTEXT.md delete mode 100644 stock_picking_operations_multilang/readme/CONTEXT.rst create mode 100644 stock_picking_operations_multilang/readme/DESCRIPTION.md delete mode 100644 stock_picking_operations_multilang/readme/DESCRIPTION.rst diff --git a/stock_picking_operations_multilang/README.rst b/stock_picking_operations_multilang/README.rst index 35a0d76f6..bcc4b7f2e 100644 --- a/stock_picking_operations_multilang/README.rst +++ b/stock_picking_operations_multilang/README.rst @@ -17,18 +17,19 @@ Stock Picking Operations Multilang :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--reporting-lightgray.png?logo=github - :target: https://github.com/OCA/stock-logistics-reporting/tree/16.0/stock_picking_operations_multilang + :target: https://github.com/OCA/stock-logistics-reporting/tree/18.0/stock_picking_operations_multilang :alt: OCA/stock-logistics-reporting .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/stock-logistics-reporting-16-0/stock-logistics-reporting-16-0-stock_picking_operations_multilang + :target: https://translation.odoo-community.org/projects/stock-logistics-reporting-18-0/stock-logistics-reporting-18-0-stock_picking_operations_multilang :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/stock-logistics-reporting&target_branch=16.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-reporting&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| -This module allows printing the Picking Operations report in the partner's or warehouse's language, configurable at the warehouse level. +This module allows printing the Picking Operations report in the +partner's or warehouse's language, configurable at the warehouse level. **Table of contents** @@ -38,23 +39,32 @@ This module allows printing the Picking Operations report in the partner's or wa Use Cases / Context =================== -When a company operates internationally, employees from different countries may encounter language barriers. -For instance, a warehouse manager who only understands his native language might face difficulties -if the Picking Operations report is in a different language. This module addresses such scenarios -by enabling the customization of the Picking Operations report language, ensuring it matches -the language preferences of the warehouse manager or the partner. +When a company operates internationally, employees from different +countries may encounter language barriers. For instance, a warehouse +manager who only understands his native language might face difficulties +if the Picking Operations report is in a different language. This module +addresses such scenarios by enabling the customization of the Picking +Operations report language, ensuring it matches the language preferences +of the warehouse manager or the partner. Configuration ============= To set up a specific language for Picking Operations: -* Go to Inventory > Configuration > Warehouses. -* Select the warehouse for which you want to set up the language for the Picking Operations report. -* Choose the Picking Operation Language option. There are two options: - * Partner: It will use the language of the partner for the picking. If there is no partner for the picking, it will use the standard behavior of Odoo. - * Warehouse: If you select this option, you must fill in the Warehouse Language field, and this will be applied to Picking Operations. - * If left blank, it will use the standard behavior of Odoo. +- Go to Inventory > Configuration > Warehouses. + +- Select the warehouse for which you want to set up the language for the + Picking Operations report. + +- Choose the Picking Operation Language option. There are two options: + + - Partner: It will use the language of the partner for the picking. If + there is no partner for the picking, it will use the standard + behavior of Odoo. + - Warehouse: If you select this option, you must fill in the Warehouse + Language field, and this will be applied to Picking Operations. + - If left blank, it will use the standard behavior of Odoo. Bug Tracker =========== @@ -62,7 +72,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. @@ -70,12 +80,12 @@ Credits ======= Authors -~~~~~~~ +------- * Quartile Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -87,6 +97,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/stock-logistics-reporting `_ project on GitHub. +This module is part of the `OCA/stock-logistics-reporting `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/stock_picking_operations_multilang/pyproject.toml b/stock_picking_operations_multilang/pyproject.toml new file mode 100644 index 000000000..4231d0ccc --- /dev/null +++ b/stock_picking_operations_multilang/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/stock_picking_operations_multilang/readme/CONFIGURE.md b/stock_picking_operations_multilang/readme/CONFIGURE.md new file mode 100644 index 000000000..8a313540a --- /dev/null +++ b/stock_picking_operations_multilang/readme/CONFIGURE.md @@ -0,0 +1,14 @@ +To set up a specific language for Picking Operations: + +- Go to Inventory \> Configuration \> Warehouses. + +- Select the warehouse for which you want to set up the language for the + Picking Operations report. + +- Choose the Picking Operation Language option. There are two options: + - Partner: It will use the language of the partner for the picking. If + there is no partner for the picking, it will use the standard + behavior of Odoo. + - Warehouse: If you select this option, you must fill in the Warehouse + Language field, and this will be applied to Picking Operations. + - If left blank, it will use the standard behavior of Odoo. diff --git a/stock_picking_operations_multilang/readme/CONFIGURE.rst b/stock_picking_operations_multilang/readme/CONFIGURE.rst deleted file mode 100644 index 6066c2d91..000000000 --- a/stock_picking_operations_multilang/readme/CONFIGURE.rst +++ /dev/null @@ -1,8 +0,0 @@ -To set up a specific language for Picking Operations: - -* Go to Inventory > Configuration > Warehouses. -* Select the warehouse for which you want to set up the language for the Picking Operations report. -* Choose the Picking Operation Language option. There are two options: - * Partner: It will use the language of the partner for the picking. If there is no partner for the picking, it will use the standard behavior of Odoo. - * Warehouse: If you select this option, you must fill in the Warehouse Language field, and this will be applied to Picking Operations. - * If left blank, it will use the standard behavior of Odoo. diff --git a/stock_picking_operations_multilang/readme/CONTEXT.md b/stock_picking_operations_multilang/readme/CONTEXT.md new file mode 100644 index 000000000..fddb54af2 --- /dev/null +++ b/stock_picking_operations_multilang/readme/CONTEXT.md @@ -0,0 +1,7 @@ +When a company operates internationally, employees from different +countries may encounter language barriers. For instance, a warehouse +manager who only understands his native language might face difficulties +if the Picking Operations report is in a different language. This module +addresses such scenarios by enabling the customization of the Picking +Operations report language, ensuring it matches the language preferences +of the warehouse manager or the partner. diff --git a/stock_picking_operations_multilang/readme/CONTEXT.rst b/stock_picking_operations_multilang/readme/CONTEXT.rst deleted file mode 100644 index 2500a1d1e..000000000 --- a/stock_picking_operations_multilang/readme/CONTEXT.rst +++ /dev/null @@ -1,5 +0,0 @@ -When a company operates internationally, employees from different countries may encounter language barriers. -For instance, a warehouse manager who only understands his native language might face difficulties -if the Picking Operations report is in a different language. This module addresses such scenarios -by enabling the customization of the Picking Operations report language, ensuring it matches -the language preferences of the warehouse manager or the partner. diff --git a/stock_picking_operations_multilang/readme/DESCRIPTION.md b/stock_picking_operations_multilang/readme/DESCRIPTION.md new file mode 100644 index 000000000..6876a8206 --- /dev/null +++ b/stock_picking_operations_multilang/readme/DESCRIPTION.md @@ -0,0 +1,2 @@ +This module allows printing the Picking Operations report in the +partner's or warehouse's language, configurable at the warehouse level. diff --git a/stock_picking_operations_multilang/readme/DESCRIPTION.rst b/stock_picking_operations_multilang/readme/DESCRIPTION.rst deleted file mode 100644 index 2a9905c73..000000000 --- a/stock_picking_operations_multilang/readme/DESCRIPTION.rst +++ /dev/null @@ -1 +0,0 @@ -This module allows printing the Picking Operations report in the partner's or warehouse's language, configurable at the warehouse level. diff --git a/stock_picking_operations_multilang/static/description/index.html b/stock_picking_operations_multilang/static/description/index.html index 430d7549d..ada9ab8b2 100644 --- a/stock_picking_operations_multilang/static/description/index.html +++ b/stock_picking_operations_multilang/static/description/index.html @@ -369,8 +369,9 @@

Stock Picking Operations Multilang

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:e301724c958fef0657a754073634e521199abbe56ad82ef23154172409db57d6 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/stock-logistics-reporting Translate me on Weblate Try me on Runboat

-

This module allows printing the Picking Operations report in the partner’s or warehouse’s language, configurable at the warehouse level.

+

Beta License: AGPL-3 OCA/stock-logistics-reporting Translate me on Weblate Try me on Runboat

+

This module allows printing the Picking Operations report in the +partner’s or warehouse’s language, configurable at the warehouse level.

Table of contents

    @@ -386,27 +387,29 @@

    Stock Picking Operations Multilang

Use Cases / Context

-

When a company operates internationally, employees from different countries may encounter language barriers. -For instance, a warehouse manager who only understands his native language might face difficulties -if the Picking Operations report is in a different language. This module addresses such scenarios -by enabling the customization of the Picking Operations report language, ensuring it matches -the language preferences of the warehouse manager or the partner.

+

When a company operates internationally, employees from different +countries may encounter language barriers. For instance, a warehouse +manager who only understands his native language might face difficulties +if the Picking Operations report is in a different language. This module +addresses such scenarios by enabling the customization of the Picking +Operations report language, ensuring it matches the language preferences +of the warehouse manager or the partner.

Configuration

To set up a specific language for Picking Operations:

  • Go to Inventory > Configuration > Warehouses.
  • -
  • Select the warehouse for which you want to set up the language for the Picking Operations report.
  • -
  • -
    Choose the Picking Operation Language option. There are two options:
    -
      -
    • Partner: It will use the language of the partner for the picking. If there is no partner for the picking, it will use the standard behavior of Odoo.
    • -
    • Warehouse: If you select this option, you must fill in the Warehouse Language field, and this will be applied to Picking Operations.
    • +
    • Select the warehouse for which you want to set up the language for the +Picking Operations report.
    • +
    • Choose the Picking Operation Language option. There are two options:
        +
      • Partner: It will use the language of the partner for the picking. If +there is no partner for the picking, it will use the standard +behavior of Odoo.
      • +
      • Warehouse: If you select this option, you must fill in the Warehouse +Language field, and this will be applied to Picking Operations.
      • If left blank, it will use the standard behavior of Odoo.
      -
    -
@@ -415,7 +418,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.

@@ -435,7 +438,7 @@

Maintainers

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/stock-logistics-reporting project on GitHub.

+

This module is part of the OCA/stock-logistics-reporting project on GitHub.

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

From ef2ced281fea826bfd2c255de72d585923e668e7 Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Mon, 10 Mar 2025 11:56:40 +0530 Subject: [PATCH 07/11] [MIG] stock_picking_operations_multilang: Migration to 18.0 --- stock_picking_operations_multilang/README.rst | 7 +++++++ .../__manifest__.py | 2 +- stock_picking_operations_multilang/hooks.py | 6 +++--- .../readme/CONTRIBUTORS.md | 2 ++ .../static/description/index.html | 14 ++++++++++++-- .../test_stock_picking_operations_multilang.py | 17 +++++++++++++++-- .../views/stock_warehouse_views.xml | 3 ++- 7 files changed, 42 insertions(+), 9 deletions(-) create mode 100644 stock_picking_operations_multilang/readme/CONTRIBUTORS.md diff --git a/stock_picking_operations_multilang/README.rst b/stock_picking_operations_multilang/README.rst index bcc4b7f2e..3c641ff41 100644 --- a/stock_picking_operations_multilang/README.rst +++ b/stock_picking_operations_multilang/README.rst @@ -84,6 +84,13 @@ Authors * Quartile +Contributors +------------ + +- `Heliconia Solutions Pvt. Ltd. `__ + + - Bhavesh Heliconia + Maintainers ----------- diff --git a/stock_picking_operations_multilang/__manifest__.py b/stock_picking_operations_multilang/__manifest__.py index b1c09ffca..437a704b1 100644 --- a/stock_picking_operations_multilang/__manifest__.py +++ b/stock_picking_operations_multilang/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Stock Picking Operations Multilang", - "version": "16.0.1.0.0", + "version": "18.0.1.0.0", "category": "Reporting", "website": "https://github.com/OCA/stock-logistics-reporting", "author": "Quartile, Odoo Community Association (OCA)", diff --git a/stock_picking_operations_multilang/hooks.py b/stock_picking_operations_multilang/hooks.py index acd5381c0..f8d2ca19a 100644 --- a/stock_picking_operations_multilang/hooks.py +++ b/stock_picking_operations_multilang/hooks.py @@ -1,8 +1,8 @@ from odoo.api import SUPERUSER_ID, Environment -def uninstall_hook(cr, registry): - env = Environment(cr, SUPERUSER_ID, {}) - report_action = env.ref("stock.action_report_picking", raise_if_not_found=False) +def uninstall_hook(env): + envs = Environment(env.cr, SUPERUSER_ID, {}) + report_action = envs.ref("stock.action_report_picking", raise_if_not_found=False) if report_action: report_action.write({"report_name": "stock.report_picking"}) diff --git a/stock_picking_operations_multilang/readme/CONTRIBUTORS.md b/stock_picking_operations_multilang/readme/CONTRIBUTORS.md new file mode 100644 index 000000000..2f6060845 --- /dev/null +++ b/stock_picking_operations_multilang/readme/CONTRIBUTORS.md @@ -0,0 +1,2 @@ +- [Heliconia Solutions Pvt. Ltd.](https://www.heliconia.io) + - Bhavesh Heliconia diff --git a/stock_picking_operations_multilang/static/description/index.html b/stock_picking_operations_multilang/static/description/index.html index ada9ab8b2..991641db9 100644 --- a/stock_picking_operations_multilang/static/description/index.html +++ b/stock_picking_operations_multilang/static/description/index.html @@ -380,7 +380,8 @@

Stock Picking Operations Multilang

  • Bug Tracker
  • Credits
  • @@ -429,8 +430,17 @@

    Authors

  • Quartile
  • +
    +

    Contributors

    + +
    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    Odoo Community Association diff --git a/stock_picking_operations_multilang/tests/test_stock_picking_operations_multilang.py b/stock_picking_operations_multilang/tests/test_stock_picking_operations_multilang.py index ff90f895a..17044e0e1 100644 --- a/stock_picking_operations_multilang/tests/test_stock_picking_operations_multilang.py +++ b/stock_picking_operations_multilang/tests/test_stock_picking_operations_multilang.py @@ -1,10 +1,10 @@ # Copyright 2024 Quartile (https://www.quartile.co) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -from odoo.tests.common import TransactionCase +from odoo.addons.base.tests.common import BaseCommon -class TestPickingOperationsLanguage(TransactionCase): +class TestPickingOperationsLanguage(BaseCommon): @classmethod def setUpClass(cls): super().setUpClass() @@ -51,3 +51,16 @@ def test_stock_picking_operations_language(self): self.warehouse.warehouse_language = "en_US" report_result = self.report._render_qweb_pdf(self.report.id, [self.picking.id]) self.assertIn('lang="en-US"', str(report_result[0])) + + def test_active_lang_count(self): + """Test computation of active_lang_count""" + self.assertGreater(self.warehouse.active_lang_count, 0) + + # Simulate change in warehouse_language + self.warehouse.warehouse_language = "ja_JP" + self.warehouse._compute_active_lang_count() + + # Ensure the computed count remains correct + self.assertEqual( + self.warehouse.active_lang_count, len(self.env["res.lang"].get_installed()) + ) diff --git a/stock_picking_operations_multilang/views/stock_warehouse_views.xml b/stock_picking_operations_multilang/views/stock_warehouse_views.xml index ca973921f..cf853dcee 100644 --- a/stock_picking_operations_multilang/views/stock_warehouse_views.xml +++ b/stock_picking_operations_multilang/views/stock_warehouse_views.xml @@ -8,7 +8,8 @@ From e1bcbd565c9b6146502846034bbc5ce1813b241c Mon Sep 17 00:00:00 2001 From: oca-ci Date: Mon, 6 Oct 2025 10:00:27 +0000 Subject: [PATCH 08/11] [UPD] Update stock_picking_operations_multilang.pot --- .../i18n/stock_picking_operations_multilang.pot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stock_picking_operations_multilang/i18n/stock_picking_operations_multilang.pot b/stock_picking_operations_multilang/i18n/stock_picking_operations_multilang.pot index 0ee1d49d6..10fcd81af 100644 --- a/stock_picking_operations_multilang/i18n/stock_picking_operations_multilang.pot +++ b/stock_picking_operations_multilang/i18n/stock_picking_operations_multilang.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 18.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" From 27a3f65a8cc17bd88a391928e527210408a1e92e Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 6 Oct 2025 10:04:19 +0000 Subject: [PATCH 09/11] [BOT] post-merge updates --- stock_picking_operations_multilang/README.rst | 8 +++-- .../static/description/index.html | 30 +++++++++++-------- 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/stock_picking_operations_multilang/README.rst b/stock_picking_operations_multilang/README.rst index 3c641ff41..fa19fac69 100644 --- a/stock_picking_operations_multilang/README.rst +++ b/stock_picking_operations_multilang/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ================================== Stock Picking Operations Multilang ================================== @@ -7,13 +11,13 @@ Stock Picking Operations Multilang !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:e301724c958fef0657a754073634e521199abbe56ad82ef23154172409db57d6 + !! source digest: sha256:29fc9a1fe651284faa3d38d8d6545157dac262b5926a1e1a2f0d981e8e4a1e47 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |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 +.. |badge2| image:: https://img.shields.io/badge/license-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%2Fstock--logistics--reporting-lightgray.png?logo=github diff --git a/stock_picking_operations_multilang/static/description/index.html b/stock_picking_operations_multilang/static/description/index.html index 991641db9..1f2b08a67 100644 --- a/stock_picking_operations_multilang/static/description/index.html +++ b/stock_picking_operations_multilang/static/description/index.html @@ -3,7 +3,7 @@ -Stock Picking Operations Multilang +README.rst -
    -

    Stock Picking Operations Multilang

    +
    + + +Odoo Community Association + +
    +

    Stock Picking Operations Multilang

    -

    Beta License: AGPL-3 OCA/stock-logistics-reporting Translate me on Weblate Try me on Runboat

    +

    Beta License: AGPL-3 OCA/stock-logistics-reporting Translate me on Weblate Try me on Runboat

    This module allows printing the Picking Operations report in the partner’s or warehouse’s language, configurable at the warehouse level.

    Table of contents

    @@ -387,7 +392,7 @@

    Stock Picking Operations Multilang

    -

    Use Cases / Context

    +

    Use Cases / Context

    When a company operates internationally, employees from different countries may encounter language barriers. For instance, a warehouse manager who only understands his native language might face difficulties @@ -397,7 +402,7 @@

    Use Cases / Context

    of the warehouse manager or the partner.

    -

    Configuration

    +

    Configuration

    To set up a specific language for Picking Operations:

    • Go to Inventory > Configuration > Warehouses.
    • @@ -415,7 +420,7 @@

      Configuration

    -

    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 @@ -423,15 +428,15 @@

    Bug Tracker

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

    -

    Credits

    +

    Credits

    -

    Authors

    +

    Authors

    • Quartile
    -

    Contributors

    +

    Contributors

    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

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

    Maintainers

    +
    From 235479b06bc582f57b5c14cc5f2f9aba7fba2562 Mon Sep 17 00:00:00 2001 From: Ryoko Tsuda Date: Wed, 26 Nov 2025 02:42:36 +0000 Subject: [PATCH 10/11] Added translation using Weblate (Japanese) --- stock_picking_operations_multilang/i18n/ja.po | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 stock_picking_operations_multilang/i18n/ja.po diff --git a/stock_picking_operations_multilang/i18n/ja.po b/stock_picking_operations_multilang/i18n/ja.po new file mode 100644 index 000000000..eced972d6 --- /dev/null +++ b/stock_picking_operations_multilang/i18n/ja.po @@ -0,0 +1,53 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_picking_operations_multilang +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: stock_picking_operations_multilang +#: model:ir.model.fields,field_description:stock_picking_operations_multilang.field_stock_warehouse__active_lang_count +msgid "Active Lang Count" +msgstr "" + +#. module: stock_picking_operations_multilang +#: model:ir.model.fields.selection,name:stock_picking_operations_multilang.selection__stock_warehouse__picking_operation_language_option__partner +msgid "Partner" +msgstr "" + +#. module: stock_picking_operations_multilang +#: model:ir.model.fields,help:stock_picking_operations_multilang.field_stock_warehouse__picking_operation_language_option +msgid "" +"Partner: Picking Operations report will use the partner's language.\n" +"Warehouse: Picking Operations report will use the language specified in the Warehouse Language field." +msgstr "" + +#. module: stock_picking_operations_multilang +#: model:ir.model.fields,field_description:stock_picking_operations_multilang.field_stock_warehouse__picking_operation_language_option +msgid "Picking Operation Language Option" +msgstr "" + +#. module: stock_picking_operations_multilang +#: model:ir.model,name:stock_picking_operations_multilang.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_picking_operations_multilang +#: model:ir.model,name:stock_picking_operations_multilang.model_stock_warehouse +#: model:ir.model.fields.selection,name:stock_picking_operations_multilang.selection__stock_warehouse__picking_operation_language_option__warehouse +msgid "Warehouse" +msgstr "" + +#. module: stock_picking_operations_multilang +#: model:ir.model.fields,field_description:stock_picking_operations_multilang.field_stock_warehouse__warehouse_language +msgid "Warehouse Language" +msgstr "" From 711a7ff29aee31ca438ebb847920c98ef30a0ab2 Mon Sep 17 00:00:00 2001 From: Sadiq-OSI Date: Fri, 26 Jun 2026 14:53:41 -0400 Subject: [PATCH 11/11] [19.0][MIG] stock_picking_operations_multilang: Migration to 19.0 --- README.md | 1 + setup/_metapackage/pyproject.toml | 1 + stock_picking_operations_multilang/README.rst | 10 +- .../__manifest__.py | 2 +- stock_picking_operations_multilang/hooks.py | 6 +- .../stock_picking_operations_multilang.pot | 2 +- .../models/stock_picking.py | 13 ++- .../reports/report_picking_with_language.xml | 1 + .../static/description/index.html | 6 +- ...test_stock_picking_operations_multilang.py | 91 ++++++++++++++++--- 10 files changed, 100 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index bd376d698..b8af0e6aa 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ Available addons ---------------- addon | version | maintainers | summary --- | --- | --- | --- +[stock_picking_operations_multilang](stock_picking_operations_multilang/) | 19.0.1.0.0 | | Stock Picking Operations Multilang [stock_picking_report_external_note](stock_picking_report_external_note/) | 19.0.1.0.0 | Shide | Adds a note in Stock Picking shown on external reports like Delivery Slip [stock_picking_report_valued](stock_picking_report_valued/) | 19.0.1.0.0 | | Adding Valued Picking on Delivery Slip report [stock_product_demand_info](stock_product_demand_info/) | 19.0.1.1.0 | ivantodorovich | Past demand by configurable periods on product and orderpoint diff --git a/setup/_metapackage/pyproject.toml b/setup/_metapackage/pyproject.toml index 475b13470..9da61d825 100644 --- a/setup/_metapackage/pyproject.toml +++ b/setup/_metapackage/pyproject.toml @@ -2,6 +2,7 @@ name = "odoo-addons-oca-stock-logistics-reporting" version = "19.0.20260317.0" dependencies = [ + "odoo-addon-stock_picking_operations_multilang==19.0.*", "odoo-addon-stock_picking_report_external_note==19.0.*", "odoo-addon-stock_picking_report_valued==19.0.*", "odoo-addon-stock_product_demand_info==19.0.*", diff --git a/stock_picking_operations_multilang/README.rst b/stock_picking_operations_multilang/README.rst index fa19fac69..f4078f0c8 100644 --- a/stock_picking_operations_multilang/README.rst +++ b/stock_picking_operations_multilang/README.rst @@ -21,13 +21,13 @@ Stock Picking Operations Multilang :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--reporting-lightgray.png?logo=github - :target: https://github.com/OCA/stock-logistics-reporting/tree/18.0/stock_picking_operations_multilang + :target: https://github.com/OCA/stock-logistics-reporting/tree/19.0/stock_picking_operations_multilang :alt: OCA/stock-logistics-reporting .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/stock-logistics-reporting-18-0/stock-logistics-reporting-18-0-stock_picking_operations_multilang + :target: https://translation.odoo-community.org/projects/stock-logistics-reporting-19-0/stock-logistics-reporting-19-0-stock_picking_operations_multilang :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/stock-logistics-reporting&target_branch=18.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-reporting&target_branch=19.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -76,7 +76,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. @@ -108,6 +108,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/stock-logistics-reporting `_ project on GitHub. +This module is part of the `OCA/stock-logistics-reporting `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/stock_picking_operations_multilang/__manifest__.py b/stock_picking_operations_multilang/__manifest__.py index 437a704b1..cdd4ebcca 100644 --- a/stock_picking_operations_multilang/__manifest__.py +++ b/stock_picking_operations_multilang/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Stock Picking Operations Multilang", - "version": "18.0.1.0.0", + "version": "19.0.1.0.0", "category": "Reporting", "website": "https://github.com/OCA/stock-logistics-reporting", "author": "Quartile, Odoo Community Association (OCA)", diff --git a/stock_picking_operations_multilang/hooks.py b/stock_picking_operations_multilang/hooks.py index f8d2ca19a..cf5f45393 100644 --- a/stock_picking_operations_multilang/hooks.py +++ b/stock_picking_operations_multilang/hooks.py @@ -1,8 +1,4 @@ -from odoo.api import SUPERUSER_ID, Environment - - def uninstall_hook(env): - envs = Environment(env.cr, SUPERUSER_ID, {}) - report_action = envs.ref("stock.action_report_picking", raise_if_not_found=False) + report_action = env.ref("stock.action_report_picking", raise_if_not_found=False) if report_action: report_action.write({"report_name": "stock.report_picking"}) diff --git a/stock_picking_operations_multilang/i18n/stock_picking_operations_multilang.pot b/stock_picking_operations_multilang/i18n/stock_picking_operations_multilang.pot index 10fcd81af..b7a3f4193 100644 --- a/stock_picking_operations_multilang/i18n/stock_picking_operations_multilang.pot +++ b/stock_picking_operations_multilang/i18n/stock_picking_operations_multilang.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 18.0\n" +"Project-Id-Version: Odoo Server 19.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" diff --git a/stock_picking_operations_multilang/models/stock_picking.py b/stock_picking_operations_multilang/models/stock_picking.py index 7d52fc68f..3bff60e97 100644 --- a/stock_picking_operations_multilang/models/stock_picking.py +++ b/stock_picking_operations_multilang/models/stock_picking.py @@ -8,9 +8,16 @@ class StockPicking(models.Model): _inherit = "stock.picking" def _get_picking_operations_lang(self): + self.ensure_one() warehouse = self.picking_type_id.warehouse_id - if warehouse.picking_operation_language_option == "partner" and self.partner_id: + if ( + warehouse.picking_operation_language_option == "partner" + and self.partner_id.lang + ): return self.partner_id.lang - if warehouse.picking_operation_language_option == "warehouse": + if ( + warehouse.picking_operation_language_option == "warehouse" + and warehouse.warehouse_language + ): return warehouse.warehouse_language - return self.env.user.lang + return self._get_report_lang() or self.env.user.lang or self.env.lang diff --git a/stock_picking_operations_multilang/reports/report_picking_with_language.xml b/stock_picking_operations_multilang/reports/report_picking_with_language.xml index a1f63f0c4..bf6a98772 100644 --- a/stock_picking_operations_multilang/reports/report_picking_with_language.xml +++ b/stock_picking_operations_multilang/reports/report_picking_with_language.xml @@ -3,6 +3,7 @@ diff --git a/stock_picking_operations_multilang/static/description/index.html b/stock_picking_operations_multilang/static/description/index.html index 1f2b08a67..49e387dc7 100644 --- a/stock_picking_operations_multilang/static/description/index.html +++ b/stock_picking_operations_multilang/static/description/index.html @@ -374,7 +374,7 @@

    Stock Picking Operations Multilang

    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:29fc9a1fe651284faa3d38d8d6545157dac262b5926a1e1a2f0d981e8e4a1e47 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

    Beta License: AGPL-3 OCA/stock-logistics-reporting Translate me on Weblate Try me on Runboat

    +

    Beta License: AGPL-3 OCA/stock-logistics-reporting Translate me on Weblate Try me on Runboat

    This module allows printing the Picking Operations report in the partner’s or warehouse’s language, configurable at the warehouse level.

    Table of contents

    @@ -424,7 +424,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.

    @@ -453,7 +453,7 @@

    Maintainers

    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/stock-logistics-reporting project on GitHub.

    +

    This module is part of the OCA/stock-logistics-reporting project on GitHub.

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

    diff --git a/stock_picking_operations_multilang/tests/test_stock_picking_operations_multilang.py b/stock_picking_operations_multilang/tests/test_stock_picking_operations_multilang.py index 17044e0e1..40e98a713 100644 --- a/stock_picking_operations_multilang/tests/test_stock_picking_operations_multilang.py +++ b/stock_picking_operations_multilang/tests/test_stock_picking_operations_multilang.py @@ -1,10 +1,15 @@ # Copyright 2024 Quartile (https://www.quartile.co) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -from odoo.addons.base.tests.common import BaseCommon +from unittest.mock import patch +from odoo import Command -class TestPickingOperationsLanguage(BaseCommon): +from odoo.addons.stock.tests.common import TestStockCommon +from odoo.addons.stock_picking_operations_multilang.hooks import uninstall_hook + + +class TestPickingOperationsLanguage(TestStockCommon): @classmethod def setUpClass(cls): super().setUpClass() @@ -17,7 +22,6 @@ def setUpClass(cls): cls.partner = cls.env["res.partner"].create( {"name": "Test Partner", "lang": "ja_JP"} ) - cls.picking_type_in = cls.env.ref("stock.picking_type_in") cls.picking = cls.env["stock.picking"].create( { "partner_id": cls.partner.id, @@ -26,35 +30,83 @@ def setUpClass(cls): ) cls.warehouse = cls.picking_type_in.warehouse_id cls.report = cls.env.ref("stock.action_report_picking") + cls.product_for_report = cls.env["product.product"].create( + {"name": "English Product", "is_storable": True} + ) + cls.product_for_report.with_context(lang="ja_JP").name = "Translated Product" + + def _render_report_html(self, picking): + with patch( + "odoo.addons.base.models.ir_actions_report.IrActionsReport.barcode", + return_value=b"", + ): + result = self.report._render_qweb_html(self.report.id, [picking.id])[0] + return result.decode() if isinstance(result, bytes) else result def test_stock_picking_operations_language(self): - report_result = self.report._render_qweb_pdf(self.report.id, [self.picking.id]) - self.assertIn('lang="en-US"', str(report_result[0])) + report_html = self._render_report_html(self.picking) + self.assertIn('lang="ja-JP"', report_html) + self.assertEqual(self.picking._get_picking_operations_lang(), "ja_JP") self.warehouse.picking_operation_language_option = "partner" - report_result = self.report._render_qweb_pdf(self.report.id, [self.picking.id]) - self.assertIn('lang="ja-JP"', str(report_result[0])) + report_html = self._render_report_html(self.picking) + self.assertIn('lang="ja-JP"', report_html) + self.assertEqual(self.picking._get_picking_operations_lang(), "ja_JP") self.partner.lang = "en_US" - report_result = self.report._render_qweb_pdf(self.report.id, [self.picking.id]) - self.assertIn('lang="en-US"', str(report_result[0])) + report_html = self._render_report_html(self.picking) + self.assertIn("Receipt", report_html) + self.assertEqual(self.picking._get_picking_operations_lang(), "en_US") self.picking.partner_id = False - report_result = self.report._render_qweb_pdf(self.report.id, [self.picking.id]) - self.assertIn('lang="en-US"', str(report_result[0])) + report_html = self._render_report_html(self.picking) + self.assertIn("Receipt", report_html) + self.assertEqual(self.picking._get_picking_operations_lang(), "en_US") self.warehouse.picking_operation_language_option = "warehouse" self.warehouse.warehouse_language = "ja_JP" - report_result = self.report._render_qweb_pdf(self.report.id, [self.picking.id]) - self.assertIn('lang="ja-JP"', str(report_result[0])) + report_html = self._render_report_html(self.picking) + self.assertIn('lang="ja-JP"', report_html) + self.assertEqual(self.picking._get_picking_operations_lang(), "ja_JP") self.warehouse.warehouse_language = "en_US" - report_result = self.report._render_qweb_pdf(self.report.id, [self.picking.id]) - self.assertIn('lang="en-US"', str(report_result[0])) + report_html = self._render_report_html(self.picking) + self.assertIn("Receipt", report_html) + self.assertEqual(self.picking._get_picking_operations_lang(), "en_US") + + def test_report_uses_translated_field_values(self): + self.warehouse.picking_operation_language_option = "warehouse" + self.warehouse.warehouse_language = "ja_JP" + picking = self.env["stock.picking"].create( + { + "location_id": self.supplier_location.id, + "location_dest_id": self.stock_location.id, + "picking_type_id": self.picking_type_in.id, + "move_line_ids": [ + Command.create( + { + "product_id": self.product_for_report.id, + "product_uom_id": self.product_for_report.uom_id.id, + "location_id": self.supplier_location.id, + "location_dest_id": self.stock_location.id, + "quantity": 1, + } + ) + ], + } + ) + + report_html = self._render_report_html(picking) + + self.assertIn('lang="ja-JP"', report_html) + self.assertIn("Translated Product", report_html) def test_active_lang_count(self): """Test computation of active_lang_count""" self.assertGreater(self.warehouse.active_lang_count, 0) + self.assertEqual( + self.warehouse._lang_get(), self.env["res.lang"].get_installed() + ) # Simulate change in warehouse_language self.warehouse.warehouse_language = "ja_JP" @@ -64,3 +116,12 @@ def test_active_lang_count(self): self.assertEqual( self.warehouse.active_lang_count, len(self.env["res.lang"].get_installed()) ) + + def test_uninstall_hook_restores_report_name(self): + self.report.report_name = ( + "stock_picking_operations_multilang.report_picking_with_language" + ) + + uninstall_hook(self.env) + + self.assertEqual(self.report.report_name, "stock.report_picking")