Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
42db87f
[ADD] mail_notification_custom_subject: Apply a custom subject to mai…
joao-p-marques Jan 5, 2021
72b582a
[IMP] mail_notification_custom_subject: black, isort, prettier
CarlosRoca13 Feb 15, 2021
e199a72
[MIG] mail_notification_custom_subject: Migration to v13.0
CarlosRoca13 Feb 16, 2021
1618ef3
[IMP] mail_notification_custom_subject: Add comment to explain test_b…
victoralmau Apr 19, 2021
fe2d45e
[IMP] mail_notification_custom_subject: black, isort, prettier
Aug 12, 2021
5b2f315
[MIG] mail_notification_custom_subject: Migration to 14.0
Aug 12, 2021
9d07ab3
[FIX] mail_notification_custom_subject: Error modifying subtype_id
olgamarcocb Jan 24, 2022
20522ee
[MIG] mail_notification_custom_subject: Migration to 15.0
victoralmau Oct 19, 2022
fcef384
[FIX] mail_notification_custom_subject: do not require being admin to…
yajo Dec 2, 2022
ab6ff28
[BUILD] mail_notification_custom_subject: change maintainer
yajo Dec 2, 2022
8970678
[FIX] mail_notification_custom_subject: Use same approach as Odoo whe…
Shide Dec 14, 2022
36465cf
[IMP] mail_notification_custom_subject: add migration script for conv…
ernesto-garcia-tecnativa Mar 31, 2023
83eb01c
[IMP] mail_notification_custom_subject: pre-commit auto fixes
maciej-wichowski Apr 9, 2024
296498e
[MIG] mail_notification_custom_subject: migration to 17.0
maciej-wichowski Apr 9, 2024
c8b7261
[IMP] mail_notification_custom_subject: Make the subject_template fie…
victoralmau Dec 20, 2024
6d3e8ba
[IMP] mail_notification_custom_subject: Do not replace the subject if…
victoralmau Jan 16, 2025
85bd1f1
[IMP] mail_notification_custom_subject: Add a log when there is an Ex…
victoralmau Jan 17, 2025
5b3f66f
[IMP] mail_notification_custom_subject: Add inside_replace position
victoralmau Jan 16, 2025
d3baadf
[IMP] mail_notification_custom_subject: pre-commit auto fixes
victoralmau Feb 7, 2025
0f59c6e
[MIG] mail_notification_custom_subject: Migration to 18.0
victoralmau Feb 7, 2025
2552099
[FIX] mail_notification_custom_subject: read templates with sudo
sanderlienaerts Apr 22, 2026
947ddd5
[IMP] mail_notification_custom_subject: pre-commit execution
quoc-pn Jul 2, 2026
25d680f
[MIG] mail_notification_custom_subject: Migration to 19.0
quoc-pn Jul 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
135 changes: 135 additions & 0 deletions mail_notification_custom_subject/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

================================
Mail Notification Custom Subject
================================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:9529c3d98aeed27dd9b25bf12787be628ef15efc44bc0b2c13171f73d0137c24
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
:target: https://odoo-community.org/page/development-status
:alt: Production/Stable
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fmail-lightgray.png?logo=github
:target: https://github.com/OCA/mail/tree/19.0/mail_notification_custom_subject
:alt: OCA/mail
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/mail-19-0/mail-19-0-mail_notification_custom_subject
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/mail&target_branch=19.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module allows you to specify templates to override the subject on
the notification emails sent by Odoo

**Table of contents**

.. contents::
:local:

Configuration
=============

- Activate access to **Technical Features** (debug mode).

- Go to **Settings > Technical > Email > Subject Replacement Templates**

- Create a new template.

- The field **Model** specifies the model to which the subject
template should apply in the notification emails sent by Odoo.
- The field **Subject Template** accepts
`expressions <https://www.odoo.com/documentation/18.0/applications/general/companies/email_template.html#dynamic-placeholders>`__.
- The field **Subject to replace** accepts
`expressions <https://www.odoo.com/documentation/18.0/applications/general/companies/email_template.html#dynamic-placeholders>`__
- The field **Replace** specifies if the template should replace
existing content or append to it.
- The field **Partial Replacement** specifies if the template
should parcial replace existing content.

