Repository
OCA/product-attribute · module folder · Try on Runboat
Module version
1.0.0
Category
Product
Folder size
0.12 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/product-attribute
Last tracking update
2026-08-07 09:06:25
Authors
Odoo Community Association (OCA), Tecnativa
Maintainers
Odoo Community Association (OCA), Tecnativa
Committers
Weblate, OCA-git-bot, oca-ci, Jochen De Bie
Odoo dependencies
odoo/odoo:
- web
- bus
- uom
Python dependencies
None
System dependencies
None
Required by
purchase_order_secondary_unit, sale_order_secondary_unit, stock_secondary_unit
Description
This module extends the functionality of product module to allow define
other units with their conversion factor.

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
product_normal_form_view Product Secondary Unit product.product form Inherits product.product_normal_form_view
product_template_form_view Product template Secondary Unit product.template form Inherits product.product_template_form_view
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (1)
  • secondary_uom_ids One2many → product.secondary.unit
    comodel_name='product.secondary.unit' compute='_compute_secondary_uom_ids' context={'active_test': False} help='Default Secondary Unit of Measure.' inverse='_inverse_secondary_uom_ids' inverse_name='product_id' string='Secondary Unit of Measure'
Public methods (0)

No public methods.

New fields (8)
  • active Boolean
    default=True
  • code Char
  • dependency_type Selection
    default='dependent' help="If dependency type is 'dependent' the factor is used to compute quantity in primary unit,otherwise primary and secondary unit are independent. For example if you sell serviceby package (1 unit for example) and you want to put the real time (ex : 4 hours) to allows employee scheduling" selection=[('dependent', 'Dependent'), ('independent', 'Independent')]
  • factor Float
    default=1.0 required=True string='Secondary Unit Factor'
  • name Char
    required=True translate=True
  • product_id Many2one → product.product
    comodel_name='product.product' ondelete='cascade' string='Product Variant'
  • product_tmpl_id Many2one → product.template
    comodel_name='product.template' ondelete='cascade' required=True string='Product Template'
  • uom_id Many2one → uom.uom
    comodel_name='uom.uom' help='Default Secondary Unit of Measure.' required=True string='Secondary Unit of Measure'
Public methods (0)

No public methods.

New fields (2)
  • secondary_uom_id Many2one → product.secondary.unit
    comodel_name='product.secondary.unit' default=<expr> ondelete='restrict' string='Second unit'
  • secondary_uom_qty Float
    compute='_compute_secondary_uom_qty' digits='Product Unit of Measure' precompute=True readonly=False store=True string='Secondary Qty'
Public methods (1)
  • default_get(self, fields_list)
    @api.model

New fields (1)
  • secondary_uom_ids One2many → product.secondary.unit
    comodel_name='product.secondary.unit' context={'active_test': False} help='Default Secondary Unit of Measure.' inverse_name='product_tmpl_id' string='Secondary Unit of Measure'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…