From 7af86d650bc49b7ad33c8ddbc0a0d309eb2093ee Mon Sep 17 00:00:00 2001 From: FrankC013 Date: Thu, 21 Dec 2023 13:11:30 +0100 Subject: [PATCH 1/5] [ADD] stock_barcodes_unique_field: new module --- stock_barcodes_unique_field/README.rst | 62 +++ stock_barcodes_unique_field/__init__.py | 1 + stock_barcodes_unique_field/__manifest__.py | 18 + stock_barcodes_unique_field/i18n/es.po | 68 +++ .../models/__init__.py | 2 + .../models/stock_barcodes_option.py | 23 + .../models/stock_barcodes_read_picking.py | 33 ++ .../readme/CONTRIBUTORS.rst | 3 + .../readme/DESCRIPTION.rst | 1 + .../static/description/icon.png | Bin 0 -> 6342 bytes .../static/description/index.html | 421 ++++++++++++++++++ .../views/stock_barcodes_option_view.xml | 19 + 12 files changed, 651 insertions(+) create mode 100644 stock_barcodes_unique_field/README.rst create mode 100644 stock_barcodes_unique_field/__init__.py create mode 100644 stock_barcodes_unique_field/__manifest__.py create mode 100644 stock_barcodes_unique_field/i18n/es.po create mode 100644 stock_barcodes_unique_field/models/__init__.py create mode 100644 stock_barcodes_unique_field/models/stock_barcodes_option.py create mode 100644 stock_barcodes_unique_field/models/stock_barcodes_read_picking.py create mode 100644 stock_barcodes_unique_field/readme/CONTRIBUTORS.rst create mode 100644 stock_barcodes_unique_field/readme/DESCRIPTION.rst create mode 100644 stock_barcodes_unique_field/static/description/icon.png create mode 100644 stock_barcodes_unique_field/static/description/index.html create mode 100644 stock_barcodes_unique_field/views/stock_barcodes_option_view.xml diff --git a/stock_barcodes_unique_field/README.rst b/stock_barcodes_unique_field/README.rst new file mode 100644 index 000000000..a43c121e3 --- /dev/null +++ b/stock_barcodes_unique_field/README.rst @@ -0,0 +1,62 @@ +=========================== +Stock Barcodes Unique Field +=========================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:fec39528a9ef877a33812cfef94e75014b7708a9fefd88d93baaa8ba3ebfa5c0 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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-NuoBiT%2Fodoo--addons-lightgray.png?logo=github + :target: https://github.com/NuoBiT/odoo-addons/tree/14.0/stock_barcodes_unique_field + :alt: NuoBiT/odoo-addons + +|badge1| |badge2| |badge3| + +* This module extends the barcode options in inventory, allowing items to be marked as unique and specifying the copy of these characteristics to the picking header + +**Table of contents** + +.. contents:: + :local: + +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 +~~~~~~~ + +* NuoBiT Solutions + +Contributors +~~~~~~~~~~~~ + +* `NuoBiT `_: + + * Frank Cespedes + +Maintainers +~~~~~~~~~~~ + +This module is part of the `NuoBiT/odoo-addons `_ project on GitHub. + +You are welcome to contribute. diff --git a/stock_barcodes_unique_field/__init__.py b/stock_barcodes_unique_field/__init__.py new file mode 100644 index 000000000..0650744f6 --- /dev/null +++ b/stock_barcodes_unique_field/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/stock_barcodes_unique_field/__manifest__.py b/stock_barcodes_unique_field/__manifest__.py new file mode 100644 index 000000000..399d07804 --- /dev/null +++ b/stock_barcodes_unique_field/__manifest__.py @@ -0,0 +1,18 @@ +# Copyright NuoBiT Solutions - Frank Cespedes +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +{ + "name": "Stock Barcodes Unique Field", + "summary": "This module extends the barcode options in inventory," + " allowing items to be marked as unique and specifying the copy " + "of these characteristics to the picking header", + "version": "14.0.1.0.0", + "author": "NuoBiT Solutions", + "website": "https://github.com/nuobit/odoo-addons", + "category": "Stock", + "depends": ["stock_barcodes"], + "license": "AGPL-3", + "data": [ + "views/stock_barcodes_option_view.xml", + ], +} diff --git a/stock_barcodes_unique_field/i18n/es.po b/stock_barcodes_unique_field/i18n/es.po new file mode 100644 index 000000000..a1b897f87 --- /dev/null +++ b/stock_barcodes_unique_field/i18n/es.po @@ -0,0 +1,68 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_barcodes_unique +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-12-22 15:20+0000\n" +"PO-Revision-Date: 2023-12-22 15:20+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_barcodes_unique +#: model:ir.model.fields,field_description:stock_barcodes_unique.field_stock_barcodes_option__copy_to_header +msgid "Copy To Header" +msgstr "Copiar al Encabezado" + +#. module: stock_barcodes_unique +#: model:ir.model.fields,field_description:stock_barcodes_unique.field_stock_barcodes_option__display_name +#: model:ir.model.fields,field_description:stock_barcodes_unique.field_wiz_stock_barcodes_read_picking__display_name +msgid "Display Name" +msgstr "Nombre a mostrar" + +#. module: stock_barcodes_unique +#: model:ir.model.fields,field_description:stock_barcodes_unique.field_stock_barcodes_option____last_update +#: model:ir.model.fields,field_description:stock_barcodes_unique.field_wiz_stock_barcodes_read_picking____last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: stock_barcodes_unique +#: model:ir.model,name:stock_barcodes_unique.model_stock_barcodes_option +msgid "Options for barcode interface" +msgstr "Opciones para la interfaz de código de barras" + +#. module: stock_barcodes_unique +#: code:addons/stock_barcodes_unique/models/stock_barcodes_read_picking.py:0 +#, python-format +msgid "" +"The field %s must have the same value in all the lines of the picking " +"because you have selected it as a static field in the barcode options." +msgstr "" +"El campo %s debe tener el mismo valor en todas las líneas del albarán porque " +"lo ha seleccionado como campo estático en las opciones de código de barras." + +#. module: stock_barcodes_unique +#: code:addons/stock_barcodes_unique/models/stock_barcodes_option.py:0 +#, python-format +msgid "" +"The field 'Copy to Header' can only be checked if the field 'Unique' is also" +" checked." +msgstr "" +"El campo 'Copiar al Encabezado' solo puede marcarse si el campo 'Único' " +"también está marcado." + +#. module: stock_barcodes_unique +#: model:ir.model.fields,field_description:stock_barcodes_unique.field_stock_barcodes_option__unique +msgid "Unique" +msgstr "Único" + +#. module: stock_barcodes_unique +#: model:ir.model,name:stock_barcodes_unique.model_wiz_stock_barcodes_read_picking +msgid "Wizard to read barcode on picking" +msgstr "Asistente para leer códigos de barras desde los albaranes" diff --git a/stock_barcodes_unique_field/models/__init__.py b/stock_barcodes_unique_field/models/__init__.py new file mode 100644 index 000000000..9f23d343d --- /dev/null +++ b/stock_barcodes_unique_field/models/__init__.py @@ -0,0 +1,2 @@ +from . import stock_barcodes_option +from . import stock_barcodes_read_picking diff --git a/stock_barcodes_unique_field/models/stock_barcodes_option.py b/stock_barcodes_unique_field/models/stock_barcodes_option.py new file mode 100644 index 000000000..f6851eb1e --- /dev/null +++ b/stock_barcodes_unique_field/models/stock_barcodes_option.py @@ -0,0 +1,23 @@ +# Copyright NuoBiT Solutions - Frank Cespedes +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + + +class StockBarcodesOption(models.Model): + _inherit = "stock.barcodes.option" + + unique = fields.Boolean() + copy_to_header = fields.Boolean() + + @api.constrains("unique", "copy_to_header") + def _check_copy_to_header(self): + for rec in self: + if not rec.unique and rec.copy_to_header: + raise ValidationError( + _( + "The field 'Copy to Header' can only be checked if the " + "field 'Unique' is also checked." + ) + ) diff --git a/stock_barcodes_unique_field/models/stock_barcodes_read_picking.py b/stock_barcodes_unique_field/models/stock_barcodes_read_picking.py new file mode 100644 index 000000000..4ded8f950 --- /dev/null +++ b/stock_barcodes_unique_field/models/stock_barcodes_read_picking.py @@ -0,0 +1,33 @@ +# Copyright NuoBiT Solutions - Frank Cespedes +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo import _, models +from odoo.exceptions import UserError + + +class WizStockBarcodesReadPicking(models.TransientModel): + _inherit = "wiz.stock.barcodes.read.picking" + + def action_confirm(self): + res = super().action_confirm() + option_fields = self.option_group_id.option_ids.filtered(lambda x: x.unique) + for option in option_fields: + field = option.field_name + move_line_field = self.move_line_ids[field] + if len(move_line_field) > 1: + field_label = self.fields_get([field])[field]["string"] + raise UserError( + _( + "The field %s must have the same value in all the " + "lines of the picking because you have selected it as " + "a static field in the barcode options." + ) + % field_label + ) + if move_line_field and option.copy_to_header: + if ( + field in self.picking_id + and move_line_field != self.picking_id[field] + ): + self.picking_id[field] = move_line_field + return res diff --git a/stock_barcodes_unique_field/readme/CONTRIBUTORS.rst b/stock_barcodes_unique_field/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..708936c8d --- /dev/null +++ b/stock_barcodes_unique_field/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +* `NuoBiT `_: + + * Frank Cespedes diff --git a/stock_barcodes_unique_field/readme/DESCRIPTION.rst b/stock_barcodes_unique_field/readme/DESCRIPTION.rst new file mode 100644 index 000000000..737b03a8b --- /dev/null +++ b/stock_barcodes_unique_field/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +* This module extends the barcode options in inventory, allowing items to be marked as unique and specifying the copy of these characteristics to the picking header diff --git a/stock_barcodes_unique_field/static/description/icon.png b/stock_barcodes_unique_field/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1cd641e792c30455187ca30940bc0f329ce8bbb0 GIT binary patch literal 6342 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 literal 0 HcmV?d00001 diff --git a/stock_barcodes_unique_field/static/description/index.html b/stock_barcodes_unique_field/static/description/index.html new file mode 100644 index 000000000..5ba7bdf53 --- /dev/null +++ b/stock_barcodes_unique_field/static/description/index.html @@ -0,0 +1,421 @@ + + + + + + +Stock Barcodes Unique Field + + + +
+