Usage
=====

To use this module, you need to:

- Open the chatter in Odoo (e.g. Open an Invoice).
- Send a message.
- Observe the rendered Subject template.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/mail/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/mail/issues/new?body=module:%20mail_notification_custom_subject%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Tecnativa

Contributors
------------

- Tecnativa <https://www.tecnativa.com>

- Pedro M. Baeza
- João Marques
- Carlos Roca
- Víctor Martínez

- Versada <https://versada.eu>

- Naglis Jonaitis

- Moduon <https://www.moduon.team>

- Eduardo de Miguel

- Codeforward <https://www.codeforward.nl>

- Sander Lienaerts

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-yajo| image:: https://github.com/yajo.png?size=40px
:target: https://github.com/yajo
:alt: yajo

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-yajo|

This module is part of the `OCA/mail <https://github.com/OCA/mail/tree/19.0/mail_notification_custom_subject>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions mail_notification_custom_subject/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
21 changes: 21 additions & 0 deletions mail_notification_custom_subject/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Copyright 2020-2021 Tecnativa - João Marques
# Copyright 2021 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

{
"name": "Mail Notification Custom Subject",
"summary": "Apply a custom subject to mail notifications",
"version": "19.0.1.0.0",
"category": "Social Network",
"website": "https://github.com/OCA/mail",
"author": "Tecnativa, Odoo Community Association (OCA)",
"license": "AGPL-3",
"installable": True,
"depends": ["mail"],
"data": [
"security/ir.model.access.csv",
"views/mail_notification_custom_subject_views.xml",
],
"development_status": "Production/Stable",
"maintainers": ["yajo"],
}
143 changes: 143 additions & 0 deletions mail_notification_custom_subject/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * mail_notification_custom_subject
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-05-07 18:19+0000\n"
"Last-Translator: Ed-Spain <eduamoros@gmail.com>\n"
"Language-Team: none\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.15.2\n"

#. module: mail_notification_custom_subject
#: model:ir.model.fields.selection,name:mail_notification_custom_subject.selection__mail_message_custom_subject__position__append_after
msgid "Append After"
msgstr "Añadir Después"

#. module: mail_notification_custom_subject
#: model:ir.model.fields.selection,name:mail_notification_custom_subject.selection__mail_message_custom_subject__position__append_before
msgid "Append Before"
msgstr "Añadir antes de"

#. module: mail_notification_custom_subject
#: model:ir.model.fields,field_description:mail_notification_custom_subject.field_mail_message_custom_subject__subtype_ids
msgid "Applied Subtypes"
msgstr "Subtipos Aplicados"

#. module: mail_notification_custom_subject
#: model:ir.model.fields,field_description:mail_notification_custom_subject.field_mail_message_custom_subject__create_uid
msgid "Created by"
msgstr "Creado por"

#. module: mail_notification_custom_subject
#: model:ir.model.fields,field_description:mail_notification_custom_subject.field_mail_message_custom_subject__create_date
msgid "Created on"
msgstr "Creado el"

#. module: mail_notification_custom_subject
#: model:ir.model.fields,field_description:mail_notification_custom_subject.field_mail_message_custom_subject__display_name
msgid "Display Name"
msgstr "Mostrar Nombre"

#. module: mail_notification_custom_subject
#: model:ir.model,name:mail_notification_custom_subject.model_mail_thread
msgid "Email Thread"
msgstr "Hilo de Correo Electrónico"

#. module: mail_notification_custom_subject
#: model:ir.model.fields,field_description:mail_notification_custom_subject.field_mail_message_custom_subject__id
msgid "ID"
msgstr "ID (identificación)"

#. module: mail_notification_custom_subject
#: model:ir.model.fields,field_description:mail_notification_custom_subject.field_mail_message_custom_subject__write_uid
msgid "Last Updated by"
msgstr "Actualizado por Última vez por"

#. module: mail_notification_custom_subject
#: model:ir.model.fields,field_description:mail_notification_custom_subject.field_mail_message_custom_subject__write_date
msgid "Last Updated on"
msgstr "Última Actualización el"

#. module: mail_notification_custom_subject
#: model:ir.model,name:mail_notification_custom_subject.model_mail_message_custom_subject
msgid "Mail Message Custom Subject"
msgstr "Mensaje de correo Asunto personalizado"

#. module: mail_notification_custom_subject
#: model:ir.model.fields,field_description:mail_notification_custom_subject.field_mail_message_custom_subject__model_id
msgid "Model"
msgstr "Modelo"

#. module: mail_notification_custom_subject
#: model:ir.model.fields,help:mail_notification_custom_subject.field_mail_message_custom_subject__model_id
msgid "Model where this template applies"
msgstr "Modelo al que se aplica esta plantilla"

#. module: mail_notification_custom_subject
#: model:ir.model.fields.selection,name:mail_notification_custom_subject.selection__mail_message_custom_subject__position__inside_replace
msgid "Partial Replacement"
msgstr "Reemplazo parcial"

#. module: mail_notification_custom_subject
#: model:ir.model.fields,field_description:mail_notification_custom_subject.field_mail_message_custom_subject__position
msgid "Position"
msgstr "Posición"

#. module: mail_notification_custom_subject
#: model:ir.model.fields.selection,name:mail_notification_custom_subject.selection__mail_message_custom_subject__position__replace
msgid "Replace"
msgstr "Reemplazar"

#. module: mail_notification_custom_subject
#: model:ir.model.fields,help:mail_notification_custom_subject.field_mail_message_custom_subject__subject_template
#: model_terms:ir.ui.view,arch_db:mail_notification_custom_subject.mail_notification_custom_subject_form
msgid "Subject (placeholders may be used here)"
msgstr "Asunto (pueden utilizarse marcadores de posición)"

#. module: mail_notification_custom_subject
#: model:ir.actions.act_window,name:mail_notification_custom_subject.action_mail_notification_custom_subject_tree_all
#: model:ir.ui.menu,name:mail_notification_custom_subject.menu_mail_notification_custom_subject
#: model_terms:ir.ui.view,arch_db:mail_notification_custom_subject.mail_notification_custom_subject_form
msgid "Subject Replacement Templates"
msgstr "Plantillas de Sustitución de Temas"

#. module: mail_notification_custom_subject
#: model:ir.model.fields,field_description:mail_notification_custom_subject.field_mail_message_custom_subject__subject_template
msgid "Subject Template"
msgstr "Tema Plantilla"

#. module: mail_notification_custom_subject
#: model:ir.model.fields,field_description:mail_notification_custom_subject.field_mail_message_custom_subject__subject_to_replace
msgid "Subject To Replace"
msgstr "Asunto a reemplazar"

#. module: mail_notification_custom_subject
#: model:ir.model.fields,field_description:mail_notification_custom_subject.field_mail_message_custom_subject__name
msgid "Template Name"
msgstr "Nombre de Plantilla"

#. module: mail_notification_custom_subject
#: model:ir.model.fields,help:mail_notification_custom_subject.field_mail_message_custom_subject__subject_to_replace
msgid ""
"The text that will be replaced. You can use placeholders. E.g.: {{ object."
"company_id.name }}"
msgstr ""
"El texto que se reemplazará. Puede utilizar marcadores de posición. Por "
"ejemplo: {{ object.company_id.name }}"

#. module: mail_notification_custom_subject
#: model:ir.model.fields,help:mail_notification_custom_subject.field_mail_message_custom_subject__position
msgid ""
"Whether to replace completely, partially, append at beginning or append at "
"end to other templates that apply to a given context"
msgstr ""
"Si reemplazar completamente, parcialmente, añadir al principio o al final a "
"otras plantillas que se aplican a un contexto dado"
Loading
Loading