Product Exception

product_exception
REPOSITORY
REPOSITORYOCA/product-attribute
GIT
GIThttps://github.com/OCA/product-attribute.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/product-attribute/tree/13.0/product_exception
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYQuality
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, GuillemCForgeFlow
WEBSITE
WEBSITEhttps://github.com/OCA/product-attribute
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:14
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/server-tools:
    - base_exception
odoo/odoo:
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
product_template_form_view product_template_form_view - product_exception product.template header Inherits product.product_template_form_view
product_template_search_view product.template filter Inherits product.product_template_search_view
product_template_tree_view product.template field Inherits product.product_template_tree_view
Models touched (3)

New fields (2)
  • model Selection
    selection_add=[('product.template', 'Product Template'), ('product.product', 'Product Variant')]
  • product_tmpl_ids Many2many → product.template
    string='Product Templates' args: 'product.template'
Public methods (0)

No public methods.

New fields (1)
  • exception_ids Many2many
    related='product_tmpl_id.exception_ids'
Public methods (4)
  • action_product_detect_exceptions(self)
    Manually trigger to calculate the Exceptions. For Variants calculate for them only
  • create(self, vals)
    @api.model
    Upon creation, check if the Product Variant has any Exception, if so, raise a Validation Error
  • product_check_exception(self)
  • write(self, vals)
    When changing one of the trigger fields, check if the Product Variant has any Exception, if so, raise a Validation Error

New fields (0)

No new fields.

Public methods (6)
  • action_product_detect_exceptions(self)
    Manually trigger to calculate the Exceptions. For Templates, calculate for them and for their respective Product Variants
  • check_product_template_cron(self)
    @api.model
  • create(self, vals)
    @api.model
    Upon creation, check if the Product Template has any Exception, if so, raise a Validation Error
  • detect_exceptions(self)
  • product_check_exception(self)
  • write(self, vals)
    When changing one of the trigger fields, check if the Product Template has any Exception, if so, raise a Validation Error
REPOSITORY
REPOSITORYOCA/product-attribute
GIT
GIThttps://github.com/OCA/product-attribute.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/product-attribute/tree/10.0/product_exception
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYQuality
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSoca-travis, OCA-git-bot, hparfr
WEBSITE
WEBSITEhttps://github.com/OCA/product-attribute
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:57
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/server-tools:
    - base_exception
odoo/odoo:
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - web_tour
    - report
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
product_template_form_view product.template xpath Inherits product.product_template_form_view
product_template_search_view product.template xpath Inherits product.product_template_search_view
Models touched (3)

New fields (2)
  • model Selection
    selection_add=[('product.template', 'Product Template')]
  • product_tmpl_ids Many2many → product.template
    string='Product Templates' args: 'product.template'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • check_exception(self)
    @api.multi
    Shortcut from variant view.

New fields (0)

No new fields.

Public methods (2)
  • check_exception(self)
    @api.multi
  • check_product_template_cron(self)
    @api.model
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/product-attribute
PULL REQUEST
PULL REQUEST[18.0][MIG] product_exception (#2161)