Loyalty Mass Mailing

loyalty_mass_mailing
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_mass_mailing
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYMarketing
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSVíctor Martínez, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/sale-promotion
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:08
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/sale-promotion:
    - loyalty_partner_applicability
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
    - mass_mailing
    - contacts
    - utm
    - link_tracker
    - social_media
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This addon adds a smart-button in promotions called "Mailings" that
allows you to link mass-mailing. In the case that there is no
mass-mailing created yet, when clicking the smart-button, one will be
created with the contact domain previously defined in the promotion,
otherwise, the existing mailings will be listed.

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
loyalty_program_view_form loyalty.program xpath Inherits loyalty.loyalty_program_view_form
view_mail_mass_mailing_form_custom mailing.mailing label Inherits mass_mailing.view_mail_mass_mailing_form
Models touched (2)

New fields (2)
  • mailing_count Integer
    compute='_compute_mailing_count' string='Mailing count'
  • mailing_ids One2many → mailing.mailing
    comodel_name='mailing.mailing' copy=False inverse_name='program_id' string='Mailings'
Public methods (1)
  • action_mailing_count(self)

New fields (1)
  • program_id Many2one → loyalty.program
    comodel_name='loyalty.program' ondelete='cascade' string='Program'
Public methods (1)
  • onchange_program_id(self)
    @api.onchange('program_id')
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_mass_mailing
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYMarketing
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSLaurent Mignon (ACSONE), 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 OCA/sale-promotion:
    - loyalty_partner_applicability
odoo/odoo:
    - loyalty
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - mass_mailing
    - contacts
    - utm
    - link_tracker
    - web_editor
    - web_kanban_gauge
    - social_media
    - digest
    - portal
    - http_routing
    - auth_signup
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
loyalty_program_view_form loyalty.program xpath Inherits loyalty.loyalty_program_view_form
view_mail_mass_mailing_form_custom mailing.mailing label Inherits mass_mailing.view_mail_mass_mailing_form
Models touched (2)

New fields (3)
  • mailing_count Integer
    compute='_compute_mailing_count' string='Mailing count'
  • mailing_ids One2many → mailing.mailing
    comodel_name='mailing.mailing' copy=False inverse_name='program_id' string='Mailings'
  • partner_applicability_domain Char
    compute='_compute_partner_applicability_domain'
Public methods (1)
  • action_mailing_count(self)

New fields (1)
  • program_id Many2one → loyalty.program
    comodel_name='loyalty.program' ondelete='cascade' string='Program'
Public methods (1)
  • onchange_program_id(self)
    @api.onchange('program_id')
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/sale-promotion
PULL REQUEST
PULL REQUEST[19.0][MIG] loyalty_mass_mailing: Migration to 19.0 (#330)