TIP: You can type at any time to perform a new search.
Mail Layout Force
mail_layout_force · OCA/mail
- Repository
- OCA/mail · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Marketing
- Folder size
- 0.06 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/mail
- Last tracking update
- 2026-08-07 08:42:57
- Authors
- Camptocamp, Odoo Community Association (OCA)
- Maintainers
- Camptocamp, Odoo Community Association (OCA)
- Committers
- Aungkokolin1997, OCA-git-bot, oca-ci
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
Odoo will add a default email layout on most commercial communications. The email layout is a ``QWeb`` view that ends up wrapping the message body when sending an email. It usually displays the related document reference, the company logo, and a small footer saying "Powered by Odoo". There are notably three main layouts used in Odoo, and the user can't control when they're used, as it's hardcoded into the different applications. * ``mail.mail_notification_layout`` * ``mail.mail_notification_layout_with_responsible_signature`` * ``mail.mail_notification_light`` This module allows to force a specific layout for a given ``email.template``, effectively overwriting the one hardcoded by Odoo. Additionally, it enables forcing a custom layout for emails that do not use an existing ``email.template`` record (e.g., when sending an email from the chatter). This allows you to fully customize the way Odoo emails are rendered and sent to your customers.
Code Analysis ⓘ
Views touched (4)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
email_template_form |
mail.template | form | Inherits mail.email_template_form | |
mail_layout_custom |
mail_layout_custom | ir.ui.view | qweb | New |
mail_layout_noop |
Mail: No-Layout notification template | ir.ui.view | qweb | New |
view_ir_ui_view_form_inherit |
ir.ui.view.form.inherit | ir.ui.view | form | Inherits base.view_view_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (5)
New fields (3)
-
layout_idMany2one → ir.ui.viewondelete='cascade' args: 'ir.ui.view' -
model_idsMany2many → ir.modelhelp='Select models that the swapping applies to.'string='Models' args: 'ir.model' -
substitute_layout_idMany2one → ir.ui.viewdomain=[('type', '=', 'qweb')]help='Select a target layout.'required=True args: 'ir.ui.view'
No public methods.
New fields (1)
-
layout_mapping_line_idsOne2many → email.layout.mappingargs: 'email.layout.mapping', 'layout_id'
No public methods.
New fields (0)
No new fields.
Public methods (1)-
default_get(self, fields_list)@api.model
New fields (1)
-
force_email_layout_idMany2one → ir.ui.viewcomodel_name='ir.ui.view'compute='_compute_force_email_layout_id'domain=[('type', '=', 'qweb'), ('mode', '=', 'primary')]help='Force a mail layout for this template.'inverse='_inverse_force_email_layout_id'string='Force Layout'
No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
Loading…
Loading…
Loading…
Loading…