| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-ux |
| GIT | |
| GIT | https://github.com/OCA/server-ux.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-ux/tree/19.0/base_substate |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | OCA-git-bot, oca-ci, bosd, Camille Morand |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-ux |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:40:49 |
| 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 provide abstract models to manage customizable substates to be applied on different models (sale order, purchase, ...). ## example: - for the quotation state of a sale order we can define 3 substates "In negotiation", "Won" and "Lost". - We can also send mail when the substate is reached. It is not useful by itself. You can see an example of implementation in the 'purchase_substate' module. (purchase-workflow repository). |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
base_substate_type_view_form |
base.substate.type | form | New | |
base_substate_type_view_list |
base.substate.type | list | New | |
base_substate_type_view_search |
base.substate.type | search | New | |
base_substate_view_form |
base.substate | form | New | |
base_substate_view_list |
base.substate | list | New | |
base_substate_view_search |
base.substate | search | New | |
target_state_value_view_form |
target.state.value | form | New | |
target_state_value_view_list |
target.state.value | list | New | |
target_state_value_view_search |
target.state.value | search | New |
active
Boolean
default=True
description
Text
translate=True
mail_template_id
Many2one → mail.template
help='If set, an email will be sent to the partner when the object reaches this substate.'
string='Email Template'
args: 'mail.template'
model
Selection
help='Model for technical use'
readonly=True
related='target_state_value_id.model'
store=True
name
Char
required=True
translate=True
args: 'Substate Name'
sequence
Integer
help='Gives the sequence order when applying the default substate'
index=True
target_state_value_id
Many2one → target.state.value
ondelete='restrict'
string='Target State Value'
args: 'target.state.value'
No public methods.
substate_id
Many2one → base.substate
copy=False
default=<expr>
domain=<expr>
index=True
ondelete='restrict'
string='Sub State'
tracking=True
args: 'base.substate'
check_substate_id_consistency(self)
check_substate_id_value(self)
create(self, vals_list)
write(self, values)
model
Selection
required=True
selection=[]
string='Apply on'
name
Char
required=True
translate=True
target_state_field
Char
help='Technical target state field name. Ex for sale order "state" for other "status" ... '
required=True
No public methods.
base_substate_type_id
Many2one → base.substate.type
ondelete='restrict'
string='Substate Type'
args: 'base.substate.type'
model
Selection
help='Model for technical use'
readonly=True
related='base_substate_type_id.model'
store=True
name
Char
help='Target state translateble name.\nEx: for sale order "Quotation", "Sale order", "Locked"...'
required=True
translate=True
args: 'Target state Name'
target_state_value
Char
help='Technical target state value.\nEx: for sale order "draft", "sale", "done", ...'
required=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-ux |
| GIT | |
| GIT | https://github.com/OCA/server-ux.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-ux/tree/18.0/base_substate |
| VERSION | |
| VERSION | 1.0.2 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | Stefan Rijnhart, Carlos Lopez, Weblate, OCA-git-bot, oca-ci, Saran440 |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-ux |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:16 |
| 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 provide abstract models to manage customizable substates to be applied on different models (sale order, purchase, ...). ## example: - for the quotation state of a sale order we can define 3 substates "In negotiation", "Won" and "Lost". - We can also send mail when the substate is reached. It is not useful by itself. You can see an example of implementation in the 'purchase_substate' module. (purchase-workflow repository). |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
base_substate_type_view_form |
base.substate.type | form | New | |
base_substate_type_view_list |
base.substate.type | list | New | |
base_substate_type_view_search |
base.substate.type | search | New | |
base_substate_view_form |
base.substate | form | New | |
base_substate_view_list |
base.substate | list | New | |
base_substate_view_search |
base.substate | search | New | |
target_state_value_view_form |
target.state.value | form | New | |
target_state_value_view_list |
target.state.value | list | New | |
target_state_value_view_search |
target.state.value | search | New |
active
Boolean
default=True
description
Text
translate=True
mail_template_id
Many2one → mail.template
help='If set, an email will be sent to the partner when the object reaches this substate.'
string='Email Template'
args: 'mail.template'
model
Selection
help='Model for technical use'
readonly=True
related='target_state_value_id.model'
store=True
name
Char
required=True
translate=True
args: 'Substate Name'
sequence
Integer
help='Gives the sequence order when applying the default substate'
index=True
target_state_value_id
Many2one → target.state.value
ondelete='restrict'
string='Target State Value'
args: 'target.state.value'
No public methods.
substate_id
Many2one → base.substate
copy=False
default=<expr>
domain=<expr>
index=True
ondelete='restrict'
string='Sub State'
tracking=True
args: 'base.substate'
check_substate_id_consistency(self)
check_substate_id_value(self)
create(self, vals_list)
write(self, values)
model
Selection
required=True
selection=[]
string='Apply on'
name
Char
required=True
translate=True
target_state_field
Char
help='Technical target state field name. Ex for sale order "state" for other "status" ... '
required=True
No public methods.
base_substate_type_id
Many2one → base.substate.type
ondelete='restrict'
string='Substate Type'
args: 'base.substate.type'
model
Selection
help='Model for technical use'
readonly=True
related='base_substate_type_id.model'
store=True
name
Char
help='Target state translateble name.\nEx: for sale order "Quotation", "Sale order", "Locked"...'
required=True
translate=True
args: 'Target state Name'
target_state_value
Char
help='Technical target state value.\nEx: for sale order "draft", "sale", "done", ...'
required=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-ux |
| GIT | |
| GIT | https://github.com/OCA/server-ux.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-ux/tree/17.0/base_substate |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, Mohamed Osman, len |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-ux |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:08 |
| 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 provide abstract models to manage customizable substates to be applied on different models (sale order, purchase, ...). ## example: - for the quotation state of a sale order we can define 3 substates "In negotiation", "Won" and "Lost". - We can also send mail when the substate is reached. It is not useful by itself. You can see an example of implementation in the 'purchase_substate' module. (purchase-workflow repository). |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
base_substate_type_view_form |
base.substate.type | form | New | |
base_substate_type_view_search |
base.substate.type | search | New | |
base_substate_type_view_tree |
base.substate.type | tree | New | |
base_substate_view_form |
base.substate | form | New | |
base_substate_view_search |
base.substate | search | New | |
base_substate_view_tree |
base.substate | tree | New | |
target_state_value_view_form |
target.state.value | form | New | |
target_state_value_view_search |
target.state.value | search | New | |
target_state_value_view_tree |
target.state.value | tree | New |
active
Boolean
default=True
description
Text
translate=True
mail_template_id
Many2one → mail.template
help='If set, an email will be sent to the partner when the object reaches this substate.'
string='Email Template'
args: 'mail.template'
model
Selection
help='Model for technical use'
readonly=True
related='target_state_value_id.model'
store=True
name
Char
required=True
translate=True
args: 'Substate Name'
sequence
Integer
help='Gives the sequence order when applying the default substate'
index=True
target_state_value_id
Many2one → target.state.value
ondelete='restrict'
string='Target State Value'
args: 'target.state.value'
No public methods.
substate_id
Many2one → base.substate
copy=False
default=<expr>
domain=<expr>
index=True
ondelete='restrict'
string='Sub State'
tracking=5
args: 'base.substate'
check_substate_id_consistency(self)
check_substate_id_value(self)
create(self, vals_list)
write(self, values)
model
Selection
required=True
selection=[]
string='Apply on'
name
Char
required=True
translate=True
target_state_field
Char
help='Technical target state field name. Ex for sale order "state" for other "status" ... '
required=True
No public methods.
base_substate_type_id
Many2one → base.substate.type
ondelete='restrict'
string='Substate Type'
args: 'base.substate.type'
model
Selection
help='Model for technical use'
readonly=True
related='base_substate_type_id.model'
store=True
name
Char
help='Target state translateble name.\nEx: for sale order "Quotation", "Sale order", "Locked"...'
required=True
translate=True
args: 'Target state Name'
target_state_value
Char
help='Technical target state value.\nEx: for sale order "draft", "sale", "done", ...'
required=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-ux |
| GIT | |
| GIT | https://github.com/OCA/server-ux.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-ux/tree/16.0/base_substate |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, Ethan Hildick, oca-ci, Saran440 |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-ux |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:53 |
| 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 | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
base_substate_type_view_form |
base.substate.type | form | New | |
base_substate_type_view_search |
base.substate.type | search | New | |
base_substate_type_view_tree |
base.substate.type | tree | New | |
base_substate_view_form |
base.substate | form | New | |
base_substate_view_search |
base.substate | search | New | |
base_substate_view_tree |
base.substate | tree | New | |
target_state_value_view_form |
target.state.value | form | New | |
target_state_value_view_search |
target.state.value | search | New | |
target_state_value_view_tree |
target.state.value | tree | New |
active
Boolean
default=True
description
Text
translate=True
mail_template_id
Many2one → mail.template
help='If set, an email will be sent to the partner when the object reaches this substate.'
string='Email Template'
args: 'mail.template'
model
Selection
help='Model for technical use'
readonly=True
related='target_state_value_id.model'
store=True
name
Char
required=True
translate=True
args: 'Substate Name'
sequence
Integer
help='Gives the sequence order when applying the default substate'
index=True
target_state_value_id
Many2one → target.state.value
ondelete='restrict'
string='Target State Value'
args: 'target.state.value'
No public methods.
substate_id
Many2one → base.substate
copy=False
default=<expr>
domain=<expr>
index=True
ondelete='restrict'
string='Sub State'
tracking=5
args: 'base.substate'
check_substate_id_consistency(self)
check_substate_id_value(self)
create(self, vals_list)
write(self, values)
model
Selection
required=True
selection=[]
string='Apply on'
name
Char
required=True
translate=True
target_state_field
Char
help='Technical target state field name. Ex for sale order "state" for other "status" ... '
required=True
No public methods.
base_substate_type_id
Many2one → base.substate.type
ondelete='restrict'
string='Substate Type'
args: 'base.substate.type'
model
Selection
help='Model for technical use'
readonly=True
related='base_substate_type_id.model'
store=True
name
Char
help='Target state translateble name.\nEx: for sale order "Quotation", "Sale order", "Locked"...'
required=True
translate=True
args: 'Target state Name'
target_state_value
Char
help='Technical target state value.\nEx: for sale order "draft", "sale", "done", ...'
required=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-ux |
| GIT | |
| GIT | https://github.com/OCA/server-ux.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-ux/tree/15.0/base_substate |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | OCA-git-bot, oca-ci, Alexei Rivera, saran |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-ux |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:39 |
| 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 | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
base_substate_type_view_form |
base.substate.type | form | New | |
base_substate_type_view_search |
base.substate.type | search | New | |
base_substate_type_view_tree |
base.substate.type | tree | New | |
base_substate_view_form |
base.substate | form | New | |
base_substate_view_search |
base.substate | search | New | |
base_substate_view_tree |
base.substate | tree | New | |
target_state_value_view_form |
target.state.value | form | New | |
target_state_value_view_search |
target.state.value | search | New | |
target_state_value_view_tree |
target.state.value | tree | New |
active
Boolean
default=True
description
Text
translate=True
mail_template_id
Many2one → mail.template
help='If set, an email will be sent to the partner when the object reaches this substate.'
string='Email Template'
args: 'mail.template'
model
Selection
help='Model for technical use'
readonly=True
related='target_state_value_id.model'
store=True
name
Char
required=True
translate=True
args: 'Substate Name'
sequence
Integer
help='Gives the sequence order when applying the default substate'
index=True
target_state_value_id
Many2one → target.state.value
ondelete='restrict'
string='Target State Value'
args: 'target.state.value'
No public methods.
substate_id
Many2one → base.substate
copy=False
default=<expr>
domain=<expr>
index=True
ondelete='restrict'
string='Sub State'
tracking=5
args: 'base.substate'
check_substate_id_consistency(self)
check_substate_id_value(self)
create(self, values)
write(self, values)
model
Selection
required=True
selection=[]
string='Apply on'
name
Char
required=True
translate=True
target_state_field
Char
help='Technical target state field name. Ex for sale order "state" for other "status" ... '
required=True
No public methods.
base_substate_type_id
Many2one → base.substate.type
ondelete='restrict'
string='Substate Type'
args: 'base.substate.type'
model
Selection
help='Model for technical use'
readonly=True
related='base_substate_type_id.model'
store=True
name
Char
help='Target state translateble name.\nEx: for sale order "Quotation", "Sale order", "Locked"...'
required=True
translate=True
args: 'Target state Name'
target_state_value
Char
help='Technical target state value.\nEx: for sale order "draft", "sale", "done", ...'
required=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-ux |
| GIT | |
| GIT | https://github.com/OCA/server-ux.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-ux/tree/14.0/base_substate |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | oca-travis, Weblate, OCA-git-bot, oca-ci, Kitti U, oca-git-bot |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-ux |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:41:07 |
| 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 | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
base_substate_type_view_form |
base.substate.type | form | New | |
base_substate_type_view_search |
base.substate.type | search | New | |
base_substate_type_view_tree |
base.substate.type | tree | New | |
base_substate_view_form |
base.substate | form | New | |
base_substate_view_search |
base.substate | search | New | |
base_substate_view_tree |
base.substate | tree | New | |
target_state_value_view_form |
target.state.value | form | New | |
target_state_value_view_search |
target.state.value | search | New | |
target_state_value_view_tree |
target.state.value | tree | New |
active
Boolean
default=True
description
Text
translate=True
mail_template_id
Many2one → mail.template
help='If set, an email will be sent to the partner when the object reaches this substate.'
string='Email Template'
args: 'mail.template'
model
Selection
help='Model for technical use'
readonly=True
related='target_state_value_id.model'
store=True
name
Char
required=True
translate=True
args: 'Substate Name'
sequence
Integer
help='Gives the sequence order when applying the default substate'
index=True
target_state_value_id
Many2one → target.state.value
ondelete='restrict'
string='Target State Value'
args: 'target.state.value'
No public methods.
substate_id
Many2one → base.substate
copy=False
default=<expr>
domain=<expr>
index=True
ondelete='restrict'
string='Sub State'
tracking=True
args: 'base.substate'
check_substate_id_consistency(self)
check_substate_id_value(self)
create(self, values)
write(self, values)
model
Selection
required=True
selection=[]
string='Apply on'
name
Char
required=True
translate=True
target_state_field
Char
help='Technical target state field name. Ex for sale order "state" for other "status" ... '
required=True
No public methods.
base_substate_type_id
Many2one → base.substate.type
ondelete='restrict'
string='Substate Type'
args: 'base.substate.type'
model
Selection
help='Model for technical use'
readonly=True
related='base_substate_type_id.model'
store=True
name
Char
help='Target state translateble name.\nEx: for sale order "Quotation", "Sale order", "Locked"...'
required=True
translate=True
args: 'Target state Name'
target_state_value
Char
help='Technical target state value.\nEx: for sale order "draft", "sale", "done", ...'
required=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-ux |
| GIT | |
| GIT | https://github.com/OCA/server-ux.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-ux/tree/13.0/base_substate |
| VERSION | |
| VERSION | 1.1.0 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | Stefan Rijnhart, oca-travis, OCA-git-bot, oca-ci, Kitti U, newtratip |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-ux |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:17 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
base_substate_type_view_form |
base.substate.type | form | New | |
base_substate_type_view_search |
base.substate.type | search | New | |
base_substate_type_view_tree |
base.substate.type | tree | New | |
base_substate_view_form |
base.substate | form | New | |
base_substate_view_search |
base.substate | search | New | |
base_substate_view_tree |
base.substate | tree | New | |
target_state_value_view_form |
target.state.value | form | New | |
target_state_value_view_search |
target.state.value | search | New | |
target_state_value_view_tree |
target.state.value | tree | New |
active
Boolean
default=True
description
Text
translate=True
mail_template_id
Many2one → mail.template
help='If set, an email will be sent to the partner when the object reaches this substate.'
string='Email Template'
args: 'mail.template'
model
Selection
help='Model for technical use'
readonly=True
related='target_state_value_id.model'
store=True
name
Char
required=True
translate=True
args: 'Substate Name'
sequence
Integer
help='Gives the sequence order when applying the default substate'
index=True
target_state_value_id
Many2one → target.state.value
ondelete='restrict'
string='Target State Value'
args: 'target.state.value'
No public methods.
substate_id
Many2one → base.substate
copy=False
default=<expr>
domain=<expr>
index=True
ondelete='restrict'
string='Sub State'
track_visibility='onchange'
args: 'base.substate'
check_substate_id_consistency(self)
check_substate_id_value(self)
create(self, values)
write(self, values)
model
Selection
required=True
selection=[]
string='Apply on'
name
Char
required=True
translate=True
target_state_field
Char
help='Technical target state field name. Ex for sale order "state" for other "status" ... '
required=True
No public methods.
base_substate_type_id
Many2one → base.substate.type
ondelete='restrict'
string='Substate Type'
args: 'base.substate.type'
model
Selection
help='Model for technical use'
readonly=True
related='base_substate_type_id.model'
store=True
name
Char
help='Target state translateble name.\nEx: for sale order "Quotation", "Sale order", "Locked"...'
required=True
translate=True
args: 'Target state Name'
target_state_value
Char
help='Technical target state value.\nEx: for sale order "draft", "sale", "done", ...'
required=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/server-ux |
| GIT | |
| GIT | https://github.com/OCA/server-ux.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/server-ux/tree/12.0/base_substate |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Tools |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | oca-travis, OCA-git-bot, Mourad, Héctor Villarreal Ortega |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/server-ux |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:22 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
base_substate_type_view_form |
base.substate.type | form | New | |
base_substate_type_view_search |
base.substate.type | search | New | |
base_substate_type_view_tree |
base.substate.type | tree | New | |
base_substate_view_form |
base.substate | form | New | |
base_substate_view_search |
base.substate | search | New | |
base_substate_view_tree |
base.substate | tree | New | |
target_state_value_view_form |
target.state.value | form | New | |
target_state_value_view_search |
target.state.value | search | New | |
target_state_value_view_tree |
target.state.value | tree | New |
active
Boolean
default=True
description
Text
translate=True
mail_template_id
Many2one → mail.template
help='If set, an email will be sent to the partner when the object reaches this substate.'
string='Email Template'
args: 'mail.template'
model
Selection
help='Model for technical use'
readonly=True
related='target_state_value_id.model'
store=True
name
Char
required=True
translate=True
args: 'Substate Name'
sequence
Integer
help='Gives the sequence order when applying the default substate'
index=True
target_state_value_id
Many2one → target.state.value
ondelete='restrict'
string='Target State Value'
args: 'target.state.value'
No public methods.
substate_id
Many2one → base.substate
copy=False
default=<expr>
domain=<expr>
index=True
ondelete='restrict'
string='Sub State'
track_visibility='onchange'
args: 'base.substate'
check_substate_id_consistency(self)
create(self, values)
write(self, values)
model
Selection
required=True
selection=[]
string='Apply on'
name
Char
required=True
translate=True
target_state_field
Char
help='Technical target state field name. Ex for sale order "state" for other "status" ... '
required=True
No public methods.
base_substate_type_id
Many2one → base.substate.type
ondelete='restrict'
string='Substate Type'
args: 'base.substate.type'
model
Selection
help='Model for technical use'
readonly=True
related='base_substate_type_id.model'
store=True
name
Char
help='Target state translateble name.\nEx: for sale order "Quotation", "Sale order", "Locked"...'
required=True
translate=True
args: 'Target state Name'
target_state_value
Char
help='Technical target state value.\nEx: for sale order "draft", "sale", "done", ...'
required=True
No public methods.