diff --git a/README.md b/README.md index 7f8772c26..6990539cc 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ addon | version | maintainers | summary [company_sanitary_registry](company_sanitary_registry/) | 17.0.1.0.0 | | Sanitary Registry [l10n_eu_nace](l10n_eu_nace/) | 17.0.1.0.0 | rafaelbn yajo edlopen | European NACE partner categories [l10n_eu_product_adr](l10n_eu_product_adr/) | 17.0.1.0.0 | | Allows to set appropriate danger class and components +[l10n_eu_product_adr_dangerous_goods](l10n_eu_product_adr_dangerous_goods/) | 17.0.1.0.0 | mmequignon | l10n Eu Product Adr Dangerous Goods [product_fao_fishing](product_fao_fishing/) | 17.0.1.0.0 | | Set fishing areas and capture technology [uom_unece](uom_unece/) | 17.0.1.0.0 | astirpe alexis-via | UNECE nomenclature for the units of measure diff --git a/l10n_eu_product_adr_dangerous_goods/README.rst b/l10n_eu_product_adr_dangerous_goods/README.rst new file mode 100644 index 000000000..ea62d9af7 --- /dev/null +++ b/l10n_eu_product_adr_dangerous_goods/README.rst @@ -0,0 +1,101 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +=================================== +l10n Eu Product Adr Dangerous Goods +=================================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:0b953286b69329695e56618a87b6d8c33786858301281c13fb9a3e10b7f08e52 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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/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%2Fcommunity--data--files-lightgray.png?logo=github + :target: https://github.com/OCA/community-data-files/tree/17.0/l10n_eu_product_adr_dangerous_goods + :alt: OCA/community-data-files +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/community-data-files-17-0/community-data-files-17-0-l10n_eu_product_adr_dangerous_goods + :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/community-data-files&target_branch=17.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Adds a few utility models and records to the l10n_eu_product_adr module. + +**Table of contents** + +.. contents:: + :local: + +Known issues / Roadmap +====================== + +- rename models, prefix them with adr. as it is done in + l10n_eu_product_adr + +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 +------- + +* Camptocamp + +Contributors +------------ + +- Matthieu Méquignon +- Do Anh Duy + +Other credits +------------- + +The migration of this module from 14.0 to 18.0 was financially supported +by Camptocamp. + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-mmequignon| image:: https://github.com/mmequignon.png?size=40px + :target: https://github.com/mmequignon + :alt: mmequignon + +Current `maintainer `__: + +|maintainer-mmequignon| + +This module is part of the `OCA/community-data-files `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/l10n_eu_product_adr_dangerous_goods/__init__.py b/l10n_eu_product_adr_dangerous_goods/__init__.py new file mode 100644 index 000000000..0650744f6 --- /dev/null +++ b/l10n_eu_product_adr_dangerous_goods/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/l10n_eu_product_adr_dangerous_goods/__manifest__.py b/l10n_eu_product_adr_dangerous_goods/__manifest__.py new file mode 100644 index 000000000..027bcd4ee --- /dev/null +++ b/l10n_eu_product_adr_dangerous_goods/__manifest__.py @@ -0,0 +1,22 @@ +# Copyright 2021 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) +{ + "name": "l10n Eu Product Adr Dangerous Goods", + "version": "17.0.1.0.0", + "category": "Inventory/Delivery", + "website": "https://github.com/OCA/community-data-files", + "author": "Camptocamp, Odoo Community Association (OCA)", + "maintainers": ["mmequignon"], + "license": "AGPL-3", + "installable": True, + "auto_install": False, + "depends": ["l10n_eu_product_adr"], + "data": [ + # data + "data/utility_models.xml", + # security + "security/ir.model.access.csv", + # views + "views/product_product.xml", + ], +} diff --git a/l10n_eu_product_adr_dangerous_goods/data/utility_models.xml b/l10n_eu_product_adr_dangerous_goods/data/utility_models.xml new file mode 100644 index 000000000..ff9ab4c9b --- /dev/null +++ b/l10n_eu_product_adr_dangerous_goods/data/utility_models.xml @@ -0,0 +1,109 @@ + + + + + + LK 2 + + + LK 3 + + + LK 4.1 + + + LK 4.2 + + + LK 4.3 + + + LK 5 + + + LK 6.1 + + + LK 8 + + + LK 10,12 + + + LK 11,13 + + + + + Bottle + + + Canister + + + Cartridge + + + Box + + + Bag + + + Spray + + + Can + + + Tube + + + + + to 25°C + + + over 25°C + + + to 30°C + + + + + WGK 1 + + + WGK 2 + + + WGK 3 + + + WGK A + + + WGK B + + + + + LQ (Limited Quantity) + + + DG (Dangerous Goods) + + + + + l (Liter) + + + kg (Kilogramm) + + + g (Gramm) + + diff --git a/l10n_eu_product_adr_dangerous_goods/i18n/es.po b/l10n_eu_product_adr_dangerous_goods/i18n/es.po new file mode 100644 index 000000000..5a60d20fb --- /dev/null +++ b/l10n_eu_product_adr_dangerous_goods/i18n/es.po @@ -0,0 +1,331 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_eu_product_adr_dangerous_goods +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-01-26 14:36+0000\n" +"Last-Translator: Ivorra78 \n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__2 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__2 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__2 +msgid "2.1" +msgstr "2.1" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__3 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__3 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__3 +msgid "2.2" +msgstr "2.2" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__5 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__5 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__5 +msgid "4.1" +msgstr "4.1" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__6 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__6 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__6 +msgid "4.2" +msgstr "4.2" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__7 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__7 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__7 +msgid "4.3" +msgstr "4.3" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__8 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__8 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__8 +msgid "5.1" +msgstr "5.1" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__9 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__9 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__9 +msgid "5.2" +msgstr "5.2" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__12 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__12 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__12 +msgid "9A" +msgstr "9A" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__content_package +msgid "Content Packaging" +msgstr "Contenido Embalaje" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__create_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__create_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__create_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__create_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__create_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__create_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__create_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__create_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__create_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__create_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model_terms:ir.ui.view,arch_db:l10n_eu_product_adr_dangerous_goods.product_normal_form_view +msgid "Dangerous Packaging" +msgstr "Envases Peligrosos" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_dangerous_uom +msgid "Dangerous UOM" +msgstr "UM Peligrosa" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__dg_unit +msgid "Dg Unit" +msgstr "Unidad Dg" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__display_name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__display_name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__display_name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__display_name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__display_name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__display_name +msgid "Display Name" +msgstr "Mostrar Nombre" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__envir_hazardous +msgid "Environmentally hazardous" +msgstr "Peligrosos para el medio ambiente" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__flash_point +msgid "Flash point(°C)" +msgstr "Punto de inflamación(°C)" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__h_no +msgid "H-No" +msgstr "H-No" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__hazard_ind +msgid "Hazard identification" +msgstr "Identificación de riesgos" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__id +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__id +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__id +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__id +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__id +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__id +msgid "ID" +msgstr "ID(identificación)" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__packaging_group__3 +msgid "II" +msgstr "II" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__packaging_group__4 +msgid "III" +msgstr "III" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__label_first +msgid "Label 1" +msgstr "Etiqueta 1" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__label_second +msgid "Label 2" +msgstr "Etiqueta 2" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__label_third +msgid "Label 3" +msgstr "Etiqueta 2" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__write_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__write_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__write_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__write_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__write_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__write_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__write_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__write_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__write_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__write_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__write_date +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_limited_amount +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__limited_amount_id +msgid "Limited Amount" +msgstr "Importe Limitado" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__nag +msgid "N.A.G." +msgstr "N.A.G." + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__name +msgid "Name" +msgstr "Nombre" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__envir_hazardous__no +msgid "No" +msgstr "No" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_packaging_type +msgid "Packaging" +msgstr "Embalaje" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__packaging_group +msgid "Packaging Group" +msgstr "Grupo Embalaje" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__packaging_type_id +msgid "Packaging Type" +msgstr "Tipo de Embalaje" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model_terms:ir.ui.view,arch_db:l10n_eu_product_adr_dangerous_goods.product_normal_form_view +msgid "Storage" +msgstr "Almacenamiento" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__storage_class_id +msgid "Storage Class" +msgstr "Clase de Almacenamiento" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_storage_temp +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__storage_temp_id +msgid "Storage Temp" +msgstr "Temperatura de Almacenamiento" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_storage_class +msgid "Storage class" +msgstr "Clase de almacenamiento" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__voc +msgid "VOC in%" +msgstr "VOC en %" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__veva_code_empty +msgid "VeVA Code: Empty packaging" +msgstr "Código VeVA: Envase vacío" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__veva_code_full +msgid "VeVA Code: Full package" +msgstr "Código VeVA: Paquete completo" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_wgk_class +msgid "WGK class" +msgstr "Clase WGK" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__wgk_class_id +msgid "Wgk Class" +msgstr "Clase WGK" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__envir_hazardous__yes +msgid "Yes" +msgstr "Sí" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:dangerous.uom,name:l10n_eu_product_adr_dangerous_goods.dangerous_uom_3 +msgid "g (Gramm)" +msgstr "g (Gramo)" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:dangerous.uom,name:l10n_eu_product_adr_dangerous_goods.dangerous_uom_2 +msgid "kg (Kilogramm)" +msgstr "kg (Kilogramo)" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:dangerous.uom,name:l10n_eu_product_adr_dangerous_goods.dangerous_uom_1 +msgid "l (Liter)" +msgstr "l (Litro)" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:storage.temp,name:l10n_eu_product_adr_dangerous_goods.storage_temp_2 +msgid "over 25°C" +msgstr "más de 25°C" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:storage.temp,name:l10n_eu_product_adr_dangerous_goods.storage_temp_1 +msgid "to 25°C" +msgstr "a 25°C" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:storage.temp,name:l10n_eu_product_adr_dangerous_goods.storage_temp_3 +msgid "to 30°C" +msgstr "a 30°C" + +#~ msgid "Last Modified on" +#~ msgstr "Última modificación el" + +#~ msgid "Product" +#~ msgstr "Producto" diff --git a/l10n_eu_product_adr_dangerous_goods/i18n/it.po b/l10n_eu_product_adr_dangerous_goods/i18n/it.po new file mode 100644 index 000000000..c81db4130 --- /dev/null +++ b/l10n_eu_product_adr_dangerous_goods/i18n/it.po @@ -0,0 +1,325 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_eu_product_adr_dangerous_goods +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2025-02-05 12:07+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: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__2 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__2 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__2 +msgid "2.1" +msgstr "2.1" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__3 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__3 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__3 +msgid "2.2" +msgstr "2.2" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__5 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__5 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__5 +msgid "4.1" +msgstr "4.1" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__6 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__6 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__6 +msgid "4.2" +msgstr "4.2" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__7 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__7 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__7 +msgid "4.3" +msgstr "4.3" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__8 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__8 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__8 +msgid "5.1" +msgstr "5.1" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__9 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__9 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__9 +msgid "5.2" +msgstr "5.2" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__12 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__12 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__12 +msgid "9A" +msgstr "9A" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__content_package +msgid "Content Packaging" +msgstr "Imballaggio contenuto" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__create_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__create_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__create_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__create_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__create_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__create_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__create_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__create_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__create_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__create_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model_terms:ir.ui.view,arch_db:l10n_eu_product_adr_dangerous_goods.product_normal_form_view +msgid "Dangerous Packaging" +msgstr "Imballaggio pericoloso" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_dangerous_uom +msgid "Dangerous UOM" +msgstr "UdM pericolosa" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__dg_unit +msgid "Dg Unit" +msgstr "Unità pericolosa" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__display_name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__display_name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__display_name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__display_name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__display_name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__envir_hazardous +msgid "Environmentally hazardous" +msgstr "Rischi ambientali" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__flash_point +msgid "Flash point(°C)" +msgstr "Punto infiammabilità (°C)" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__h_no +msgid "H-No" +msgstr "Nr-R" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__hazard_ind +msgid "Hazard identification" +msgstr "Identificazione rischio" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__id +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__id +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__id +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__id +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__id +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__id +msgid "ID" +msgstr "ID" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__packaging_group__3 +msgid "II" +msgstr "II" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__packaging_group__4 +msgid "III" +msgstr "III" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__label_first +msgid "Label 1" +msgstr "Etichetta 1" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__label_second +msgid "Label 2" +msgstr "Etichetta 2" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__label_third +msgid "Label 3" +msgstr "Etichetta 3" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__write_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__write_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__write_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__write_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__write_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__write_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__write_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__write_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__write_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__write_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_limited_amount +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__limited_amount_id +msgid "Limited Amount" +msgstr "Valore limitato" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__nag +msgid "N.A.G." +msgstr "N.A.G." + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__name +msgid "Name" +msgstr "Nome" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__envir_hazardous__no +msgid "No" +msgstr "No" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_packaging_type +msgid "Packaging" +msgstr "Imballaggio" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__packaging_group +msgid "Packaging Group" +msgstr "Gruppo imballaggio" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__packaging_type_id +msgid "Packaging Type" +msgstr "Tipo imballaggio" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_product_product +msgid "Product Variant" +msgstr "Variante prodotto" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model_terms:ir.ui.view,arch_db:l10n_eu_product_adr_dangerous_goods.product_normal_form_view +msgid "Storage" +msgstr "Deposito" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__storage_class_id +msgid "Storage Class" +msgstr "Classe deposito" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_storage_temp +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__storage_temp_id +msgid "Storage Temp" +msgstr "Temperatura deposito" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_storage_class +msgid "Storage class" +msgstr "Classe deposito" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__voc +msgid "VOC in%" +msgstr "COV in %" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__veva_code_empty +msgid "VeVA Code: Empty packaging" +msgstr "Codice VeVA: imballaggio vuoto" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__veva_code_full +msgid "VeVA Code: Full package" +msgstr "Codice VeVA: collo pieno" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_wgk_class +msgid "WGK class" +msgstr "Classe WGK" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__wgk_class_id +msgid "Wgk Class" +msgstr "Classe WGK" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__envir_hazardous__yes +msgid "Yes" +msgstr "Sì" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:dangerous.uom,name:l10n_eu_product_adr_dangerous_goods.dangerous_uom_3 +msgid "g (Gramm)" +msgstr "g (Grammi)" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:dangerous.uom,name:l10n_eu_product_adr_dangerous_goods.dangerous_uom_2 +msgid "kg (Kilogramm)" +msgstr "kg (Chilogrammi)" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:dangerous.uom,name:l10n_eu_product_adr_dangerous_goods.dangerous_uom_1 +msgid "l (Liter)" +msgstr "l (Litri)" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:storage.temp,name:l10n_eu_product_adr_dangerous_goods.storage_temp_2 +msgid "over 25°C" +msgstr "oltre 25°C" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:storage.temp,name:l10n_eu_product_adr_dangerous_goods.storage_temp_1 +msgid "to 25°C" +msgstr "a 25°C" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:storage.temp,name:l10n_eu_product_adr_dangerous_goods.storage_temp_3 +msgid "to 30°C" +msgstr "a 30°C" diff --git a/l10n_eu_product_adr_dangerous_goods/i18n/l10n_eu_product_adr_dangerous_goods.pot b/l10n_eu_product_adr_dangerous_goods/i18n/l10n_eu_product_adr_dangerous_goods.pot new file mode 100644 index 000000000..bc91716f1 --- /dev/null +++ b/l10n_eu_product_adr_dangerous_goods/i18n/l10n_eu_product_adr_dangerous_goods.pot @@ -0,0 +1,322 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_eu_product_adr_dangerous_goods +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.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: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__2 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__2 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__2 +msgid "2.1" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__3 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__3 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__3 +msgid "2.2" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__5 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__5 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__5 +msgid "4.1" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__6 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__6 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__6 +msgid "4.2" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__7 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__7 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__7 +msgid "4.3" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__8 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__8 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__8 +msgid "5.1" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__9 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__9 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__9 +msgid "5.2" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_first__12 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_second__12 +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__label_third__12 +msgid "9A" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__content_package +msgid "Content Packaging" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__create_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__create_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__create_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__create_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__create_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__create_uid +msgid "Created by" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__create_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__create_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__create_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__create_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__create_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__create_date +msgid "Created on" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model_terms:ir.ui.view,arch_db:l10n_eu_product_adr_dangerous_goods.product_normal_form_view +msgid "Dangerous Packaging" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_dangerous_uom +msgid "Dangerous UOM" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__dg_unit +msgid "Dg Unit" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__display_name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__display_name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__display_name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__display_name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__display_name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__display_name +msgid "Display Name" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__envir_hazardous +msgid "Environmentally hazardous" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__flash_point +msgid "Flash point(°C)" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__h_no +msgid "H-No" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__hazard_ind +msgid "Hazard identification" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__id +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__id +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__id +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__id +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__id +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__id +msgid "ID" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__packaging_group__3 +msgid "II" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__packaging_group__4 +msgid "III" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__label_first +msgid "Label 1" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__label_second +msgid "Label 2" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__label_third +msgid "Label 3" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__write_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__write_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__write_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__write_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__write_uid +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__write_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__write_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__write_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__write_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__write_date +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__write_date +msgid "Last Updated on" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_limited_amount +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__limited_amount_id +msgid "Limited Amount" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__nag +msgid "N.A.G." +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_dangerous_uom__name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_limited_amount__name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_packaging_type__name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_class__name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_storage_temp__name +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_wgk_class__name +msgid "Name" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__envir_hazardous__no +msgid "No" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_packaging_type +msgid "Packaging" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__packaging_group +msgid "Packaging Group" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__packaging_type_id +msgid "Packaging Type" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model_terms:ir.ui.view,arch_db:l10n_eu_product_adr_dangerous_goods.product_normal_form_view +msgid "Storage" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__storage_class_id +msgid "Storage Class" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_storage_temp +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__storage_temp_id +msgid "Storage Temp" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_storage_class +msgid "Storage class" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__voc +msgid "VOC in%" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__veva_code_empty +msgid "VeVA Code: Empty packaging" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__veva_code_full +msgid "VeVA Code: Full package" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model,name:l10n_eu_product_adr_dangerous_goods.model_wgk_class +msgid "WGK class" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields,field_description:l10n_eu_product_adr_dangerous_goods.field_product_product__wgk_class_id +msgid "Wgk Class" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:ir.model.fields.selection,name:l10n_eu_product_adr_dangerous_goods.selection__product_product__envir_hazardous__yes +msgid "Yes" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:dangerous.uom,name:l10n_eu_product_adr_dangerous_goods.dangerous_uom_3 +msgid "g (Gramm)" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:dangerous.uom,name:l10n_eu_product_adr_dangerous_goods.dangerous_uom_2 +msgid "kg (Kilogramm)" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:dangerous.uom,name:l10n_eu_product_adr_dangerous_goods.dangerous_uom_1 +msgid "l (Liter)" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:storage.temp,name:l10n_eu_product_adr_dangerous_goods.storage_temp_2 +msgid "over 25°C" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:storage.temp,name:l10n_eu_product_adr_dangerous_goods.storage_temp_1 +msgid "to 25°C" +msgstr "" + +#. module: l10n_eu_product_adr_dangerous_goods +#: model:storage.temp,name:l10n_eu_product_adr_dangerous_goods.storage_temp_3 +msgid "to 30°C" +msgstr "" diff --git a/l10n_eu_product_adr_dangerous_goods/models/__init__.py b/l10n_eu_product_adr_dangerous_goods/models/__init__.py new file mode 100644 index 000000000..fa1668d55 --- /dev/null +++ b/l10n_eu_product_adr_dangerous_goods/models/__init__.py @@ -0,0 +1,2 @@ +from . import product_product +from . import utility_models diff --git a/l10n_eu_product_adr_dangerous_goods/models/product_product.py b/l10n_eu_product_adr_dangerous_goods/models/product_product.py new file mode 100644 index 000000000..9102988bd --- /dev/null +++ b/l10n_eu_product_adr_dangerous_goods/models/product_product.py @@ -0,0 +1,54 @@ +# Copyright 2021 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo import fields, models + +LABELS_SELECTION = [ + ("1", "2"), + ("2", "2.1"), + ("3", "2.2"), + ("4", "3"), + ("5", "4.1"), + ("6", "4.2"), + ("7", "4.3"), + ("8", "5.1"), + ("9", "5.2"), + ("10", "8"), + ("11", "9"), + ("12", "9A"), +] + + +class ProductProduct(models.Model): + _inherit = "product.product" + + # To be set manually for the moment. Could eventually be computed after, + # depending on the dangerous class and the product's weight/captain'sage… + limited_amount_id = fields.Many2one("limited.amount") + + # package-related fields + content_package = fields.Float(string="Content Packaging", digits=(16, 5)) + dg_unit = fields.Many2one("dangerous.uom") + nag = fields.Char(string="N.A.G.") + veva_code_empty = fields.Char(string="VeVA Code: Empty packaging") + veva_code_full = fields.Char(string="VeVA Code: Full package") + + # storage-related fields + storage_class_id = fields.Many2one("storage.class") + packaging_type_id = fields.Many2one("packaging.type") + storage_temp_id = fields.Many2one("storage.temp") + flash_point = fields.Char(string="Flash point(°C)") + wgk_class_id = fields.Many2one("wgk.class") + h_no = fields.Char(string="H-No") # Ho, NoooOOooooO! + + envir_hazardous = fields.Selection( + [("yes", "Yes"), ("no", "No")], string="Environmentally hazardous" + ) + packaging_group = fields.Selection( + [("1", "(-)"), ("2", "I"), ("3", "II"), ("4", "III")] + ) + hazard_ind = fields.Char(string="Hazard identification") + voc = fields.Char(string="VOC in%") + label_first = fields.Selection(LABELS_SELECTION, string="Label 1") + label_second = fields.Selection(LABELS_SELECTION, string="Label 2") + label_third = fields.Selection(LABELS_SELECTION, string="Label 3") diff --git a/l10n_eu_product_adr_dangerous_goods/models/utility_models.py b/l10n_eu_product_adr_dangerous_goods/models/utility_models.py new file mode 100644 index 000000000..d9fe22208 --- /dev/null +++ b/l10n_eu_product_adr_dangerous_goods/models/utility_models.py @@ -0,0 +1,46 @@ +# Copyright 2021 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo import fields, models + + +class StorageClass(models.Model): + _name = "storage.class" + _description = "Storage class" + + name = fields.Char(required=True) + + +class PackagingType(models.Model): + _name = "packaging.type" + _description = "Packaging" + + name = fields.Char(required=True) + + +class StorageTemp(models.Model): + _name = "storage.temp" + _description = "Storage Temp" + + name = fields.Char(required=True, translate=True) + + +class WGKClass(models.Model): + _name = "wgk.class" + _description = "WGK class" + + name = fields.Char(required=True) + + +class LimitedAmount(models.Model): + _name = "limited.amount" + _description = "Limited Amount" + + name = fields.Char(required=True) + + +class DangerousUOM(models.Model): + _name = "dangerous.uom" + _description = "Dangerous UOM" + + name = fields.Char(required=True, translate=True) diff --git a/l10n_eu_product_adr_dangerous_goods/pyproject.toml b/l10n_eu_product_adr_dangerous_goods/pyproject.toml new file mode 100644 index 000000000..4231d0ccc --- /dev/null +++ b/l10n_eu_product_adr_dangerous_goods/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/l10n_eu_product_adr_dangerous_goods/readme/CONTRIBUTORS.md b/l10n_eu_product_adr_dangerous_goods/readme/CONTRIBUTORS.md new file mode 100644 index 000000000..bc6c38a1c --- /dev/null +++ b/l10n_eu_product_adr_dangerous_goods/readme/CONTRIBUTORS.md @@ -0,0 +1,2 @@ +- Matthieu Méquignon \<\> +- Do Anh Duy \<\> diff --git a/l10n_eu_product_adr_dangerous_goods/readme/CREDITS.md b/l10n_eu_product_adr_dangerous_goods/readme/CREDITS.md new file mode 100644 index 000000000..573d68b7e --- /dev/null +++ b/l10n_eu_product_adr_dangerous_goods/readme/CREDITS.md @@ -0,0 +1 @@ +The migration of this module from 14.0 to 18.0 was financially supported by Camptocamp. diff --git a/l10n_eu_product_adr_dangerous_goods/readme/DESCRIPTION.md b/l10n_eu_product_adr_dangerous_goods/readme/DESCRIPTION.md new file mode 100644 index 000000000..a017b3a08 --- /dev/null +++ b/l10n_eu_product_adr_dangerous_goods/readme/DESCRIPTION.md @@ -0,0 +1 @@ +Adds a few utility models and records to the l10n_eu_product_adr module. diff --git a/l10n_eu_product_adr_dangerous_goods/readme/ROADMAP.md b/l10n_eu_product_adr_dangerous_goods/readme/ROADMAP.md new file mode 100644 index 000000000..dabb909bb --- /dev/null +++ b/l10n_eu_product_adr_dangerous_goods/readme/ROADMAP.md @@ -0,0 +1,2 @@ +- rename models, prefix them with adr. as it is done in + l10n_eu_product_adr diff --git a/l10n_eu_product_adr_dangerous_goods/security/ir.model.access.csv b/l10n_eu_product_adr_dangerous_goods/security/ir.model.access.csv new file mode 100644 index 000000000..269323424 --- /dev/null +++ b/l10n_eu_product_adr_dangerous_goods/security/ir.model.access.csv @@ -0,0 +1,13 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_storage_class_user,access_storage_class,model_storage_class,base.group_user,1,0,0,0 +access_storage_class_manager,access_storage_class,model_storage_class,base.group_erp_manager,1,1,1,1 +access_packaging_type_user,access_packaging_type,model_packaging_type,base.group_user,1,0,0,0 +access_packaging_type_manager,access_packaging_type,model_packaging_type,base.group_erp_manager,1,1,1,1 +access_storage_temp_user,access_storage_temp,model_storage_temp,base.group_user,1,0,0,0 +access_storage_temp_manager,access_storage_temp,model_storage_temp,base.group_erp_manager,1,1,1,1 +access_wgk_class_user,access_wgk_class,model_wgk_class,base.group_user,1,0,0,0 +access_wgk_class_manager,access_wgk_class,model_wgk_class,base.group_erp_manager,1,1,1,1 +access_limited_amount_user,access_limited_amount,model_limited_amount,base.group_user,1,0,0,0 +access_limited_amount_manager,access_limited_amount,model_limited_amount,base.group_erp_manager,1,1,1,1 +access_dang_uom_user,access_dang_uom_class,model_dangerous_uom,base.group_user,1,0,0,0 +access_dang_uom_manager,access_dang_uom_class_manager,model_dangerous_uom,base.group_erp_manager,1,1,1,1 diff --git a/l10n_eu_product_adr_dangerous_goods/static/description/icon.png b/l10n_eu_product_adr_dangerous_goods/static/description/icon.png new file mode 100644 index 000000000..3a0328b51 Binary files /dev/null and b/l10n_eu_product_adr_dangerous_goods/static/description/icon.png differ diff --git a/l10n_eu_product_adr_dangerous_goods/static/description/index.html b/l10n_eu_product_adr_dangerous_goods/static/description/index.html new file mode 100644 index 000000000..b8ddaca93 --- /dev/null +++ b/l10n_eu_product_adr_dangerous_goods/static/description/index.html @@ -0,0 +1,446 @@ + + + + + +README.rst + + + +
+ + + +Odoo Community Association + +
+

