| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/project |
| GIT | |
| GIT | https://github.com/OCA/project.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/project/tree/16.0/project_stock |
| VERSION | |
| VERSION | 2.0.3 |
| CATEGORY | |
| CATEGORY | Project Management |
| 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 | GitHub, Víctor Martínez, Weblate, OCA-git-bot, oca-ci, RabbitJon-S73, sygel |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/project |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:49 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - project - analytic - base - base_setup - web - bus - web_tour - uom - portal - web_editor - http_routing - auth_signup - rating - resource - digest - stock - product - barcodes_gs1_nomenclature - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
edit_project |
project.project.form | project.project | xpath | Inherits project.edit_project |
task_type_edit |
project.task.type.form | project.task.type | field | Inherits project.task_type_edit |
view_stock_move_raw_tree |
stock.move.raw.tree | stock.move | tree | New |
view_task_form2 |
project.task.form | project.task | xpath | Inherits project.view_task_form2 |
stock_move_id
Many2one → stock.move
comodel_name='stock.move'
copy=False
ondelete='cascade'
string='Stock Move'
stock_task_id
Many2one → project.task
comodel_name='project.task'
ondelete='cascade'
string='Project Task'
No public methods.
location_dest_id
Many2one → stock.location
check_company=True
comodel_name='stock.location'
help='Default location to which materials are consumed.'
index=True
readonly=False
string='Destination Location'
location_id
Many2one → stock.location
check_company=True
comodel_name='stock.location'
help='Default location from which materials are consumed.'
index=True
readonly=False
string='Source Location'
picking_type_id
Many2one → stock.picking.type
check_company=True
comodel_name='stock.picking.type'
domain="[('company_id', '=', company_id)]"
index=True
readonly=False
string='Operation Type'
stock_analytic_date
Date
string='Analytic date'
write(self, vals)
allow_moves_action_assign
Boolean
compute='_compute_allow_moves_action_assign'
allow_moves_action_confirm
Boolean
compute='_compute_allow_moves_action_confirm'
done_stock_moves
Boolean
related='stage_id.done_stock_moves'
group_id
Many2one → procurement.group
comodel_name='procurement.group'
location_dest_id
Many2one → stock.location
check_company=True
comodel_name='stock.location'
index=True
readonly=False
string='Destination Location'
location_id
Many2one → stock.location
check_company=True
comodel_name='stock.location'
index=True
readonly=False
string='Source Location'
move_ids
One2many → stock.move
comodel_name='stock.move'
copy=False
domain=[('scrapped', '=', False)]
inverse_name='raw_material_task_id'
string='Stock Moves'
picking_type_id
Many2one → stock.picking.type
check_company=True
comodel_name='stock.picking.type'
domain="[('company_id', '=', company_id)]"
index=True
readonly=False
string='Operation Type'
scrap_count
Integer
compute='_compute_scrap_move_count'
string='Scrap Move'
scrap_ids
One2many → stock.scrap
comodel_name='stock.scrap'
inverse_name='task_id'
string='Scraps'
stock_analytic_account_id
Many2one → account.analytic.account
comodel_name='account.analytic.account'
help='Move created will be assigned to this analytic account'
string='Move Analytic Account'
stock_analytic_date
Date
string='Analytic date'
stock_analytic_distribution
Json
copy=True
readonly=False
args: 'Analytic Distribution'
stock_analytic_line_ids
One2many → account.analytic.line
comodel_name='account.analytic.line'
inverse_name='stock_task_id'
string='Analytic Lines'
stock_moves_is_locked
Boolean
default=True
stock_state
Selection
compute='_compute_stock_state'
selection=[('pending', 'Pending'), ('confirmed', 'Confirmed'), ('assigned', 'Assigned'), ('done', 'Done'), ('cancel', 'Cancel')]
unreserve_visible
Boolean
compute='_compute_unreserve_visible'
help='Technical field to check when we can unreserve'
string='Allowed to Unreserve Inventory'
use_stock_moves
Boolean
related='stage_id.use_stock_moves'
action_assign(self)
action_cancel(self)
action_confirm(self)
action_done(self)
action_see_move_scrap(self)
action_toggle_stock_moves_is_locked(self)
button_scrap(self)
button_unreserve(self)
do_unreserve(self)
unlink(self)
write(self, vals)
done_stock_moves
Boolean
help='If you check this box, when a task is in this state, you will not be able to add more stock moves but they can be viewed.'
use_stock_moves
Boolean
help='If you mark this check, when a task goes to this state, it will use stock moves'
No public methods.
analytic_line_ids
One2many → account.analytic.line
comodel_name='account.analytic.line'
inverse_name='stock_move_id'
string='Analytic Lines'
raw_material_task_id
Many2one → project.task
check_company=True
comodel_name='project.task'
string='Task for material'
show_cancel_button_in_task
Boolean
compute='_compute_show_cancel_button_in_task'
task_id
Many2one → project.task
check_company=True
comodel_name='project.task'
string='Related Task'
action_cancel_from_task(self)
action_task_product_forecast_report(self)
default_get(self, fields_list)
task_id
Many2one → project.task
comodel_name='project.task'
compute='_compute_task_id'
store=True
string='Task'
No public methods.
task_id
Many2one → project.task
check_company=True
comodel_name='project.task'
string='Task'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/project |
| GIT | |
| GIT | https://github.com/OCA/project.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/project/tree/15.0/project_stock |
| VERSION | |
| VERSION | 1.0.6 |
| CATEGORY | |
| CATEGORY | Project Management |
| 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/project |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:36 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - project - analytic - base - base_setup - web - bus - web_tour - uom - portal - web_editor - http_routing - auth_signup - rating - resource - digest - stock - product - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
edit_project |
project.project.form | project.project | xpath | Inherits project.edit_project |
task_type_edit |
project.task.type.form | project.task.type | field | Inherits project.task_type_edit |
view_stock_move_raw_tree |
stock.move.raw.tree | stock.move | tree | New |
view_task_form2 |
project.task.form | project.task | xpath | Inherits project.view_task_form2 |
stock_task_id
Many2one → project.task
comodel_name='project.task'
ondelete='cascade'
string='Project Task'
No public methods.
location_dest_id
Many2one → stock.location
check_company=True
comodel_name='stock.location'
help='Default location to which materials are consumed.'
index=True
readonly=False
string='Destination Location'
location_id
Many2one → stock.location
check_company=True
comodel_name='stock.location'
help='Default location from which materials are consumed.'
index=True
readonly=False
string='Source Location'
picking_type_id
Many2one → stock.picking.type
check_company=True
comodel_name='stock.picking.type'
domain="[('company_id', '=', company_id)]"
index=True
readonly=False
string='Operation Type'
stock_analytic_date
Date
string='Analytic date'
write(self, vals)
allow_moves_action_assign
Boolean
compute='_compute_allow_moves_action_assign'
allow_moves_action_confirm
Boolean
compute='_compute_allow_moves_action_confirm'
done_stock_moves
Boolean
related='stage_id.done_stock_moves'
group_id
Many2one → procurement.group
comodel_name='procurement.group'
location_dest_id
Many2one → stock.location
check_company=True
comodel_name='stock.location'
index=True
readonly=False
string='Destination Location'
location_id
Many2one → stock.location
check_company=True
comodel_name='stock.location'
index=True
readonly=False
string='Source Location'
move_ids
One2many → stock.move
comodel_name='stock.move'
copy=False
domain=[('scrapped', '=', False)]
inverse_name='raw_material_task_id'
string='Stock Moves'
picking_type_id
Many2one → stock.picking.type
check_company=True
comodel_name='stock.picking.type'
domain="[('company_id', '=', company_id)]"
index=True
readonly=False
string='Operation Type'
scrap_count
Integer
compute='_compute_scrap_move_count'
string='Scrap Move'
scrap_ids
One2many → stock.scrap
comodel_name='stock.scrap'
inverse_name='task_id'
string='Scraps'
stock_analytic_account_id
Many2one → account.analytic.account
comodel_name='account.analytic.account'
help='Move created will be assigned to this analytic account'
string='Move Analytic Account'
stock_analytic_date
Date
string='Analytic date'
stock_analytic_line_ids
One2many → account.analytic.line
comodel_name='account.analytic.line'
inverse_name='stock_task_id'
string='Analytic Lines'
stock_analytic_tag_ids
Many2many → account.analytic.tag
column1='project_task_id'
column2='account_analytic_tag_id'
comodel_name='account.analytic.tag'
relation='account_analytic_tag_project_task_stock_rel'
string='Move Analytic Tags'
stock_moves_is_locked
Boolean
default=True
stock_state
Selection
compute='_compute_stock_state'
selection=[('pending', 'Pending'), ('confirmed', 'Confirmed'), ('assigned', 'Assigned'), ('done', 'Done'), ('cancel', 'Cancel')]
unreserve_visible
Boolean
compute='_compute_unreserve_visible'
help='Technical field to check when we can unreserve'
string='Allowed to Unreserve Inventory'
use_stock_moves
Boolean
related='stage_id.use_stock_moves'
action_assign(self)
action_cancel(self)
action_confirm(self)
action_done(self)
action_see_move_scrap(self)
action_toggle_stock_moves_is_locked(self)
button_scrap(self)
button_unreserve(self)
do_unreserve(self)
unlink(self)
write(self, vals)
done_stock_moves
Boolean
help='If you check this box, when a task is in this state, you will not be able to add more stock moves but they can be viewed.'
use_stock_moves
Boolean
help='If you mark this check, when a task goes to this state, it will use stock moves'
No public methods.
raw_material_task_id
Many2one → project.task
check_company=True
comodel_name='project.task'
string='Task for material'
task_id
Many2one → project.task
check_company=True
comodel_name='project.task'
string='Related Task'
default_get(self, fields_list)
task_id
Many2one → project.task
comodel_name='project.task'
compute='_compute_task_id'
store=True
string='Task'
No public methods.
task_id
Many2one → project.task
check_company=True
comodel_name='project.task'
string='Task'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/project |
| GIT | |
| GIT | https://github.com/OCA/project.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/project/tree/14.0/project_stock |
| VERSION | |
| VERSION | 1.1.4 |
| CATEGORY | |
| CATEGORY | Project Management |
| 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 | OCA Transbot, Víctor Martínez, oca-travis, Weblate, OCA-git-bot, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/project |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:41:02 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - project - analytic - base - base_setup - web - bus - web_tour - uom - portal - web_editor - http_routing - auth_signup - rating - resource - digest - stock - product - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
edit_project |
project.project.form | project.project | xpath | Inherits project.edit_project |
task_type_edit |
project.task.type.form | project.task.type | field | Inherits project.task_type_edit |
view_stock_move_raw_tree |
stock.move.raw.tree | stock.move | tree | New |
view_task_form2 |
project.task.form | project.task | xpath | Inherits project.view_task_form2 |
stock_task_id
Many2one → project.task
comodel_name='project.task'
ondelete='cascade'
string='Project Task'
No public methods.
location_dest_id
Many2one → stock.location
check_company=True
comodel_name='stock.location'
help='Default location to which materials are consumed.'
index=True
readonly=False
string='Destination Location'
location_id
Many2one → stock.location
check_company=True
comodel_name='stock.location'
help='Default location from which materials are consumed.'
index=True
readonly=False
string='Source Location'
picking_type_id
Many2one → stock.picking.type
check_company=True
comodel_name='stock.picking.type'
domain="[('company_id', '=', company_id)]"
index=True
readonly=False
string='Operation Type'
stock_analytic_date
Date
string='Analytic date'
write(self, vals)
allow_moves_action_assign
Boolean
compute='_compute_allow_moves_action_assign'
allow_moves_action_confirm
Boolean
compute='_compute_allow_moves_action_confirm'
done_stock_moves
Boolean
related='stage_id.done_stock_moves'
group_id
Many2one → procurement.group
comodel_name='procurement.group'
location_dest_id
Many2one → stock.location
check_company=True
comodel_name='stock.location'
index=True
readonly=False
string='Destination Location'
location_id
Many2one → stock.location
check_company=True
comodel_name='stock.location'
index=True
readonly=False
string='Source Location'
move_ids
One2many → stock.move
comodel_name='stock.move'
copy=False
domain=[('scrapped', '=', False)]
inverse_name='raw_material_task_id'
string='Stock Moves'
picking_type_id
Many2one → stock.picking.type
check_company=True
comodel_name='stock.picking.type'
domain="[('company_id', '=', company_id)]"
index=True
readonly=False
string='Operation Type'
scrap_count
Integer
compute='_compute_scrap_move_count'
string='Scrap Move'
scrap_ids
One2many → stock.scrap
comodel_name='stock.scrap'
inverse_name='task_id'
string='Scraps'
stock_analytic_account_id
Many2one → account.analytic.account
comodel_name='account.analytic.account'
help='Move created will be assigned to this analytic account'
string='Move Analytic Account'
stock_analytic_date
Date
string='Analytic date'
stock_analytic_line_ids
One2many → account.analytic.line
comodel_name='account.analytic.line'
inverse_name='stock_task_id'
string='Analytic Lines'
stock_analytic_tag_ids
Many2many → account.analytic.tag
comodel_name='account.analytic.tag'
string='Move Analytic Tags'
stock_moves_is_locked
Boolean
default=True
stock_state
Selection
compute='_compute_stock_state'
selection=[('pending', 'Pending'), ('confirmed', 'Confirmed'), ('assigned', 'Assigned'), ('done', 'Done'), ('cancel', 'Cancel')]
unreserve_visible
Boolean
compute='_compute_unreserve_visible'
help='Technical field to check when we can unreserve'
string='Allowed to Unreserve Inventory'
use_stock_moves
Boolean
related='stage_id.use_stock_moves'
action_assign(self)
action_cancel(self)
action_confirm(self)
action_done(self)
action_see_move_scrap(self)
action_toggle_stock_moves_is_locked(self)
button_scrap(self)
button_unreserve(self)
do_unreserve(self)
unlink(self)
write(self, vals)
done_stock_moves
Boolean
help='If you check this box, when a task is in this state, you will not be able to add more stock moves but they can be viewed.'
use_stock_moves
Boolean
help='If you mark this check, when a task goes to this state, it will use stock moves'
No public methods.
raw_material_task_id
Many2one → project.task
check_company=True
comodel_name='project.task'
string='Task for material'
task_id
Many2one → project.task
check_company=True
comodel_name='project.task'
string='Related Task'
default_get(self, fields_list)
onchange_product_id(self)
task_id
Many2one → project.task
comodel_name='project.task'
compute='_compute_task_id'
store=True
string='Task'
No public methods.
task_id
Many2one → project.task
check_company=True
comodel_name='project.task'
string='Task'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/project |
| GIT | |
| GIT | https://github.com/OCA/project.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/project/tree/13.0/project_stock |
| VERSION | |
| VERSION | 2.2.3 |
| CATEGORY | |
| CATEGORY | Project Management |
| 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 | OCA Transbot, Víctor Martínez, oca-travis, Weblate, OCA-git-bot, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/project |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:15 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - project - analytic - base - base_setup - web - bus - web_tour - uom - portal - web_editor - http_routing - auth_signup - rating - resource - digest - stock - product - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
edit_project |
project.project.form | project.project | xpath | Inherits project.edit_project |
task_type_edit |
project.task.type.form | project.task.type | field | Inherits project.task_type_edit |
view_stock_move_raw_tree |
stock.move.raw.tree | stock.move | tree | New |
view_task_form2 |
project.task.form | project.task | xpath | Inherits project.view_task_form2 |
stock_task_id
Many2one → project.task
comodel_name='project.task'
string='Project Task'
No public methods.
location_dest_id
Many2one → stock.location
check_company=True
comodel_name='stock.location'
help='Default location to which materials are consumed.'
index=True
readonly=False
string='Destination Location'
location_id
Many2one → stock.location
check_company=True
comodel_name='stock.location'
help='Default location from which materials are consumed.'
index=True
readonly=False
string='Source Location'
picking_type_id
Many2one → stock.picking.type
check_company=True
comodel_name='stock.picking.type'
domain="[('company_id', '=', company_id)]"
index=True
readonly=False
string='Operation Type'
stock_analytic_date
Date
string='Analytic date'
write(self, vals)
allow_moves_action_assign
Boolean
compute='_compute_allow_moves_action_assign'
allow_moves_action_confirm
Boolean
compute='_compute_allow_moves_action_confirm'
done_stock_moves
Boolean
related='stage_id.done_stock_moves'
group_id
Many2one → procurement.group
comodel_name='procurement.group'
location_dest_id
Many2one → stock.location
check_company=True
comodel_name='stock.location'
index=True
readonly=False
string='Destination Location'
location_id
Many2one → stock.location
check_company=True
comodel_name='stock.location'
index=True
readonly=False
string='Source Location'
move_ids
One2many → stock.move
comodel_name='stock.move'
copy=False
domain=[('scrapped', '=', False)]
inverse_name='raw_material_task_id'
string='Stock Moves'
picking_type_id
Many2one → stock.picking.type
check_company=True
comodel_name='stock.picking.type'
domain="[('company_id', '=', company_id)]"
index=True
readonly=False
string='Operation Type'
scrap_count
Integer
compute='_compute_scrap_move_count'
string='Scrap Move'
scrap_ids
One2many → stock.scrap
comodel_name='stock.scrap'
inverse_name='task_id'
string='Scraps'
stock_analytic_account_id
Many2one → account.analytic.account
comodel_name='account.analytic.account'
help='Move created will be assigned to this analytic account'
string='Move Analytic Account'
stock_analytic_date
Date
string='Analytic date'
stock_analytic_line_ids
One2many → account.analytic.line
comodel_name='account.analytic.line'
inverse_name='stock_task_id'
string='Analytic Lines'
stock_analytic_tag_ids
Many2many → account.analytic.tag
comodel_name='account.analytic.tag'
string='Move Analytic Tags'
stock_moves_is_locked
Boolean
default=True
stock_state
Selection
compute='_compute_stock_state'
selection=[('pending', 'Pending'), ('confirmed', 'Confirmed'), ('assigned', 'Assigned'), ('done', 'Done'), ('cancel', 'Cancel')]
unreserve_visible
Boolean
compute='_compute_unreserve_visible'
help='Technical field to check when we can unreserve'
string='Allowed to Unreserve Inventory'
use_stock_moves
Boolean
related='stage_id.use_stock_moves'
action_assign(self)
action_cancel(self)
action_confirm(self)
action_done(self)
action_see_move_scrap(self)
action_toggle_stock_moves_is_locked(self)
button_scrap(self)
button_unreserve(self)
do_unreserve(self)
unlink(self)
write(self, vals)
done_stock_moves
Boolean
help='If you check this box, when a task is in this state, you will not be able to add more stock moves but they can be viewed.'
use_stock_moves
Boolean
help='If you mark this check, when a task goes to this state, it will use stock moves'
No public methods.
raw_material_task_id
Many2one → project.task
check_company=True
comodel_name='project.task'
string='Task for material'
task_id
Many2one → project.task
check_company=True
comodel_name='project.task'
string='Related Task'
default_get(self, fields_list)
onchange_product_id(self)
task_id
Many2one → project.task
comodel_name='project.task'
compute='_compute_task_id'
store=True
string='Task'
No public methods.
task_id
Many2one → project.task
check_company=True
comodel_name='project.task'
string='Task'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/project |
| GIT | |
| GIT | https://github.com/OCA/project.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/project/tree/12.0/project_stock |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Project Management |
| 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 | Weblate, OCA-git-bot, oca-ci, Marcel Savegnago |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/project |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:20 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - hr_timesheet - hr - base_setup - base - web - bus - web_tour - resource - analytic - decimal_precision - uom - project - portal - http_routing - rating - digest - stock - product - barcodes |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
edit_project |
project.project.form | project.project | xpath | Inherits project.edit_project |
task_type_edit |
project.task.type.form | project.task.type | field | Inherits project.task_type_edit |
view_stock_move_raw_tree |
stock.move.raw.tree | stock.move | tree | New |
view_task_form2 |
project.task.form | project.task | xpath | Inherits project.view_task_form2 |
stock_task_id
Many2one → project.task
comodel_name='project.task'
ondelete='cascade'
string='Project Task'
No public methods.
location_dest_id
Many2one → stock.location
check_company=True
comodel_name='stock.location'
help='Default location to which materials are consumed.'
index=True
readonly=False
string='Destination Location'
location_id
Many2one → stock.location
check_company=True
comodel_name='stock.location'
help='Default location from which materials are consumed.'
index=True
readonly=False
string='Source Location'
picking_type_id
Many2one → stock.picking.type
check_company=True
comodel_name='stock.picking.type'
domain="[('warehouse_id.company_id', '=', company_id)]"
index=True
readonly=False
string='Operation Type'
stock_analytic_date
Date
string='Analytic date'
write(self, vals)
allow_moves_action_assign
Boolean
compute='_compute_allow_moves_action_assign'
allow_moves_action_confirm
Boolean
compute='_compute_allow_moves_action_confirm'
done_stock_moves
Boolean
related='stage_id.done_stock_moves'
group_id
Many2one → procurement.group
comodel_name='procurement.group'
location_dest_id
Many2one → stock.location
check_company=True
comodel_name='stock.location'
index=True
readonly=False
string='Destination Location'
location_id
Many2one → stock.location
check_company=True
comodel_name='stock.location'
index=True
readonly=False
string='Source Location'
move_ids
One2many → stock.move
comodel_name='stock.move'
copy=False
domain=[('scrapped', '=', False)]
inverse_name='raw_material_task_id'
string='Stock Moves'
picking_type_id
Many2one → stock.picking.type
check_company=True
comodel_name='stock.picking.type'
domain="[('company_id', '=', company_id)]"
index=True
readonly=False
string='Operation Type'
scrap_count
Integer
compute='_compute_scrap_move_count'
string='Scrap Move'
scrap_ids
One2many → stock.scrap
comodel_name='stock.scrap'
inverse_name='task_id'
string='Scraps'
stock_analytic_account_id
Many2one → account.analytic.account
comodel_name='account.analytic.account'
help='Move created will be assigned to this analytic account'
string='Move Analytic Account'
stock_analytic_date
Date
string='Analytic date'
stock_analytic_line_ids
One2many → account.analytic.line
comodel_name='account.analytic.line'
inverse_name='stock_task_id'
string='Analytic Lines'
stock_analytic_tag_ids
Many2many → account.analytic.tag
comodel_name='account.analytic.tag'
string='Move Analytic Tags'
stock_moves_is_locked
Boolean
default=True
stock_state
Selection
compute='_compute_stock_state'
selection=[('pending', 'Pending'), ('confirmed', 'Confirmed'), ('assigned', 'Assigned'), ('done', 'Done'), ('cancel', 'Cancel')]
unreserve_visible
Boolean
compute='_compute_unreserve_visible'
help='Technical field to check when we can unreserve'
string='Allowed to Unreserve Inventory'
use_stock_moves
Boolean
related='stage_id.use_stock_moves'
action_assign(self)
action_cancel(self)
action_confirm(self)
action_done(self)
action_see_move_scrap(self)
action_toggle_stock_moves_is_locked(self)
button_scrap(self)
button_unreserve(self)
do_unreserve(self)
unlink(self)
write(self, vals)
done_stock_moves
Boolean
help='If you check this box, when a task is in this state, you will not be able to add more stock moves but they can be viewed.'
use_stock_moves
Boolean
help='If you mark this check, when a task goes to this state, it will use stock moves'
No public methods.
product_uom_category_id
Many2one
related='product_id.uom_id.category_id'
raw_material_task_id
Many2one → project.task
check_company=True
comodel_name='project.task'
string='Task for material'
task_id
Many2one → project.task
check_company=True
comodel_name='project.task'
string='Related Task'
default_get(self, fields_list)
onchange_product_id(self)
task_id
Many2one → project.task
comodel_name='project.task'
compute='_compute_task_id'
store=True
string='Task'
No public methods.
task_id
Many2one → project.task
check_company=True
comodel_name='project.task'
string='Task'
No public methods.