| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/mail |
| GIT | |
| GIT | https://github.com/OCA/mail.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/mail/tree/18.0/mail_activity_plan_domain |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Discuss |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA) |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA) |
| COMMITTERS | |
| COMMITTERS | Víctor Martínez, Weblate, OCA-git-bot, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/mail |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:18 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - 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 extends Odoo's activity plan feature with domain-based filtering at
two levels:
**Plan domain**
Each activity plan gains a *Domain* field. Only records matching this domain
will have the plan available in the scheduling wizard
(`mail.activity.schedule`). This lets you restrict plans to, for example,
company-type partners or records in a specific stage.
**Template domain**
Each line of an activity plan (template) gains its own *Domain* field. When
executing a plan, activities whose template domain does not match the target
record are silently skipped. This allows a single plan to cover heterogeneous
records while still generating only the relevant activities per record.
**Notes**
- The error preview shown in the scheduling wizard (missing responsible,
etc.) deliberately ignores template domains so that all potential
configuration issues remain visible.
- When scheduling a plan on multiple records, execution is serialized
record by record so that each record is evaluated independently against
both plan and template domains.
- Domain syntax follows the standard Odoo domain format,
e.g. `[('is_company', '=', True)]`. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
mail_activity_plan_template_view_form_domain |
mail.activity.plan.template.view.form.domain | mail.activity.plan.template | xpath | Inherits mail.mail_activity_plan_template_view_form |
mail_activity_plan_view_form_domain |
mail.activity.plan.view.form.domain | mail.activity.plan | field | Inherits mail.mail_activity_plan_view_form |
mail_activity_plan_view_form_template_domain |
mail.activity.plan.view.form.template.domain | mail.activity.plan | xpath | Inherits mail.mail_activity_plan_view_form |
domain
Char
default='[]'
help="Domain to filter the records on which this plan is applicable. Leave empty or use '[]' to apply to all records of the target model."
No public methods.
domain
Char
default='[]'
help="Domain to filter the records for which this activity will be scheduled. Leave empty or use '[]' to always schedule this activity."
No public methods.
No new fields.
Public methods (1)action_schedule_plan(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/mail |
| GIT | |
| GIT | https://github.com/OCA/mail.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/mail/tree/17.0/mail_activity_plan_domain |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Discuss |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA) |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA) |
| COMMITTERS | |
| COMMITTERS | Víctor Martínez, Weblate, OCA-git-bot, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/mail |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:10 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - base_setup - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module extends Odoo's activity plan feature with domain-based filtering at
two levels:
**Plan domain**
Each activity plan gains a *Domain* field. Only records matching this domain
will have the plan available in the scheduling wizard
(`mail.activity.schedule`). This lets you restrict plans to, for example,
company-type partners or records in a specific stage.
**Template domain**
Each line of an activity plan (template) gains its own *Domain* field. When
executing a plan, activities whose template domain does not match the target
record are silently skipped. This allows a single plan to cover heterogeneous
records while still generating only the relevant activities per record.
**Notes**
- The error preview shown in the scheduling wizard (missing responsible,
etc.) deliberately ignores template domains so that all potential
configuration issues remain visible.
- When scheduling a plan on multiple records, execution is serialized
record by record so that each record is evaluated independently against
both plan and template domains.
- Domain syntax follows the standard Odoo domain format,
e.g. `[('is_company', '=', True)]`. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
mail_activity_plan_template_view_form_domain |
mail.activity.plan.template.view.form.domain | mail.activity.plan.template | xpath | Inherits mail.mail_activity_plan_template_view_form |
mail_activity_plan_view_form_domain |
mail.activity.plan.view.form.domain | mail.activity.plan | xpath | Inherits mail.mail_activity_plan_view_form |
mail_activity_plan_view_form_template_domain |
mail.activity.plan.view.form.template.domain | mail.activity.plan | xpath | Inherits mail.mail_activity_plan_view_form |
domain
Char
default='[]'
help="Domain to filter the records on which this plan is applicable. Leave empty or use '[]' to apply to all records of the target model."
No public methods.
domain
Char
default='[]'
help="Domain to filter the records for which this activity will be scheduled. Leave empty or use '[]' to always schedule this activity."
No public methods.
No new fields.
Public methods (1)action_schedule_plan(self)