l10n Eu Product Adr Dangerous Goods

+ +

Beta License: AGPL-3 OCA/community-data-files Translate me on Weblate Try me on Runboat

+

Adds a few utility models and records to the l10n_eu_product_adr module.

+

Table of contents

+ +
+

Known issues / Roadmap

+
    +
  • rename models, prefix them with adr. as it is done in +l10n_eu_product_adr
  • +
+
+
+

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

+
    +
  • Camptocamp
  • +
+
+
+

Contributors

+ +
+
+

Other credits

+

The migration of this module from 14.0 to 18.0 was financially supported +by Camptocamp.

+
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

Current maintainer:

+

mmequignon

+

This module is part of the OCA/community-data-files project on GitHub.

+

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

+
+
+
+
+ + diff --git a/l10n_eu_product_adr_dangerous_goods/tests/__init__.py b/l10n_eu_product_adr_dangerous_goods/tests/__init__.py new file mode 100644 index 000000000..99a3f5a52 --- /dev/null +++ b/l10n_eu_product_adr_dangerous_goods/tests/__init__.py @@ -0,0 +1 @@ +from . import test_product_product diff --git a/l10n_eu_product_adr_dangerous_goods/tests/test_product_product.py b/l10n_eu_product_adr_dangerous_goods/tests/test_product_product.py new file mode 100644 index 000000000..d884a1800 --- /dev/null +++ b/l10n_eu_product_adr_dangerous_goods/tests/test_product_product.py @@ -0,0 +1,165 @@ +from odoo.addons.base.tests.common import BaseCommon + + +class TestProductProduct(BaseCommon): + @classmethod + def setUpClass(cls): + super().setUpClass() + # Create test data for related models + cls.limited_amount = cls.env["limited.amount"].create( + {"name": "Test Limited Amount"} + ) + cls.dg_unit = cls.env["dangerous.uom"].create({"name": "Test Dangerous UoM"}) + cls.storage_class = cls.env["storage.class"].create( + {"name": "Test Storage Class"} + ) + cls.packaging_type = cls.env["packaging.type"].create( + {"name": "Test Packaging Type"} + ) + cls.storage_temp = cls.env["storage.temp"].create({"name": "Test Storage Temp"}) + cls.wgk_class = cls.env["wgk.class"].create({"name": "Test WGK Class"}) + + cls.product = cls.env["product.product"].create( + { + "name": "Test Product", + "limited_amount_id": cls.limited_amount.id, + "content_package": 10.12345, + "dg_unit": cls.dg_unit.id, + "nag": "Test NAG", + "veva_code_empty": "123-Empty", + "veva_code_full": "456-Full", + "storage_class_id": cls.storage_class.id, + "packaging_type_id": cls.packaging_type.id, + "storage_temp_id": cls.storage_temp.id, + "flash_point": "-10", + "wgk_class_id": cls.wgk_class.id, + "h_no": "H12345", + "envir_hazardous": "yes", + "packaging_group": "3", + "hazard_ind": "Hazard123", + "voc": "15.5", + "label_first": "1", + "label_second": "3", + "label_third": "5", + } + ) + + def test_create_product(self): + """Test creating a product with all the custom fields.""" + # Assert field values + self.assertEqual( + self.product.limited_amount_id, + self.limited_amount, + "Limited amount ID does not match the expected value", + ) + self.assertEqual( + self.product.content_package, + 10.12345, + "Content package value does not match the expected value", + ) + self.assertEqual( + self.product.dg_unit, + self.dg_unit, + "DG unit does not match the expected value", + ) + self.assertEqual( + self.product.nag, "Test NAG", "NAG value does not match the expected value" + ) + self.assertEqual( + self.product.veva_code_empty, + "123-Empty", + "VEVA code empty does not match the expected value", + ) + self.assertEqual( + self.product.veva_code_full, + "456-Full", + "VEVA code full does not match the expected value", + ) + self.assertEqual( + self.product.storage_class_id, + self.storage_class, + "Storage class ID does not match the expected value", + ) + self.assertEqual( + self.product.packaging_type_id, + self.packaging_type, + "Packaging type does not match the expected value", + ) + self.assertEqual( + self.product.storage_temp_id, + self.storage_temp, + "Storage temperature does not match the expected value", + ) + self.assertEqual( + self.product.flash_point, + "-10", + "Flash point does not match the expected value", + ) + self.assertEqual( + self.product.wgk_class_id, + self.wgk_class, + "WGK class does not match the expected value", + ) + self.assertEqual( + self.product.h_no, "H12345", "H number does not match the expected value" + ) + self.assertEqual( + self.product.envir_hazardous, + "yes", + "Environmental hazardous flag does not match the expected value", + ) + self.assertEqual( + self.product.packaging_group, + "3", + "Packaging group does not match the expected value", + ) + self.assertEqual( + self.product.hazard_ind, + "Hazard123", + "Hazard indicator does not match the expected value", + ) + self.assertEqual( + self.product.voc, "15.5", "VOC value does not match the expected value" + ) + self.assertEqual( + self.product.label_first, + "1", + "First label value does not match the expected value", + ) + self.assertEqual( + self.product.label_second, + "3", + "Second label value does not match the expected value", + ) + self.assertEqual( + self.product.label_third, + "5", + "Third label value does not match the expected value", + ) + + def test_update_product(self): + """Test updating a product's custom fields.""" + product_test = self.env["product.product"].create( + { + "name": "Test Product", + "envir_hazardous": "no", + } + ) + + # Update fields + product_test.write( + { + "envir_hazardous": "yes", + "label_first": "2", + } + ) + + # Assert updates + self.assertEqual( + product_test.envir_hazardous, + "yes", + "Environmental hazardous flag should be 'yes' but is not.", + ) + self.assertEqual( + product_test.label_first, "2", "First label value should be '2' but is not." + ) diff --git a/l10n_eu_product_adr_dangerous_goods/views/product_product.xml b/l10n_eu_product_adr_dangerous_goods/views/product_product.xml new file mode 100644 index 000000000..30c9d1f87 --- /dev/null +++ b/l10n_eu_product_adr_dangerous_goods/views/product_product.xml @@ -0,0 +1,44 @@ + + + + product.product.form.inherit + product.product + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/setup/_metapackage/pyproject.toml b/setup/_metapackage/pyproject.toml index 0fa1300f8..abde13646 100644 --- a/setup/_metapackage/pyproject.toml +++ b/setup/_metapackage/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "odoo-addons-oca-community-data-files" -version = "17.0.20250901.0" +version = "17.0.20260310.0" dependencies = [ "odoo-addon-account_payment_unece>=17.0dev,<17.1dev", "odoo-addon-account_tax_unece>=17.0dev,<17.1dev", @@ -11,6 +11,7 @@ dependencies = [ "odoo-addon-company_sanitary_registry>=17.0dev,<17.1dev", "odoo-addon-l10n_eu_nace>=17.0dev,<17.1dev", "odoo-addon-l10n_eu_product_adr>=17.0dev,<17.1dev", + "odoo-addon-l10n_eu_product_adr_dangerous_goods>=17.0dev,<17.1dev", "odoo-addon-product_fao_fishing>=17.0dev,<17.1dev", "odoo-addon-uom_unece>=17.0dev,<17.1dev", ]