Mail Notification Custom Subject

mail_notification_custom_subject
REPOSITORY
REPOSITORYOCA/mail
GIT
GIThttps://github.com/OCA/mail.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/mail/tree/18.0/mail_notification_custom_subject
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYSocial Network
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, Sander Lienaerts
WEBSITE
WEBSITEhttps://github.com/OCA/mail
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:18
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows you to specify templates to override the subject on
the notification emails sent by Odoo

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
mail_notification_custom_subject_form mail.message.custom.subject.form mail.message.custom.subject form New
mail_notification_custom_subject_tree mail.message.custom.subject.tree mail.message.custom.subject list New
Models touched (2)

New fields (6)
  • model_id Many2one → ir.model
    comodel_name='ir.model' help='Model where this template applies' ondelete='cascade' required=True string='Model'
  • name Char
    string='Template Name'
  • position Selection
    default='replace' help='Whether to replace completely, partially, append at beginning or append at end to other templates that apply to a given context' selection=[('append_before', 'Append Before'), ('append_after', 'Append After'), ('replace', 'Replace'), ('inside_replace', 'Partial Replacement')]
  • subject_template Char
    help='Subject (placeholders may be used here)' required=True translate=True
  • subject_to_replace Char
    help='The text that will be replaced. You can use placeholders. E.g.: {{ object.company_id.name }}'
  • subtype_ids Many2many → mail.message.subtype
    comodel_name='mail.message.subtype' required=True string='Applied Subtypes'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • message_post(self, *, body='', subject=None, message_type='notification', email_from=None, author_id=None, parent_id=False, subtype_xmlid=None, subtype_id=False, partner_ids=None, attachments=None, attachment_ids=None, body_is_html=False, **kwargs)
    @api.returns('mail.message', <expr>)
REPOSITORY
REPOSITORYOCA/social
GIT
GIThttps://github.com/OCA/social.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/social/tree/17.0/mail_notification_custom_subject
VERSION
VERSION 1.2.1
CATEGORY
CATEGORYSocial Network
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSsergio-teruel, Víctor Martínez, Weblate, OCA-git-bot, oca-ci, maciej-wichowski
WEBSITE
WEBSITEhttps://github.com/OCA/social
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:08
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows you to specify templates to override the subject on
the notification emails sent by Odoo

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
mail_notification_custom_subject_form mail.message.custom.subject.form mail.message.custom.subject form New
mail_notification_custom_subject_tree mail.message.custom.subject.tree mail.message.custom.subject tree New
Models touched (2)

New fields (6)
  • model_id Many2one → ir.model
    comodel_name='ir.model' help='Model where this template applies' ondelete='cascade' required=True string='Model'
  • name Char
    string='Template Name'
  • position Selection
    default='replace' help='Whether to replace completely, partially, append at beginning or append at end to other templates that apply to a given context' selection=[('append_before', 'Append Before'), ('append_after', 'Append After'), ('replace', 'Replace'), ('inside_replace', 'Partial Replacement')]
  • subject_template Char
    help='Subject (placeholders may be used here)' required=True translate=True
  • subject_to_replace Char
    help='The text that will be replaced. You can use placeholders. E.g.: {{ object.company_id.name }}'
  • subtype_ids Many2many → mail.message.subtype
    comodel_name='mail.message.subtype' required=True string='Applied Subtypes'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • message_post(self, *, body='', subject=None, message_type='notification', email_from=None, author_id=None, parent_id=False, subtype_xmlid=None, subtype_id=False, partner_ids=None, attachments=None, attachment_ids=None, body_is_html=False, **kwargs)
    @api.returns('mail.message', <expr>)
REPOSITORY
REPOSITORYOCA/social
GIT
GIThttps://github.com/OCA/social.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/social/tree/16.0/mail_notification_custom_subject
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYSocial Network
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Eduardo López Peñalver
WEBSITE
WEBSITEhttps://github.com/OCA/social
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:55
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
mail_notification_custom_subject_form mail.message.custom.subject.form mail.message.custom.subject form New
mail_notification_custom_subject_tree mail.message.custom.subject.tree mail.message.custom.subject tree New
Models touched (2)

New fields (5)
  • model_id Many2one → ir.model
    comodel_name='ir.model' help='Model where this template applies' ondelete='cascade' required=True string='Model'
  • name Char
    string='Template Name'
  • position Selection
    default='replace' help='Whether to replace, append at beggining or append at end to other templates that apply to a given context' selection=[('append_before', 'Append Before'), ('append_after', 'Append After'), ('replace', 'Replace')]
  • subject_template Char
    help='Subject (placeholders may be used here)' required=True
  • subtype_ids Many2many → mail.message.subtype
    comodel_name='mail.message.subtype' required=True string='Applied Subtypes'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • message_post(self, *, body='', subject=None, message_type='notification', email_from=None, author_id=None, parent_id=False, subtype_xmlid=None, subtype_id=False, partner_ids=None, attachments=None, attachment_ids=None, add_sign=True, record_name=False, **kwargs)
    @api.returns('mail.message', <expr>)
REPOSITORY
REPOSITORYOCA/social
GIT
GIThttps://github.com/OCA/social.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/social/tree/15.0/mail_notification_custom_subject
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYSocial Network
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSJairo Llopis, Víctor Martínez, Weblate, OCA-git-bot, oca-ci, Eduardo De Miguel, Luis Ernesto García Medina
WEBSITE
WEBSITEhttps://github.com/OCA/social
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:40
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
mail_notification_custom_subject_form mail.message.custom.subject.form mail.message.custom.subject form New
mail_notification_custom_subject_tree mail.message.custom.subject.tree mail.message.custom.subject tree New
Models touched (2)

