TIP: You can type at any time to perform a new search.
ADR Dangerous Goods
l10n_eu_product_adr · OCA/community-data-files
- Repository
- OCA/community-data-files · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Inventory/Delivery
- Folder size
- 5.17 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/community-data-files
- Last tracking update
- 2026-08-07 09:06:33
- Authors
- Camptocamp, Odoo Community Association (OCA), Opener B.V.
- Maintainers
- Camptocamp, Odoo Community Association (OCA), Opener B.V.
- Committers
- Maksym Yankin, Weblate, OCA-git-bot, oca-ci
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- l10n_eu_product_adr_dangerous_goods
- Description
This addon adds possibility to mark products with dangerous class due to European Agreement concerning the International Carriage of Dangerous Goods by Road (ADR) If your products contain dangerous product or waste you can link the relevant ADR goods to each product. Based on the dangerous goods classes and the product quantities or weights, the picking will show the number of ADR points on the Other Info tab. Read more <https://en.wikipedia.org/wiki/ADR_(treaty)> Unece standards <https://unece.org/transportdangerous-goods/adr-2021-files>
Code Analysis ⓘ
Views touched (13)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
adr_class_view_search |
adr.class | search | New | |
adr_class_view_tree |
adr.class | list | New | |
adr_goods_view_form |
adr.goods | form | New | |
adr_goods_view_search |
adr.goods | search | New | |
adr_goods_view_tree |
adr.goods | list | New | |
adr_label_kanban_form |
adr.label | kanban | New | |
adr_label_view_form |
adr.label | form | New | |
adr_label_view_search |
adr.label | search | New | |
adr_packing_instruction_view_search |
adr.packing.instruction | search | New | |
adr_packing_instruction_view_tree |
adr.packing.instruction | list | New | |
product_normal_form_view |
Dangerous goods settings on variants | product.product | form | Inherits product.product_normal_form_view |
product_template_form_view |
product.template.dangerous.class | product.template | form | Inherits product.product_template_form_view |
view_picking_form |
stock.picking | form | Inherits stock.view_picking_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (8)
New fields (2)
-
codeCharrequired=True -
nameCharrequired=Truetranslate=True
No public methods.
New fields (11)
-
activeBooleandefault=True -
class_idMany2one → adr.classcomodel_name='adr.class'required=Truestring='Class' -
classification_codeChar -
label_idsMany2many → adr.labelcomodel_name='adr.label'help='The labels/placards (see 5.2.2.2 and 5.3.1.7) that have to be affixed to packages, containers, tank-containers, portable tanks, MEGCs and vehicles.)'string='Labels' -
limited_quantityFloatdigits='Product Unit of Measure' -
limited_quantity_uom_idMany2one → uom.uomstring='Limited Quantity UoM' args: 'uom.uom' -
nameCharhelp="Contains, in upper case characters, the name of the substance or article, if the substance or article has been assigned its own specific UN number, or of the generic or n.o.s. entry to which it has been assigned in accordance with the criteria ('decision trees') of Part 2. This name shall be used as the proper shipping name or, when applicable, as part of the proper shipping name (see 3.1.2 for further details on the proper shipping name)."required=Truetranslate=True args: 'Name and description' -
packing_instruction_idsMany2many → adr.packing.instructioncomodel_name='adr.packing.instruction'string='Packing Instructions' -
transport_categorySelectionrequired=True args: TRANSPORT_CATEGORIES -
tunnel_restriction_codeSelectionrequired=True args: TUNNEL_RESTRICTION_CODES -
un_numberCharhelp="Contains the UN number: of the dangerous substance or article if the substance or article has been assigned its own specific UN number; or of the generic or n.o.s. entry to which the dangerous substances or articles not mentioned by name shall be assigned in accordance with the criteria ('decision trees') of Part 2."required=Truestring='UN Number'
No public methods.
New fields (5)
-
class_idMany2one → adr.classcomodel_name='adr.class'required=Truestring='Class' -
codeCharrequired=True -
goods_idsMany2many → adr.goodscomodel_name='adr.goods'copy=Falsehelp='The dangerous goods to which this label is applied'string='ADR Goods' -
imageBinaryrequired=True -
nameCharrequired=Truetranslate=True
-
unlink(self)Restrict removal of labels in use
New fields (2)
-
codeCharrequired=True -
nameChartranslate=True
No public methods.
New fields (10)
-
adr_class_idMany2one → adr.classrelated='adr_goods_id.class_id' args: 'adr.class' -
adr_classification_codeCharrelated='adr_goods_id.classification_code' -
adr_goods_idMany2one → adr.goodsargs: 'adr.goods', 'Dangerous Goods' -
adr_label_idsMany2many → adr.labelrelated='adr_goods_id.label_ids' args: 'adr.label' -
adr_limited_quantityFloatrelated='adr_goods_id.limited_quantity' -
adr_limited_quantity_uom_idMany2onerelated='adr_goods_id.limited_quantity_uom_id' -
adr_packing_instruction_idsMany2many → adr.packing.instructionrelated='adr_goods_id.packing_instruction_ids' args: 'adr.packing.instruction' -
adr_transport_categorySelectionrelated='adr_goods_id.transport_category' -
adr_tunnel_restriction_codeSelectionrelated='adr_goods_id.tunnel_restriction_code' -
is_dangerousBooleancompute='_compute_is_dangerous'help='This product belongs to a dangerous class'inverse='_inverse_is_dangerous'readonly=Falsestore=True
-
create(self, vals_list)@api.model_create_multiPropagate the template's adr settings when creating variants
New fields (11)
-
adr_class_idMany2one → adr.classrelated='product_variant_ids.adr_goods_id.class_id' args: 'adr.class' -
adr_classification_codeCharrelated='adr_goods_id.classification_code' -
adr_goods_idMany2one → adr.goodsreadonly=Falserelated='product_variant_ids.adr_goods_id' args: 'adr.goods', 'Dangerous Goods' -
adr_goods_on_variantsBooleancompute='_compute_adr_goods_on_variants'help='Indicates whether the adr configuration is different for each variant.' -
adr_label_idsMany2many → adr.labelrelated='product_variant_ids.adr_goods_id.label_ids' args: 'adr.label' -
adr_limited_quantityFloatrelated='product_variant_ids.adr_goods_id.limited_quantity' -
adr_limited_quantity_uom_idMany2onerelated='product_variant_ids.adr_goods_id.limited_quantity_uom_id' -
adr_packing_instruction_idsMany2many → adr.packing.instructionrelated='product_variant_ids.adr_goods_id.packing_instruction_ids' args: 'adr.packing.instruction' -
adr_transport_categorySelectionrelated='product_variant_ids.adr_goods_id.transport_category' -
adr_tunnel_restriction_codeSelectionrelated='product_variant_ids.adr_goods_id.tunnel_restriction_code' -
is_dangerousBooleanhelp='This product belongs to a dangerous class'readonly=Falserelated='product_variant_ids.is_dangerous'
-
create(self, vals_list)@api.model_create_multiPropagate the template's adr settings on the created variants -
onchange_is_dangerous(self)@api.onchange('is_dangerous')Remove the dangerous goods attribute from the product (when is_dangerous is deselected) -
write(self, values)
New fields (1)
-
adr_pointsFloatcompute='_compute_adr_points'compute_sudo=Truedigits='Product Unit of Measure'string='ADR Points'
No public methods.
New fields (1)
-
adr_pointsFloatcompute='_compute_adr_points'digits='Product Unit of Measure'string='ADR Points'
No public methods.
Loading…
Loading…
Loading…
Loading…
- Status
- Open migration PR — not merged yet for this version
- CI status
- green — ready to merge
- Open since
- 44 days ago
- Last activity
- 20 days ago
- Repository
- OCA/community-data-files
- Pull request
- [16.0][MIG]: l10n eu product adr: Migration to 16.0 (#279)