Stock Barcodes Unique Field

+ + +

Beta License: AGPL-3 NuoBiT/odoo-addons

+
    +
  • This module extends the barcode options in inventory, allowing items to be marked as unique and specifying the copy of these characteristics to the picking header
  • +
+

Table of contents

+ +
+

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

+
    +
  • NuoBiT Solutions
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is part of the NuoBiT/odoo-addons project on GitHub.

+

You are welcome to contribute.

+
+
+
+ + diff --git a/stock_barcodes_unique_field/views/stock_barcodes_option_view.xml b/stock_barcodes_unique_field/views/stock_barcodes_option_view.xml new file mode 100644 index 000000000..f1b593f7c --- /dev/null +++ b/stock_barcodes_unique_field/views/stock_barcodes_option_view.xml @@ -0,0 +1,19 @@ + + + + + stock.barcodes.option.group.form.inherit + stock.barcodes.option.group + + + + + + + + + From d09e8234e1852f9780fe12310ba2182b41473299 Mon Sep 17 00:00:00 2001 From: ??? Date: Tue, 27 Jan 2026 12:12:21 +0100 Subject: [PATCH 2/5] [IMP] stock_barcodes_unique_field: pre-commit auto fixes --- stock_barcodes_unique_field/README.rst | 20 ++++++++++--------- stock_barcodes_unique_field/__manifest__.py | 2 +- stock_barcodes_unique_field/pyproject.toml | 3 +++ .../readme/CONTRIBUTORS.md | 2 ++ .../readme/CONTRIBUTORS.rst | 3 --- .../readme/DESCRIPTION.md | 3 +++ .../readme/DESCRIPTION.rst | 1 - .../static/description/index.html | 18 +++++++++-------- 8 files changed, 30 insertions(+), 22 deletions(-) create mode 100644 stock_barcodes_unique_field/pyproject.toml create mode 100644 stock_barcodes_unique_field/readme/CONTRIBUTORS.md delete mode 100644 stock_barcodes_unique_field/readme/CONTRIBUTORS.rst create mode 100644 stock_barcodes_unique_field/readme/DESCRIPTION.md delete mode 100644 stock_barcodes_unique_field/readme/DESCRIPTION.rst diff --git a/stock_barcodes_unique_field/README.rst b/stock_barcodes_unique_field/README.rst index a43c121e3..30e569b2f 100644 --- a/stock_barcodes_unique_field/README.rst +++ b/stock_barcodes_unique_field/README.rst @@ -17,12 +17,14 @@ Stock Barcodes Unique Field :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-NuoBiT%2Fodoo--addons-lightgray.png?logo=github - :target: https://github.com/NuoBiT/odoo-addons/tree/14.0/stock_barcodes_unique_field + :target: https://github.com/NuoBiT/odoo-addons/tree/18.0/stock_barcodes_unique_field :alt: NuoBiT/odoo-addons |badge1| |badge2| |badge3| -* This module extends the barcode options in inventory, allowing items to be marked as unique and specifying the copy of these characteristics to the picking header +- This module extends the barcode options in inventory, allowing items + to be marked as unique and specifying the copy of these + characteristics to the picking header **Table of contents** @@ -35,7 +37,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. @@ -43,20 +45,20 @@ Credits ======= Authors -~~~~~~~ +------- * NuoBiT Solutions Contributors -~~~~~~~~~~~~ +------------ -* `NuoBiT `_: +- `NuoBiT `__: - * Frank Cespedes + - Frank Cespedes Maintainers -~~~~~~~~~~~ +----------- -This module is part of the `NuoBiT/odoo-addons `_ project on GitHub. +This module is part of the `NuoBiT/odoo-addons `_ project on GitHub. You are welcome to contribute. diff --git a/stock_barcodes_unique_field/__manifest__.py b/stock_barcodes_unique_field/__manifest__.py index 399d07804..1ecd1053c 100644 --- a/stock_barcodes_unique_field/__manifest__.py +++ b/stock_barcodes_unique_field/__manifest__.py @@ -8,7 +8,7 @@ "of these characteristics to the picking header", "version": "14.0.1.0.0", "author": "NuoBiT Solutions", - "website": "https://github.com/nuobit/odoo-addons", + "website": "https://github.com/NuoBiT/odoo-addons", "category": "Stock", "depends": ["stock_barcodes"], "license": "AGPL-3", diff --git a/stock_barcodes_unique_field/pyproject.toml b/stock_barcodes_unique_field/pyproject.toml new file mode 100644 index 000000000..4231d0ccc --- /dev/null +++ b/stock_barcodes_unique_field/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/stock_barcodes_unique_field/readme/CONTRIBUTORS.md b/stock_barcodes_unique_field/readme/CONTRIBUTORS.md new file mode 100644 index 000000000..621772535 --- /dev/null +++ b/stock_barcodes_unique_field/readme/CONTRIBUTORS.md @@ -0,0 +1,2 @@ +- [NuoBiT](https://www.nuobit.com): + - Frank Cespedes \ diff --git a/stock_barcodes_unique_field/readme/CONTRIBUTORS.rst b/stock_barcodes_unique_field/readme/CONTRIBUTORS.rst deleted file mode 100644 index 708936c8d..000000000 --- a/stock_barcodes_unique_field/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1,3 +0,0 @@ -* `NuoBiT `_: - - * Frank Cespedes diff --git a/stock_barcodes_unique_field/readme/DESCRIPTION.md b/stock_barcodes_unique_field/readme/DESCRIPTION.md new file mode 100644 index 000000000..304bd8a54 --- /dev/null +++ b/stock_barcodes_unique_field/readme/DESCRIPTION.md @@ -0,0 +1,3 @@ +- This module extends the barcode options in inventory, allowing items + to be marked as unique and specifying the copy of these + characteristics to the picking header diff --git a/stock_barcodes_unique_field/readme/DESCRIPTION.rst b/stock_barcodes_unique_field/readme/DESCRIPTION.rst deleted file mode 100644 index 737b03a8b..000000000 --- a/stock_barcodes_unique_field/readme/DESCRIPTION.rst +++ /dev/null @@ -1 +0,0 @@ -* This module extends the barcode options in inventory, allowing items to be marked as unique and specifying the copy of these characteristics to the picking header diff --git a/stock_barcodes_unique_field/static/description/index.html b/stock_barcodes_unique_field/static/description/index.html index 5ba7bdf53..ea2543d89 100644 --- a/stock_barcodes_unique_field/static/description/index.html +++ b/stock_barcodes_unique_field/static/description/index.html @@ -1,4 +1,3 @@ - @@ -9,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. @@ -275,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 } @@ -301,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -369,9 +369,11 @@

