Project Stage Guards & Workflow Rules | Odoo Task Transition Conditions | Kanban Approval Gates
by CODEerts https://www.codeerts.com$ย 69.00
In-App PurchasesProject Stage Guards & Workflow Rules
Stop a task from entering a stage until it is really ready.
Required fields, sub-tasks done, or a custom rule, with a clear block message.
A workflow gate for your Odoo Project kanban that the built-in automations cannot enforce. No Enterprise edition required.
|
Block
The Transition
|
3
Condition Types
|
Any
Stage
|
Clear
Block Message
|
Odoo 19
Compatible
|
The workflow gap every Odoo team knows
Odoo lets any task move to any stage, ready or not
|
Half-done work slips into Done
Anyone can drag a task to Done with empty required fields or open sub-tasks. There is no gate to stop it. |
Automation runs too late
Odoo automation rules fire after the change. They can react, but they cannot cancel a transition that should not have happened. |
No Definition of Done
There is no way to enforce a checklist before a task is allowed to close, so quality depends on everyone remembering. |
What this module does
Project Stage Guards adds transition gates to Odoo Project. A stage guard stops a task from moving into a chosen stage until it satisfies a rule: required fields are filled, every sub-task is done, or a custom condition you define, and shows a clear message explaining what is missing.
Guards apply to all projects or only the ones you pick, so a Definition of Done is enforced consistently. Unlike the built-in automation rules, which run actions after a change, a stage guard blocks the change itself, so incomplete work never slips into Done or Approved.
|
๐ก
Block, Do Not Just React
A guard stops the transition itself. Incomplete work cannot enter the stage, which base automation cannot enforce. |
โ
Three Ready-Made Rules
Require chosen fields to be filled, require every sub-task to be done, or write a custom condition as a domain. |
๐ฌ
Tells the User Why
When a move is blocked, a clear, configurable message explains exactly what is missing, so nobody is left guessing. |
|
๐ฆ Stage Guards
Block a task from entering a chosen stage until it passes the rule you set on that guard. |
๐ Required Fields Rule
Pick the fields that must be filled, for example a deadline or an assignee, before the task may move. |
|
๐ Sub-tasks Done Rule
A parent task cannot close while any of its sub-tasks is still open, so nothing is left behind. |
๐ฏ Custom Rule (Domain)
Need something specific? Write any condition as a domain and the guard enforces it before the move. |
|
๐ Per-Project Scope
Apply a guard to every project or only to selected ones, so each team can have its own rules. |
๐ข Multi-Company Ready
A guard can apply to one company or all of them, with record rules keeping each company to its own guards. |
|
๐ฌ Configurable Message
Write the exact message a user sees when a guard blocks a move, so the reason is always clear. |
๐งฉ Builds on Standard Project
Adds to Project and base automation, runs on Community as well as Enterprise, and changes none of your data. |
How it works
1 |
Create a stage guard In Project configuration, add a guard and choose the target stage it protects, for example Done or Approved. |
2 |
Pick the rule Choose required fields, all sub-tasks done, or a custom domain, and write the message shown when it blocks. |
3 |
Scope it Leave it global or limit it to specific projects and, in a multi-company database, to a specific company. |
4 |
The gate does the rest When someone tries to move a task into the guarded stage without meeting the rule, the move is blocked with your message. |
Screenshot walkthrough
Stop a task from moving on until it is truly ready.
Every guard in one list: which stage it protects, what it checks, and which company and projects it applies to.
A required-fields guard blocks a task from entering a stage until the fields you choose, a deadline, an assignee, are filled in.
A sub-tasks guard stops a parent task reaching a closed stage while any of its sub-tasks is still open.
A domain guard lets you express any condition on the task, so you can enforce a policy unique to your team, with a custom block message when it is not met.
Technical information
|
Version
19.0
|
License
OPL-1
|
Editions
Community & Enterprise
|
Dependencies
project, base_automation
|
Technical name: codeerts_project_automation ยท Adds: stage guards with required-fields, sub-tasks-done and custom-domain rules
Frequently asked questions
Create a stage guard on the Done stage with a rule such as required fields filled or all sub-tasks done. When someone tries to move a task into that stage without meeting the rule, the move is blocked and a message explains what is missing.
Base automation runs an action after a record changes. A stage guard runs before the change and can stop it, so it enforces a Definition of Done that automation rules cannot, because they cannot cancel the transition itself.
Yes. One of the built-in conditions checks that every sub-task of the task is in a closed stage, so a parent task cannot be closed while its sub-tasks are still open.
Yes. Each guard can apply to all projects or a specific set you choose, and in a multi-company database it can be scoped to one company or left to apply everywhere.
Use the version selector at the top of this page to pick your Odoo release. The module builds on the standard Project and base automation apps and works on both Community and Enterprise.
The team behind this module
About CODEerts
Full-Service Odoo ERP Agency ยท Solutions That Scale
Every module in our store is built from real client work, tested in production and maintained long-term by a team of Odoo certified consultants. When you need more than an app, we deliver the full solution.
|
๐๏ธ Implementation
Full Odoo roll-outs from requirements to go-live, across any industry and company size. |
๐งฉ Custom Development
Bespoke modules, OWL components and business logic built precisely to your workflow. |
๐ Migrations
Zero-data-loss upgrades from older Odoo versions with full custom module porting. |
|
๐ Integrations
Payment gateways, shipping carriers, biometric devices, eCommerce and third-party APIs. |
๐ Odoo Audits
Performance, security and code-quality reviews that surface risks before they become problems. |
๐งโ๐ป Support & Training
Ongoing helpdesk, user training and monthly retainers so your team stays productive. |
Odoo Certified |
6+ Years |
50+ Projects |
10+ Industries |
40+ Published Apps |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Project (project)
• Discuss (mail) |
| Lines of code | 163 |
| Technical Name |
codeerts_project_automation |
| License | OPL-1 |
| Website | https://www.codeerts.com |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module