From fea1f233142ad9b4c359caf0274329e97590c987 Mon Sep 17 00:00:00 2001 From: Unai Beristain Date: Mon, 20 Jan 2025 13:33:00 +0100 Subject: [PATCH 1/2] [ADD] delivery_package_number_report: Add number_of_packages field in report --- delivery_package_number_report/README.rst | 68 +++++++++++++++++++ delivery_package_number_report/__init__.py | 0 .../__manifest__.py | 14 ++++ delivery_package_number_report/i18n/ca_ES.po | 21 ++++++ delivery_package_number_report/i18n/es.po | 21 ++++++ .../delivery_package_number_report_view.xml | 13 ++++ .../addons/delivery_package_number_report | 1 + setup/delivery_package_number_report/setup.py | 6 ++ 8 files changed, 144 insertions(+) create mode 100644 delivery_package_number_report/README.rst create mode 100644 delivery_package_number_report/__init__.py create mode 100644 delivery_package_number_report/__manifest__.py create mode 100644 delivery_package_number_report/i18n/ca_ES.po create mode 100644 delivery_package_number_report/i18n/es.po create mode 100644 delivery_package_number_report/views/delivery_package_number_report_view.xml create mode 120000 setup/delivery_package_number_report/odoo/addons/delivery_package_number_report create mode 100644 setup/delivery_package_number_report/setup.py diff --git a/delivery_package_number_report/README.rst b/delivery_package_number_report/README.rst new file mode 100644 index 0000000000..475d43eb3c --- /dev/null +++ b/delivery_package_number_report/README.rst @@ -0,0 +1,68 @@ +.. image:: https://img.shields.io/badge/license-LGPL--3-blue.svg + :target: https://opensource.org/licenses/LGPL-3.0 + :alt: License: LGPL-3 + +======================================================== +Delivery Package Number Report +======================================================== + +Overview +======== + +The **Delivery Package Number Report** module enhances the existing **Stock Report Delivery Document** view by adding a new field to display the number of packages in the report. This is useful for tracking and reporting the number of packages associated with delivery moves. + +Features +======== + +- **Add Number of Packages**: + - Modifies the `stock.report_delivery_document` view to include a field showing the number of packages associated with a stock move line. + +- **Integration with Delivery Package Number**: + - Leverages the **Delivery Package Number** module for the `number_of_packages` field. + +Usage +===== + +1. **Install the Module**: + - Install the **Delivery Package Number Report** module via the Apps menu. + +2. **View the Report**: + - Navigate to the stock report view for delivery documents. + - The new `Number of Packages` field will be visible in the report. + +3. **Use Case**: + - This module is particularly useful for organizations that need to track the number of packages involved in their stock moves, especially when dealing with deliveries. + +Configuration +============= + +No specific configuration is required for this module. It will automatically modify the `stock.report_delivery_document` view to include the new `number_of_packages` field. + +Testing +======= + +Test the following to ensure the module works as intended: + +- Verify that the `number_of_packages` field appears correctly in the stock delivery document report. +- Ensure the field reflects the correct data from the **Delivery Package Number** module. + +Bug Tracker +=========== + +If you encounter any issues, please report them on the GitHub repository at `GitHub Issues `_. + +Credits +======= + +Contributors +------------ + +* Ana Juaristi +* Unai Beristain + +For specific questions regarding this module, please contact the contributors. For support, please use the official issue tracker. + +License +======= + +This project is licensed under the LGPL-3 License. For more details, refer to the LICENSE file or visit . diff --git a/delivery_package_number_report/__init__.py b/delivery_package_number_report/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/delivery_package_number_report/__manifest__.py b/delivery_package_number_report/__manifest__.py new file mode 100644 index 0000000000..915e062251 --- /dev/null +++ b/delivery_package_number_report/__manifest__.py @@ -0,0 +1,14 @@ +{ + "name": "Delivery Package Number Report", + "version": "16.0.1.0.0", + "category": "Stock", + "author": "Avanzosc", + "license": "LGPL-3", + "depends": ["stock", "delivery_package_number"], + "data": [ + "views/delivery_package_number_report_view.xml", + ], + "installable": True, + "application": False, + "website": "https://github.com/avanzosc/odoo-addons", +} diff --git a/delivery_package_number_report/i18n/ca_ES.po b/delivery_package_number_report/i18n/ca_ES.po new file mode 100644 index 0000000000..418411dc0c --- /dev/null +++ b/delivery_package_number_report/i18n/ca_ES.po @@ -0,0 +1,21 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * delivery_package_number_report +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-20 16:36+0000\n" +"PO-Revision-Date: 2025-01-20 16:36+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: delivery_package_number_report +#: model_terms:ir.ui.view,arch_db:delivery_package_number_report.delivery_package_number_report_inherit +msgid "Packages:" +msgstr "Paquets:" diff --git a/delivery_package_number_report/i18n/es.po b/delivery_package_number_report/i18n/es.po new file mode 100644 index 0000000000..2699b41b5e --- /dev/null +++ b/delivery_package_number_report/i18n/es.po @@ -0,0 +1,21 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * delivery_package_number_report +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-20 14:17+0000\n" +"PO-Revision-Date: 2025-01-20 14:17+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: delivery_package_number_report +#: model_terms:ir.ui.view,arch_db:delivery_package_number_report.delivery_package_number_report_inherit +msgid "Packages:" +msgstr "Bultos:" \ No newline at end of file diff --git a/delivery_package_number_report/views/delivery_package_number_report_view.xml b/delivery_package_number_report/views/delivery_package_number_report_view.xml new file mode 100644 index 0000000000..88a0e95dc4 --- /dev/null +++ b/delivery_package_number_report/views/delivery_package_number_report_view.xml @@ -0,0 +1,13 @@ + + + + diff --git a/setup/delivery_package_number_report/odoo/addons/delivery_package_number_report b/setup/delivery_package_number_report/odoo/addons/delivery_package_number_report new file mode 120000 index 0000000000..91cc8f3039 --- /dev/null +++ b/setup/delivery_package_number_report/odoo/addons/delivery_package_number_report @@ -0,0 +1 @@ +../../../../delivery_package_number_report \ No newline at end of file diff --git a/setup/delivery_package_number_report/setup.py b/setup/delivery_package_number_report/setup.py new file mode 100644 index 0000000000..28c57bb640 --- /dev/null +++ b/setup/delivery_package_number_report/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From 53fdf158d7892fadd43aa36d4c2083aa10409082 Mon Sep 17 00:00:00 2001 From: Alfredo Date: Mon, 20 Jan 2025 14:48:09 +0100 Subject: [PATCH 2/2] [16.0][ADD] stock_picking_supplierinfo_customer_code_report: Customer code field from suplierinfo, in stock picking report. --- ..._picking_supplierinfo_customer_code_report | 1 + .../setup.py | 6 ++ .../README.rst | 28 +++++++++ .../__init__.py | 1 + .../__manifest__.py | 19 +++++++ .../i18n/ca_ES.po | 27 +++++++++ .../i18n/en_US.po | 27 +++++++++ .../i18n/es.po | 27 +++++++++ ...king_supplierinfo_customer_code_report.pot | 27 +++++++++ .../models/__init__.py | 1 + .../models/stock_move_line.py | 34 +++++++++++ .../reports/report_delivery_document.xml | 57 +++++++++++++++++++ .../stock_picking_operations_report.xml | 27 +++++++++ 13 files changed, 282 insertions(+) create mode 120000 setup/stock_picking_supplierinfo_customer_code_report/odoo/addons/stock_picking_supplierinfo_customer_code_report create mode 100644 setup/stock_picking_supplierinfo_customer_code_report/setup.py create mode 100644 stock_picking_supplierinfo_customer_code_report/README.rst create mode 100644 stock_picking_supplierinfo_customer_code_report/__init__.py create mode 100644 stock_picking_supplierinfo_customer_code_report/__manifest__.py create mode 100644 stock_picking_supplierinfo_customer_code_report/i18n/ca_ES.po create mode 100644 stock_picking_supplierinfo_customer_code_report/i18n/en_US.po create mode 100644 stock_picking_supplierinfo_customer_code_report/i18n/es.po create mode 100644 stock_picking_supplierinfo_customer_code_report/i18n/stock_picking_supplierinfo_customer_code_report.pot create mode 100644 stock_picking_supplierinfo_customer_code_report/models/__init__.py create mode 100644 stock_picking_supplierinfo_customer_code_report/models/stock_move_line.py create mode 100644 stock_picking_supplierinfo_customer_code_report/reports/report_delivery_document.xml create mode 100644 stock_picking_supplierinfo_customer_code_report/reports/stock_picking_operations_report.xml diff --git a/setup/stock_picking_supplierinfo_customer_code_report/odoo/addons/stock_picking_supplierinfo_customer_code_report b/setup/stock_picking_supplierinfo_customer_code_report/odoo/addons/stock_picking_supplierinfo_customer_code_report new file mode 120000 index 0000000000..658a7048bd --- /dev/null +++ b/setup/stock_picking_supplierinfo_customer_code_report/odoo/addons/stock_picking_supplierinfo_customer_code_report @@ -0,0 +1 @@ +../../../../stock_picking_supplierinfo_customer_code_report \ No newline at end of file diff --git a/setup/stock_picking_supplierinfo_customer_code_report/setup.py b/setup/stock_picking_supplierinfo_customer_code_report/setup.py new file mode 100644 index 0000000000..28c57bb640 --- /dev/null +++ b/setup/stock_picking_supplierinfo_customer_code_report/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) diff --git a/stock_picking_supplierinfo_customer_code_report/README.rst b/stock_picking_supplierinfo_customer_code_report/README.rst new file mode 100644 index 0000000000..2e70c846b9 --- /dev/null +++ b/stock_picking_supplierinfo_customer_code_report/README.rst @@ -0,0 +1,28 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +=============================================== +Stock Picking Supplierinfo Customer Code Report +=============================================== + +* Customer code field from suplierinfo, in stock picking report. + +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 smash it by providing detailed and welcomed feedback. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Contributors +------------ + +* Ana Juaristi +* Alfredo de la Fuente diff --git a/stock_picking_supplierinfo_customer_code_report/__init__.py b/stock_picking_supplierinfo_customer_code_report/__init__.py new file mode 100644 index 0000000000..0650744f6b --- /dev/null +++ b/stock_picking_supplierinfo_customer_code_report/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/stock_picking_supplierinfo_customer_code_report/__manifest__.py b/stock_picking_supplierinfo_customer_code_report/__manifest__.py new file mode 100644 index 0000000000..34275a5f2e --- /dev/null +++ b/stock_picking_supplierinfo_customer_code_report/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright 2025 Alfredo de la Fuente - AvanzOSC +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +{ + "name": "Stock Picking Supplierinfo Customer Code Report", + "version": "16.0.1.0.0", + "author": "AvanzOSC", + "category": "Inventory", + "license": "AGPL-3", + "website": "https://github.com/avanzosc/odoo-addons", + "depends": [ + "stock", + "product_supplierinfo_for_customer_sale", + ], + "data": [ + "reports/stock_picking_operations_report.xml", + "reports/report_delivery_document.xml", + ], + "installable": True, +} diff --git a/stock_picking_supplierinfo_customer_code_report/i18n/ca_ES.po b/stock_picking_supplierinfo_customer_code_report/i18n/ca_ES.po new file mode 100644 index 0000000000..dcb74c1a0d --- /dev/null +++ b/stock_picking_supplierinfo_customer_code_report/i18n/ca_ES.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_picking_supplierinfo_customer_code_report +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-20 13:43+0000\n" +"PO-Revision-Date: 2025-01-20 13:43+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_picking_supplierinfo_customer_code_report +#: model_terms:ir.ui.view,arch_db:stock_picking_supplierinfo_customer_code_report.report_delivery_document +#: model_terms:ir.ui.view,arch_db:stock_picking_supplierinfo_customer_code_report.report_picking +msgid "Cust. Cod." +msgstr "" + +#. module: stock_picking_supplierinfo_customer_code_report +#: model:ir.model,name:stock_picking_supplierinfo_customer_code_report.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "Moviment del producte (línia de moviment d'estoc)" diff --git a/stock_picking_supplierinfo_customer_code_report/i18n/en_US.po b/stock_picking_supplierinfo_customer_code_report/i18n/en_US.po new file mode 100644 index 0000000000..a63704a889 --- /dev/null +++ b/stock_picking_supplierinfo_customer_code_report/i18n/en_US.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_picking_supplierinfo_customer_code_report +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-20 13:42+0000\n" +"PO-Revision-Date: 2025-01-20 13:42+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_picking_supplierinfo_customer_code_report +#: model_terms:ir.ui.view,arch_db:stock_picking_supplierinfo_customer_code_report.report_delivery_document +#: model_terms:ir.ui.view,arch_db:stock_picking_supplierinfo_customer_code_report.report_picking +msgid "Cust. Cod." +msgstr "" + +#. module: stock_picking_supplierinfo_customer_code_report +#: model:ir.model,name:stock_picking_supplierinfo_customer_code_report.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" diff --git a/stock_picking_supplierinfo_customer_code_report/i18n/es.po b/stock_picking_supplierinfo_customer_code_report/i18n/es.po new file mode 100644 index 0000000000..8acf3da94d --- /dev/null +++ b/stock_picking_supplierinfo_customer_code_report/i18n/es.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_picking_supplierinfo_customer_code_report +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-20 13:42+0000\n" +"PO-Revision-Date: 2025-01-20 13:42+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_picking_supplierinfo_customer_code_report +#: model_terms:ir.ui.view,arch_db:stock_picking_supplierinfo_customer_code_report.report_delivery_document +#: model_terms:ir.ui.view,arch_db:stock_picking_supplierinfo_customer_code_report.report_picking +msgid "Cust. Cod." +msgstr "Cod. Cli." + +#. module: stock_picking_supplierinfo_customer_code_report +#: model:ir.model,name:stock_picking_supplierinfo_customer_code_report.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "Operación de empaquetado" diff --git a/stock_picking_supplierinfo_customer_code_report/i18n/stock_picking_supplierinfo_customer_code_report.pot b/stock_picking_supplierinfo_customer_code_report/i18n/stock_picking_supplierinfo_customer_code_report.pot new file mode 100644 index 0000000000..d40169e90c --- /dev/null +++ b/stock_picking_supplierinfo_customer_code_report/i18n/stock_picking_supplierinfo_customer_code_report.pot @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_picking_supplierinfo_customer_code_report +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-20 13:41+0000\n" +"PO-Revision-Date: 2025-01-20 13:41+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_picking_supplierinfo_customer_code_report +#: model_terms:ir.ui.view,arch_db:stock_picking_supplierinfo_customer_code_report.report_delivery_document +#: model_terms:ir.ui.view,arch_db:stock_picking_supplierinfo_customer_code_report.report_picking +msgid "Cust. Cod." +msgstr "" + +#. module: stock_picking_supplierinfo_customer_code_report +#: model:ir.model,name:stock_picking_supplierinfo_customer_code_report.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" diff --git a/stock_picking_supplierinfo_customer_code_report/models/__init__.py b/stock_picking_supplierinfo_customer_code_report/models/__init__.py new file mode 100644 index 0000000000..431f51c274 --- /dev/null +++ b/stock_picking_supplierinfo_customer_code_report/models/__init__.py @@ -0,0 +1 @@ +from . import stock_move_line diff --git a/stock_picking_supplierinfo_customer_code_report/models/stock_move_line.py b/stock_picking_supplierinfo_customer_code_report/models/stock_move_line.py new file mode 100644 index 0000000000..dc3b671435 --- /dev/null +++ b/stock_picking_supplierinfo_customer_code_report/models/stock_move_line.py @@ -0,0 +1,34 @@ +# Copyright 2025 Alfredo de la Fuente - AvanzOSC +# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html +from odoo import models + + +class StockMoveLine(models.Model): + _inherit = "stock.move.line" + + def _get_aggregated_product_quantities(self, **kwargs): + result = super()._get_aggregated_product_quantities(**kwargs) + out_picking_lines = self.filtered(lambda x: x.picking_code == "outgoing") + if not result or len(self) != len(out_picking_lines): + return result + for clave in result.keys(): + for move_line in self: + line_key = self._generate_key_to_found() + product_customer_code = "" + if move_line.move_id.sale_line_id: + product_customer_code = ( + move_line.move_id.sale_line_id.product_customer_code + ) + if line_key == clave: + result[line_key]["product_customer_code"] = product_customer_code + return result + + def _generate_key_to_found(self): + uom = self.product_uom_id + name = self.product_id.display_name + description = self.move_id.description_picking + product = self.product_id + if description == name or description == self.product_id.name: + description = False + line_key = f'{product.id}_{product.display_name}_{description or ""}_{uom.id}' + return line_key diff --git a/stock_picking_supplierinfo_customer_code_report/reports/report_delivery_document.xml b/stock_picking_supplierinfo_customer_code_report/reports/report_delivery_document.xml new file mode 100644 index 0000000000..2d68eabfad --- /dev/null +++ b/stock_picking_supplierinfo_customer_code_report/reports/report_delivery_document.xml @@ -0,0 +1,57 @@ + + + + + + + + diff --git a/stock_picking_supplierinfo_customer_code_report/reports/stock_picking_operations_report.xml b/stock_picking_supplierinfo_customer_code_report/reports/stock_picking_operations_report.xml new file mode 100644 index 0000000000..b734ec1b34 --- /dev/null +++ b/stock_picking_supplierinfo_customer_code_report/reports/stock_picking_operations_report.xml @@ -0,0 +1,27 @@ + + + +