New fields (5)
  • model_id Many2one → ir.model
    comodel_name='ir.model' help='Model where this template applies' ondelete='cascade' required=True string='Model'
  • name Char
    string='Template Name'
  • position Selection
    default='replace' help='Whether to replace, append at beggining or append at end to other templates that apply to a given context' selection=[('append_before', 'Append Before'), ('append_after', 'Append After'), ('replace', 'Replace')]
  • subject_template Char
    help='Subject (placeholders may be used here)' required=True
  • subtype_ids Many2many → mail.message.subtype
    comodel_name='mail.message.subtype' required=True string='Applied Subtypes'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • message_post(self, *, body='', subject=None, message_type='notification', email_from=None, author_id=None, parent_id=False, subtype_xmlid=None, subtype_id=False, partner_ids=None, attachments=None, attachment_ids=None, add_sign=True, record_name=False, **kwargs)
    @api.returns('mail.message', <expr>)
REPOSITORY
REPOSITORYOCA/social
GIT
GIThttps://github.com/OCA/social.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/social/tree/14.0/mail_notification_custom_subject
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYSocial Network
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSEnric Tobella, Naglis Jonaitis, oca-travis, Weblate, OCA-git-bot, Olga Marco, oca-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/social
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:08
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
mail_notification_custom_subject_form mail.message.custom.subject.form mail.message.custom.subject form New
mail_notification_custom_subject_tree mail.message.custom.subject.tree mail.message.custom.subject tree New
Models touched (2)

New fields (5)
  • model_id Many2one → ir.model
    comodel_name='ir.model' help='Model where this template applies' ondelete='cascade' required=True string='Model'
  • name Char
    string='Template Name'
  • position Selection
    default='replace' help='Whether to replace, append at beggining or append at end to other templates that apply to a given context' selection=[('append_before', 'Append Before'), ('append_after', 'Append After'), ('replace', 'Replace')] string='Position'
  • subject_template Char
    help='Subject (placeholders may be used here)' required=True string='Subject Template'
  • subtype_ids Many2many → mail.message.subtype
    comodel_name='mail.message.subtype' required=True string='Applied Subtypes'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • message_post(self, *, body='', subject=None, message_type='notification', email_from=None, author_id=None, parent_id=False, subtype_xmlid=None, subtype_id=False, partner_ids=None, channel_ids=None, attachments=None, attachment_ids=None, add_sign=True, record_name=False, **kwargs)
    @api.returns('mail.message', <expr>)
REPOSITORY
REPOSITORYOCA/social
GIT
GIThttps://github.com/OCA/social.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/social/tree/13.0/mail_notification_custom_subject
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYSocial Network
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSOCA Transbot, Víctor Martínez, oca-travis, OCA-git-bot, Carlos Roca
WEBSITE
WEBSITEhttps://github.com/OCA/social
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:18
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
mail_notification_custom_subject_form mail.message.custom.subject.form mail.message.custom.subject form New
mail_notification_custom_subject_tree mail.message.custom.subject.tree mail.message.custom.subject tree New
Models touched (2)

New fields (5)
  • model_id Many2one → ir.model
    comodel_name='ir.model' help='Model where this template applies' required=True string='Model'
  • name Char
    string='Template Name'
  • position Selection
    default='replace' help='Whether to replace, append at beggining or append at end to other templates that apply to a given context' selection=[('append_before', 'Append Before'), ('append_after', 'Append After'), ('replace', 'Replace')] string='Position'
  • subject_template Char
    help='Subject (placeholders may be used here)' required=True string='Subject Template'
  • subtype_ids Many2many → mail.message.subtype
    comodel_name='mail.message.subtype' required=True string='Applied Subtypes'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • message_post(self, body='', subject=None, message_type='notification', subtype=None, parent_id=False, attachments=None, notif_layout=False, add_sign=True, model_description=False, mail_auto_delete=True, **kwargs)
    @api.returns('mail.message', <expr>)
REPOSITORY
REPOSITORYOCA/social
GIT
GIThttps://github.com/OCA/social.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/social/tree/12.0/mail_notification_custom_subject
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYSocial Network
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, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Tom Blauwendraat
WEBSITE
WEBSITEhttps://github.com/OCA/social
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:23
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
mail_notification_custom_subject_form mail.message.custom.subject.form mail.message.custom.subject form New
mail_notification_custom_subject_tree mail.message.custom.subject.tree mail.message.custom.subject tree New
Models touched (2)

New fields (5)
  • model_id Many2one → ir.model
    comodel_name='ir.model' help='Model where this template applies' required=True string='Model'
  • name Char
    string='Template Name'
  • position Selection
    default='replace' help='Whether to replace, append at beggining or append at end to other templates that apply to a given context' selection=[('append_before', _('Append Before')), ('append_after', _('Append After')), ('replace', _('Replace'))] string='Position'
  • subject_template Char
    help='Subject (placeholders may be used here)' required=True string='Subject Template'
  • subtype_ids Many2many → mail.message.subtype
    comodel_name='mail.message.subtype' required=True string='Applied Subtypes'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • message_post(self, body='', subject=None, message_type='notification', subtype=None, parent_id=False, attachments=None, notif_layout=False, add_sign=True, model_description=False, mail_auto_delete=True, **kwargs)
    @api.returns('mail.message', <expr>)
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/mail
PULL REQUEST
PULL REQUEST[19.0][MIG] mail_notification_custom_subject: Migration to 19.0 (#221)