Loyalty multi product criteria

loyalty_criteria_multi_product
REPOSITORY
REPOSITORYOCA/sale-promotion
GIT
GIThttps://github.com/OCA/sale-promotion.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/sale-promotion/tree/18.0/loyalty_criteria_multi_product
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYSale
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, Bhavesh Heliconia, Pilar Vargas
WEBSITE
WEBSITEhttps://github.com/OCA/sale-promotion
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:08
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - loyalty
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - uom
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - account
    - onboarding
    - analytic
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Base module that allows to define complex rules on products to fulfill
the conditions of a loyalty program, so for a given set of products we
could define a minimum quantity and another for others, being all those
criterias mandatory for the program to be applied.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
loyalty_program_view_form_common loyalty.program field Inherits loyalty.loyalty_program_view_form
loyalty_rule_view_form loyalty.rule field Inherits loyalty.loyalty_rule_view_form
loyalty_rule_view_kanban loyalty.rule xpath Inherits loyalty.loyalty_rule_view_kanban
Models touched (3)

New fields (3)
  • product_ids Many2many → product.product
    comodel_name='product.product' required=True
  • rule_id Many2one → loyalty.rule
    comodel_name='loyalty.rule'
  • rule_min_quantity Integer
    compute='_compute_rule_min_quantity' help='Minimum required product quantity to get the reward' readonly=True store=True string='Min. Quantity'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • loyalty_criteria Selection
    default='domain' help='- Domain: Standard behavior. The products are evaluated by domain.\n- Multi product: rules can be applied to different products and all of the have to be fulfilled' selection=[('domain', 'Domain'), ('multi_product', 'Multi Product')] string='Loyalty criteria'
  • loyalty_criteria_ids One2many → loyalty.criteria
    comodel_name='loyalty.criteria' inverse_name='rule_id' string='Multi Product Criterias'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)
REPOSITORY
REPOSITORYOCA/sale-promotion
GIT
GIThttps://github.com/OCA/sale-promotion.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/sale-promotion/tree/16.0/loyalty_criteria_multi_product
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYSale
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSPedro M. Baeza, Weblate, OCA-git-bot, oca-ci, pilarvargas-tecnativa
WEBSITE
WEBSITEhttps://github.com/OCA/sale-promotion
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:41
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - loyalty
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
loyalty_program_view_form_common loyalty.program field Inherits loyalty.loyalty_program_view_form
loyalty_rule_view_form loyalty.rule field Inherits loyalty.loyalty_rule_view_form
loyalty_rule_view_kanban loyalty.rule xpath Inherits loyalty.loyalty_rule_view_kanban
Models touched (3)

New fields (3)
  • product_ids Many2many → product.product
    comodel_name='product.product' required=True
  • rule_id Many2one → loyalty.rule
    comodel_name='loyalty.rule'
  • rule_min_quantity Integer
    compute='_compute_rule_min_quantity' help='Minimum required product quantity to get the reward' readonly=True store=True string='Min. Quantity'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • loyalty_criteria Selection
    default='domain' help='- Domain: Standard behavior. The products are evaluated by domain.\n- Multi product: rules can be applied to different products and all of the have to be fulfilled' selection=[('domain', 'Domain'), ('multi_product', 'Multi Product')] string='Loyalty criteria'
  • loyalty_criteria_ids One2many → loyalty.criteria
    comodel_name='loyalty.criteria' inverse_name='rule_id' string='Multi Product Criterias'
Public methods (0)

No public methods.

STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/sale-promotion
PULL REQUEST
PULL REQUEST[17.0][MIG] loyalty_criteria_multi_product: Migration to 17.0 (#240)
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/sale-promotion
PULL REQUEST
PULL REQUEST[19.0] [MIG] loyalty_criteria_multi_product: Migration to 19.0 (#314)