Stock Barcodes Unique Field

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:fec39528a9ef877a33812cfef94e75014b7708a9fefd88d93baaa8ba3ebfa5c0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 NuoBiT/odoo-addons

+

Beta License: AGPL-3 NuoBiT/odoo-addons

    -
  • This module extends the barcode options in inventory, allowing items to be marked as unique and specifying the copy of these characteristics to the picking header
  • +
  • This module extends the barcode options in inventory, allowing items +to be marked as unique and specifying the copy of these +characteristics to the picking header

Table of contents

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

@@ -412,7 +414,7 @@

Contributors

Maintainers

-

This module is part of the NuoBiT/odoo-addons project on GitHub.

+

This module is part of the NuoBiT/odoo-addons project on GitHub.

You are welcome to contribute.

From 0fee7c082ca26a1c28e1ed4265559bfecd9c2b3f Mon Sep 17 00:00:00 2001 From: ??? Date: Tue, 27 Jan 2026 12:14:40 +0100 Subject: [PATCH 3/5] [MIG] stock_barcodes_unique_field: Migration to 18.0 --- stock_barcodes_unique_field/__manifest__.py | 5 +++-- stock_barcodes_unique_field/readme/CONTRIBUTORS.md | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/stock_barcodes_unique_field/__manifest__.py b/stock_barcodes_unique_field/__manifest__.py index 1ecd1053c..ea6c74a84 100644 --- a/stock_barcodes_unique_field/__manifest__.py +++ b/stock_barcodes_unique_field/__manifest__.py @@ -1,4 +1,5 @@ # Copyright NuoBiT Solutions - Frank Cespedes +# Copyright 2026 NuoBiT Solutions - Deniz Gallo # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) { @@ -6,8 +7,8 @@ "summary": "This module extends the barcode options in inventory," " allowing items to be marked as unique and specifying the copy " "of these characteristics to the picking header", - "version": "14.0.1.0.0", - "author": "NuoBiT Solutions", + "version": "18.0.1.0.0", + "author": "NuoBiT Solutions SL", "website": "https://github.com/NuoBiT/odoo-addons", "category": "Stock", "depends": ["stock_barcodes"], diff --git a/stock_barcodes_unique_field/readme/CONTRIBUTORS.md b/stock_barcodes_unique_field/readme/CONTRIBUTORS.md index 621772535..5c653a8c2 100644 --- a/stock_barcodes_unique_field/readme/CONTRIBUTORS.md +++ b/stock_barcodes_unique_field/readme/CONTRIBUTORS.md @@ -1,2 +1,3 @@ - [NuoBiT](https://www.nuobit.com): - - Frank Cespedes \ + - Frank Cespedes + - Deniz Gallo From 9a2cea715566229834a983ca60b46214d4ed5426 Mon Sep 17 00:00:00 2001 From: ??? Date: Tue, 27 Jan 2026 15:46:09 +0100 Subject: [PATCH 4/5] [MIG] stock_barcodes_unique_field: Migration to 18.0 --- stock_barcodes_unique_field/README.rst | 5 +++-- stock_barcodes_unique_field/static/description/index.html | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/stock_barcodes_unique_field/README.rst b/stock_barcodes_unique_field/README.rst index 30e569b2f..92dbe0c10 100644 --- a/stock_barcodes_unique_field/README.rst +++ b/stock_barcodes_unique_field/README.rst @@ -47,14 +47,15 @@ Credits Authors ------- -* NuoBiT Solutions +* NuoBiT Solutions SL Contributors ------------ - `NuoBiT `__: - - Frank Cespedes + - Frank Cespedes fcespedes@nuobit.com + - Deniz Gallo dgallo@nuobit.com Maintainers ----------- diff --git a/stock_barcodes_unique_field/static/description/index.html b/stock_barcodes_unique_field/static/description/index.html index ea2543d89..24edf01fa 100644 --- a/stock_barcodes_unique_field/static/description/index.html +++ b/stock_barcodes_unique_field/static/description/index.html @@ -400,14 +400,15 @@

Credits

Authors

    -
  • NuoBiT Solutions
  • +
  • NuoBiT Solutions SL

Contributors

From 02748d46003d558dc00b7a1e3bda2f3c574aa969 Mon Sep 17 00:00:00 2001 From: ??? Date: Mon, 26 Jan 2026 12:17:12 +0100 Subject: [PATCH 5/5] [DO NOT MERGE] test-requirements.txt --- test-requirements.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 test-requirements.txt diff --git a/test-requirements.txt b/test-requirements.txt new file mode 100644 index 000000000..1ca304aa6 --- /dev/null +++ b/test-requirements.txt @@ -0,0 +1 @@ +odoo-addon-stock_barcodes@git+https://github.com/OCA/stock-logistics-barcode.git@refs/pull/725/head#subdirectory=stock_barcodes