| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/product-attribute |
| GIT | |
| GIT | https://github.com/OCA/product-attribute.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/product-attribute/tree/19.0/product_status |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Product |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, Maksym Yankin |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/product-attribute |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:40:48 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/product-attribute: - product_state odoo/odoo: - sale - sales_team - base - base_setup - web - bus - web_tour - html_editor - account_payment - account - onboarding - product - uom - analytic - portal - http_routing - auth_signup - digest - resource - payment - utm |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module compute a status on product based on some date field displayed on the Sales tab. This module will deactivate all default state in product_state, implement new default data The option to use the product-attribute/product_state module was considered but because the status is computed based on today. It does not work well with a stored fields and also means there is no need for creation of state from the user. By order of importance, the status is computed by: - *End-of-life* - *Discontinued until* - *New until* *End-of-life* has priority over the other dates. *Discontinued-until* has priority over *New until*. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_normal_form_view |
product.product | group | Inherits product.product_normal_form_view | |
product_product_tree_view |
product.product | field | Inherits product.product_product_tree_view | |
product_template_form_view |
product.template.form.inherit | product.template | field | Inherits product_state.product_template_form_view |
product_template_only_form_view |
product.template | group | Inherits product.product_template_only_form_view |
discontinued_until
Date
help='When the product is discontinued for a certain time, to warn your client/avoid order during this downtime.'
string='Discontinued until'
end_of_life_date
Date
help='When the product is end-of-life, and you want to warn your client/avoid order in the future.'
string='End-of-life'
has_status_date
Boolean
compute='_compute_has_status_date'
store=False
new_until
Date
help='New product, and you want to warn your client for a certain time'
string='New until'
product_state_id
Many2one → product.state
comodel_name='product.state'
default=<expr>
group_expand='_read_group_state_id'
help='Select a state for this product'
index=True
inverse='_inverse_product_state_id'
string='State'
tracking=10
state
Char
compute='_compute_product_state'
index=True
inverse='_inverse_product_state'
readonly=True
store=True
string='Product Status'
tmpl_discontinued_until
Date
related='product_tmpl_id.discontinued_until'
string='Template Discontinued until'
tmpl_end_of_life_date
Date
related='product_tmpl_id.end_of_life_date'
string='Template End-of-life'
tmpl_new_until
Date
related='product_tmpl_id.new_until'
string='Template New until'
No public methods.
No new fields.
Public methods (2)unlink(self)
write(self, vals)
discontinued_until
Date
help='When the product is discontinued for a certain time, to warn your client/avoid order during this downtime.'
string='Discontinued until'
end_of_life_date
Date
help='When the product is end-of-life, and you want to warn your client/avoid order in the future.'
string='End-of-life'
new_until
Date
help='New product, and you want to warn your client for a certain time'
string='New until'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/product-attribute |
| GIT | |
| GIT | https://github.com/OCA/product-attribute.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/product-attribute/tree/18.0/product_status |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Product |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | Akim Juillerat, Weblate, OCA-git-bot, oca-ci, natuan9 |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/product-attribute |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:12 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/product-attribute: - product_state odoo/odoo: - product - base - base_setup - web - bus - web_tour - html_editor - uom |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module compute a status on product based on some date field displayed on the Sales tab. This module will deactivate all default state in product_state, implement new default data The option to use the product-attribute/product_state module was considered but because the status is computed based on today. It does not work well with a stored fields and also means there is no need for creation of state from the user. By order of importance, the status is computed by: - *End-of-life* - *Discontinued until* - *New until* *End-of-life* has priority over the other dates. *Discontinued-until* has priority over *New until*. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_normal_form_view |
product.product | group | Inherits product.product_normal_form_view | |
product_product_tree_view |
product.product | field | Inherits product.product_product_tree_view | |
product_template_form_view |
product.template.form.inherit | product.template | field | Inherits product_state.product_template_form_view |
product_template_only_form_view |
product.template | group | Inherits product.product_template_only_form_view |
discontinued_until
Date
help='When the product is discontinued for a certain time, to warn your client/avoid order during this downtime.'
string='Discontinued until'
end_of_life_date
Date
help='When the product is end-of-life, and you want to warn your client/avoid order in the future.'
string='End-of-life'
has_status_date
Boolean
compute='_compute_has_status_date'
store=False
new_until
Date
help='New product, and you want to warn your client for a certain time'
string='New until'
product_state_id
Many2one → product.state
comodel_name='product.state'
default=<expr>
group_expand='_read_group_state_id'
help='Select a state for this product'
index=True
inverse='_inverse_product_state_id'
string='State'
tracking=10
state
Char
compute='_compute_product_state'
index=True
inverse='_inverse_product_state'
readonly=True
store=True
string='Product Status'
tmpl_discontinued_until
Date
related='product_tmpl_id.discontinued_until'
string='Template Discontinued until'
tmpl_end_of_life_date
Date
related='product_tmpl_id.end_of_life_date'
string='Template End-of-life'
tmpl_new_until
Date
related='product_tmpl_id.new_until'
string='Template New until'
No public methods.
No new fields.
Public methods (2)unlink(self)
write(self, vals)
discontinued_until
Date
help='When the product is discontinued for a certain time, to warn your client/avoid order during this downtime.'
string='Discontinued until'
end_of_life_date
Date
help='When the product is end-of-life, and you want to warn your client/avoid order in the future.'
string='End-of-life'
new_until
Date
help='New product, and you want to warn your client for a certain time'
string='New until'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/product-attribute |
| GIT | |
| GIT | https://github.com/OCA/product-attribute.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/product-attribute/tree/17.0/product_status |
| VERSION | |
| VERSION | 1.2.0 |
| CATEGORY | |
| CATEGORY | Product |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | OCA-git-bot, oca-ci, Christopher Rogos, Henry Backman, chien |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/product-attribute |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:05 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/product-attribute: - product_state_sale - product_state odoo/odoo: - product - base - base_setup - web - bus - web_tour - uom - sale - sales_team - account_payment - account - onboarding - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - payment - utm |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | This module compute a status on product based on some date field displayed on the Sales tab. This module will deactivate all default state in product_state, implement new default data The option to use the product-attribute/product_state module was considered but because the status is computed based on today. It does not work well with a stored fields and also means there is no need for creation of state from the user. By order of importance, the status is computed by: - *End-of-life* - *Discontinued until* - *New until* *End-of-life* has priority over the other dates. *Discontinued-until* has priority over *New until*. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_normal_form_view |
product.product | group | Inherits product.product_normal_form_view | |
product_product_tree_view |
product.product | field | Inherits product.product_product_tree_view | |
product_template_form_view |
product.template.form.inherit | product.template | field | Inherits product_state.product_template_form_view |
product_template_only_form_view |
product.template | group | Inherits product.product_template_only_form_view |
discontinued_until
Date
help='When the product is discontinued for a certain time, to warn your client/avoid order during this downtime.'
string='Discontinued until'
end_of_life_date
Date
help='When the product is end-of-life, and you want to warn your client/avoid order in the future.'
string='End-of-life'
has_status_date
Boolean
compute='_compute_has_status_date'
store=False
new_until
Date
help='New product, and you want to warn your client for a certain time'
string='New until'
product_state_id
Many2one → product.state
comodel_name='product.state'
default=<expr>
group_expand='_read_group_state_id'
help='Select a state for this product'
index=True
inverse='_inverse_product_state_id'
string='State'
tracking=10
state
Char
compute='_compute_product_state'
index=True
inverse='_inverse_product_state'
readonly=True
store=True
string='Product Status'
tmpl_discontinued_until
Date
related='product_tmpl_id.discontinued_until'
string='Template Discontinued until'
tmpl_end_of_life_date
Date
related='product_tmpl_id.end_of_life_date'
string='Template End-of-life'
tmpl_new_until
Date
related='product_tmpl_id.new_until'
string='Template New until'
No public methods.
No new fields.
Public methods (2)unlink(self)
write(self, vals)
discontinued_until
Date
help='When the product is discontinued for a certain time, to warn your client/avoid order during this downtime.'
string='Discontinued until'
end_of_life_date
Date
help='When the product is end-of-life, and you want to warn your client/avoid order in the future.'
string='End-of-life'
new_until
Date
help='New product, and you want to warn your client for a certain time'
string='New until'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/product-attribute |
| GIT | |
| GIT | https://github.com/OCA/product-attribute.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/product-attribute/tree/15.0/product_status |
| VERSION | |
| VERSION | 1.1.0 |
| CATEGORY | |
| CATEGORY | Product |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, Alessio Renda, Tran Anh Tuan |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/product-attribute |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:35 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/product-attribute: - product_state odoo/odoo: - product - base - base_setup - web - bus - web_tour - uom - sale - sales_team - payment - account - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - utm |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_normal_form_view |
product.product | group | Inherits product.product_normal_form_view | |
product_product_tree_view |
product.product | field | Inherits product.product_product_tree_view | |
product_template_form_view |
product.template.form.inherit | product.template | field | Inherits product_state.product_template_form_view |
product_template_only_form_view |
product.template | group | Inherits product.product_template_only_form_view |
discontinued_until
Date
help='When the product is discontinued for a certain time, to warn your client/avoid order during this downtime.'
string='Discontinued until'
end_of_life_date
Date
help='When the product is end-of-life, and you want to warn your client/avoid order in the future.'
string='End-of-life'
has_status_date
Boolean
compute='_compute_has_status_date'
store=False
new_until
Date
help='New product, and you want to warn your client for a certain time'
string='New until'
product_state_id
Many2one → product.state
comodel_name='product.state'
default=<expr>
group_expand='_read_group_state_id'
help='Select a state for this product'
index=True
inverse='_inverse_product_state_id'
string='State'
tracking=10
state
Char
compute='_compute_product_state'
index=True
inverse='_inverse_product_state'
readonly=True
store=True
string='Product Status'
tmpl_discontinued_until
Date
related='product_tmpl_id.discontinued_until'
string='Template Discontinued until'
tmpl_end_of_life_date
Date
related='product_tmpl_id.end_of_life_date'
string='Template End-of-life'
tmpl_new_until
Date
related='product_tmpl_id.new_until'
string='Template New until'
No public methods.
No new fields.
Public methods (2)unlink(self)
write(self, vals)
discontinued_until
Date
help='When the product is discontinued for a certain time, to warn your client/avoid order during this downtime.'
string='Discontinued until'
end_of_life_date
Date
help='When the product is end-of-life, and you want to warn your client/avoid order in the future.'
string='End-of-life'
new_until
Date
help='New product, and you want to warn your client for a certain time'
string='New until'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/product-attribute |
| GIT | |
| GIT | https://github.com/OCA/product-attribute.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/product-attribute/tree/14.0/product_status |
| VERSION | |
| VERSION | 1.0.3 |
| CATEGORY | |
| CATEGORY | Product |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Camptocamp |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Camptocamp |
| COMMITTERS | |
| COMMITTERS | Sébastien Alix, Thierry Ducrest, oca-travis, Weblate, OCA-git-bot, Alessandro Uffreduzzi, Hai Lang |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/product-attribute |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:41:01 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/product-attribute: - product_state odoo/odoo: - product - base - base_setup - web - bus - web_tour - uom - sale - sales_team - payment - account - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - utm |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_normal_form_view |
product.product | group | Inherits product.product_normal_form_view | |
product_product_tree_view |
product.product | field | Inherits product.product_product_tree_view | |
product_template_form_view |
product.template.form.inherit | product.template | field | Inherits product_state.product_template_form_view |
product_template_only_form_view |
product.template | group | Inherits product.product_template_only_form_view |
discontinued_until
Date
help='When the product is discontinued for a certain time, to warn your client/avoid order during this downtime.'
string='Discontinued until'
end_of_life_date
Date
help='When the product is end-of-life, and you want to warn your client/avoid order in the future.'
string='End-of-life'
has_status_date
Boolean
compute='_compute_has_status_date'
store=False
new_until
Date
help='New product, and you want to warn your client for a certain time'
string='New until'
product_state_id
Many2one → product.state
comodel_name='product.state'
default=<expr>
group_expand='_read_group_state_id'
help='Select a state for this product'
index=True
inverse='_inverse_product_state_id'
string='State'
tracking=10
state
Char
compute='_compute_product_state'
index=True
inverse='_inverse_product_state'
readonly=True
store=True
string='Product Status'
tmpl_discontinued_until
Date
related='product_tmpl_id.discontinued_until'
string='Template Discontinued until'
tmpl_end_of_life_date
Date
related='product_tmpl_id.end_of_life_date'
string='Template End-of-life'
tmpl_new_until
Date
related='product_tmpl_id.new_until'
string='Template New until'
No public methods.
No new fields.
Public methods (2)unlink(self)
write(self, vals)
discontinued_until
Date
help='When the product is discontinued for a certain time, to warn your client/avoid order during this downtime.'
string='Discontinued until'
end_of_life_date
Date
help='When the product is end-of-life, and you want to warn your client/avoid order in the future.'
string='End-of-life'
new_until
Date
help='New product, and you want to warn your client for a certain time'
string='New until'
No public methods.