Project Work Breakdown Structure

project_wbs
REPOSITORY
REPOSITORYOCA/project
GIT
GIThttps://github.com/OCA/project.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/project/tree/15.0/project_wbs
VERSION
VERSION 1.2.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ForgeFlow, Matmoz d.o.o., Luxim d.o.o., Deneroteam
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ForgeFlow, Matmoz d.o.o., Luxim d.o.o., Deneroteam
COMMITTERS
COMMITTERSPedro M. Baeza, AaronHForgeFlow, Weblate, OCA-git-bot, oca-ci, JasminSForgeFlow
WEBSITE
WEBSITEhttps://github.com/OCA/project
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:36
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-analytic:
    - account_analytic_parent
    - account_analytic_sequence
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - hr_timesheet
    - hr
    - project
    - rating
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
edit_project project.project.form project.project field Inherits hr_timesheet.project_invoice_form
view_account_analytic_account_form account.analytic.account.form account.analytic.account field Inherits analytic.view_account_analytic_account_form
view_account_analytic_account_list account.analytic.account.list account.analytic.account field Inherits analytic.view_account_analytic_account_list
view_account_analytic_account_search account.analytic.account.search account.analytic.account field Inherits analytic.view_account_analytic_account_search
view_account_analytic_account_search2 account.analytic.account.search account.analytic.account xpath Inherits analytic.view_account_analytic_account_search
view_project project.project.tree project.project tree Inherits project.view_project
view_project_kanban project.project.kanban.wbs project.project field Inherits project.view_project_kanban
view_project_project_filter project.project.select project.project field Inherits project.view_project_project_filter
view_project_project_group_filter project.project.group project.project xpath Inherits project.view_project_project_filter
Models touched (2)

New fields (11)
  • account_class Selection
    default='project' help='The classification allows you to create a proper project Work Breakdown Structure' args: [('project', 'Project'), ('phase', 'Phase'), ('deliverable', 'Deliverable'), ('work_package', 'Work Package')], 'Class'
  • code Char
    copy=False
  • complete_wbs_code Char
    compute=_complete_wbs_code_calc help='The full WBS code describes the full path of this component within the project WBS hierarchy' store=True string='Full WBS Code'
  • complete_wbs_name Char
    compute=_complete_wbs_name_calc help='Full path in the WBS hierarchy' store=True string='Full WBS path'
  • manager_id Many2one → res.users
    tracking=True args: 'res.users', 'Manager'
  • parent_id Many2one
    default=_default_parent string='Parent Analytic Account'
  • partner_id Many2one
    default=_default_partner
  • project_analytic_id Many2one → account.analytic.account
    compute=_compute_project_analytic_id store=True string='Root Analytic Account' args: 'account.analytic.account'
  • project_ids One2many → project.project
    comodel_name='project.project' inverse_name='analytic_account_id' string='Projects'
  • user_id Many2one → res.users
    default=_default_user tracking=True args: 'res.users', 'Project Manager'
  • wbs_indent Char
    compute=_wbs_indent_calc string='Level'
Public methods (5)
  • code_get(self)
    @api.depends('code')
  • copy(self, default=None)
  • get_child_accounts(self)
  • name_get(self)
    @api.depends('name')
  • write(self, vals)

New fields (11)
  • account_class Selection
    default='project' readonly=False related='analytic_account_id.account_class' store=True
  • analytic_account_id Many2one → account.analytic.account
    index=True ondelete='restrict' required=True args: 'account.analytic.account', 'Analytic Account'
  • child_ids One2many
    readonly=False related='analytic_account_id.child_ids'
  • code Char
    readonly=False related='analytic_account_id.code'
  • complete_wbs_code Char
    related='analytic_account_id.complete_wbs_code' store=True string='WBS Code'
  • complete_wbs_name Char
    related='analytic_account_id.complete_wbs_name'
  • has_project_child_complete_ids Boolean
    compute='_compute_has_child'
  • parent_id Many2one
    readonly=False related='analytic_account_id.parent_id'
  • project_analytic_id Many2one
    readonly=True related='analytic_account_id.project_analytic_id' store=True
  • project_child_complete_ids Many2many → project.project
    comodel_name='project.project' compute='_compute_child' string='Project Hierarchy'
  • wbs_indent Char
    related='analytic_account_id.wbs_indent'
Public methods (13)
  • action_open_child_kanban_view(self)
  • action_open_child_tree_view(self)
  • action_open_child_view(self, act_window)
    @api.model
    :return dict: dictionary value for created view
  • action_open_parent_kanban_view(self)
    :return dict: dictionary value for created view
  • action_open_parent_tree_view(self)
    :return dict: dictionary value for created view
  • action_open_view_project_form(self)
  • code_get(self)
    @api.depends('analytic_account_id.code')
  • create(self, vals)
    @api.model
  • name_get(self)
    @api.depends('name')
  • on_change_parent(self)
    @api.onchange('parent_id')
  • prepare_analytics_vals(self, vals)
  • update_project_from_analytic_vals(self, vals)
  • write(self, vals)
REPOSITORY
REPOSITORYOCA/project
GIT
GIThttps://github.com/OCA/project.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/project/tree/14.0/project_wbs
VERSION
VERSION 1.0.4
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Eficent, Matmoz d.o.o., Luxim d.o.o., Deneroteam
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Eficent, Matmoz d.o.o., Luxim d.o.o., Deneroteam
COMMITTERS
COMMITTERSPedro M. Baeza, Jairo Llopis, AaronHForgeFlow, Weblate, OCA-git-bot, oca-ci, JasminSForgeFlow
WEBSITE
WEBSITEhttps://github.com/OCA/project
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:02
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-analytic:
    - account_analytic_parent
    - account_analytic_sequence
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - hr_timesheet
    - hr
    - project
    - rating
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
edit_project project.project.form project.project field Inherits hr_timesheet.project_invoice_form
view_account_analytic_account_form account.analytic.account.form account.analytic.account field Inherits analytic.view_account_analytic_account_form
view_account_analytic_account_list account.analytic.account.list account.analytic.account field Inherits analytic.view_account_analytic_account_list
view_account_analytic_account_search account.analytic.account.search account.analytic.account field Inherits analytic.view_account_analytic_account_search
view_account_analytic_account_search2 account.analytic.account.search account.analytic.account xpath Inherits analytic.view_account_analytic_account_search
view_project project.project.tree project.project tree Inherits project.view_project
view_project_kanban project.project.kanban.wbs project.project field Inherits project.view_project_kanban
view_project_project_filter project.project.select project.project field Inherits project.view_project_project_filter
view_project_project_group_filter project.project.group project.project xpath Inherits project.view_project_project_filter
Models touched (2)

New fields (11)
  • account_class Selection
    default='project' help='The classification allows you to create a proper project Work Breakdown Structure' args: [('project', 'Project'), ('phase', 'Phase'), ('deliverable', 'Deliverable'), ('work_package', 'Work Package')], 'Class'
  • code Char
    copy=False
  • complete_wbs_code Char
    compute=_complete_wbs_code_calc help='The full WBS code describes the full path of this component within the project WBS hierarchy' store=True string='Full WBS Code'
  • complete_wbs_name Char
    compute=_complete_wbs_name_calc help='Full path in the WBS hierarchy' store=True string='Full WBS path'
  • manager_id Many2one → res.users
    tracking=True args: 'res.users', 'Manager'
  • parent_id Many2one
    default=_default_parent string='Parent Analytic Account'
  • partner_id Many2one
    default=_default_partner
  • project_analytic_id Many2one → account.analytic.account
    compute=_compute_project_analytic_id store=True string='Root Analytic Account' args: 'account.analytic.account'
  • project_ids One2many → project.project
    comodel_name='project.project' inverse_name='analytic_account_id' string='Projects'
  • user_id Many2one → res.users
    default=_default_user tracking=True args: 'res.users', 'Project Manager'
  • wbs_indent Char
    compute=_wbs_indent_calc string='Level'
Public methods (5)
  • code_get(self)
    @api.depends('code')
  • copy(self, default=None)
  • get_child_accounts(self)
  • name_get(self)
    @api.depends('name')
  • write(self, vals)

New fields (11)
  • account_class Selection
    default='project' readonly=False related='analytic_account_id.account_class' store=True
  • analytic_account_id Many2one → account.analytic.account
    index=True ondelete='restrict' required=True args: 'account.analytic.account', 'Analytic Account'
  • child_ids One2many
    readonly=False related='analytic_account_id.child_ids'
  • code Char
    readonly=False related='analytic_account_id.code'
  • complete_wbs_code Char
    readonly=False related='analytic_account_id.complete_wbs_code' store=True string='WBS Code'
  • complete_wbs_name Char
    readonly=False related='analytic_account_id.complete_wbs_name'
  • has_project_child_complete_ids Boolean
    compute='_compute_has_child'
  • parent_id Many2one
    readonly=False related='analytic_account_id.parent_id'
  • project_analytic_id Many2one
    readonly=True related='analytic_account_id.project_analytic_id' store=True
  • project_child_complete_ids Many2many → project.project
    comodel_name='project.project' compute='_compute_child' string='Project Hierarchy'
  • wbs_indent Char
    readonly=False related='analytic_account_id.wbs_indent'
Public methods (13)
  • action_open_child_kanban_view(self)
  • action_open_child_tree_view(self)
  • action_open_child_view(self, act_window)
    @api.model
    :return dict: dictionary value for created view
  • action_open_parent_kanban_view(self)
    :return dict: dictionary value for created view
  • action_open_parent_tree_view(self)
    :return dict: dictionary value for created view
  • action_open_view_project_form(self)
  • code_get(self)
    @api.depends('analytic_account_id.code')
  • create(self, vals)
    @api.model
  • name_get(self)
    @api.depends('name')
  • on_change_parent(self)
    @api.onchange('parent_id')
  • prepare_analytics_vals(self, vals)
  • update_project_from_analytic_vals(self, vals)
  • write(self, vals)
REPOSITORY
REPOSITORYOCA/project
GIT
GIThttps://github.com/OCA/project.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/project/tree/12.0/project_wbs
VERSION
VERSION 1.1.2
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Eficent, Matmoz d.o.o., Luxim d.o.o., Deneroteam
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Eficent, Matmoz d.o.o., Luxim d.o.o., Deneroteam
COMMITTERS
COMMITTERSmreficent, OCA Transbot, ahenriquez, oca-travis, Weblate, OCA-git-bot, Marcel Savegnago
WEBSITE
WEBSITEhttps://github.com/OCA/project
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:20
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-analytic:
    - account_analytic_parent
    - account_analytic_sequence
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - http_routing
    - digest
    - hr_timesheet
    - hr
    - resource
    - project
    - rating
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
edit_project project.project.form project.project field Inherits hr_timesheet.project_invoice_form
view_account_analytic_account_form account.analytic.account.form account.analytic.account field Inherits analytic.view_account_analytic_account_form
view_account_analytic_account_list account.analytic.account.list account.analytic.account field Inherits analytic.view_account_analytic_account_list
view_account_analytic_account_search account.analytic.account.search account.analytic.account field Inherits analytic.view_account_analytic_account_search
view_account_analytic_account_search2 account.analytic.account.search account.analytic.account xpath Inherits analytic.view_account_analytic_account_search
view_project project.project.tree project.project tree Inherits project.view_project
view_project_kanban project.project.kanban.wbs project.project field Inherits project.view_project_kanban
view_project_project_filter project.project.select project.project field Inherits project.view_project_project_filter
view_project_project_group_filter project.project.group project.project xpath Inherits project.view_project_project_filter
Models touched (2)

New fields (11)
  • account_class Selection
    default='project' help='The classification allows you to create a proper project Work Breakdown Structure' args: [('project', 'Project'), ('phase', 'Phase'), ('deliverable', 'Deliverable'), ('work_package', 'Work Package')], 'Class'
  • code Char
    copy=False
  • complete_wbs_code Char
    compute=_complete_wbs_code_calc help='The full WBS code describes the full path of this component within the project WBS hierarchy' store=True string='Full WBS Code'
  • complete_wbs_name Char
    compute=_complete_wbs_name_calc help='Full path in the WBS hierarchy' store=True string='Full WBS path'
  • manager_id Many2one → res.users
    track_visibility='onchange' args: 'res.users', 'Manager'
  • parent_id Many2one
    default=_default_parent string='Parent Analytic Account'
  • partner_id Many2one
    default=_default_partner
  • project_analytic_id Many2one → account.analytic.account
    compute=_compute_project_analytic_id store=True string='Root Analytic Account' args: 'account.analytic.account'
  • project_ids One2many → project.project
    comodel_name='project.project' inverse_name='analytic_account_id' string='Projects'
  • user_id Many2one → res.users
    default=_default_user track_visibility='onchange' args: 'res.users', 'Project Manager'
  • wbs_indent Char
    compute=_wbs_indent_calc string='Level'
Public methods (5)
  • code_get(self)
    @api.multi@api.depends('code')
  • copy(self, default=None)
    @api.multi
  • get_child_accounts(self)
    @api.multi
  • name_get(self)
    @api.multi@api.depends('name')
  • write(self, vals)
    @api.multi

New fields (11)
  • account_class Selection
    default='project' readonly=False related='analytic_account_id.account_class' store=True
  • analytic_account_id Many2one → account.analytic.account
    index=True ondelete='restrict' required=True args: 'account.analytic.account', 'Analytic Account'
  • child_ids One2many
    readonly=False related='analytic_account_id.child_ids'
  • code Char
    readonly=False related='analytic_account_id.code'
  • complete_wbs_code Char
    readonly=False related='analytic_account_id.complete_wbs_code' store=True string='WBS Code'
  • complete_wbs_name Char
    readonly=False related='analytic_account_id.complete_wbs_name'
  • has_project_child_complete_ids Boolean
    compute='_compute_has_child'
  • parent_id Many2one
    readonly=False related='analytic_account_id.parent_id'
  • project_analytic_id Many2one
    readonly=True related='analytic_account_id.project_analytic_id' store=True
  • project_child_complete_ids Many2many → project.project
    comodel_name='project.project' compute='_compute_child' string='Project Hierarchy'
  • wbs_indent Char
    readonly=False related='analytic_account_id.wbs_indent'
Public methods (13)
  • action_open_child_kanban_view(self)
    @api.multi
  • action_open_child_tree_view(self)
    @api.multi
  • action_open_child_view(self, module, act_window)
    @api.model
    :return dict: dictionary value for created view
  • action_open_parent_kanban_view(self)
    @api.multi
    :return dict: dictionary value for created view
  • action_open_parent_tree_view(self)
    @api.multi
    :return dict: dictionary value for created view
  • action_open_view_project_form(self)
    @api.multi
  • code_get(self)
    @api.multi@api.depends('analytic_account_id.code')
  • create(self, vals)
    @api.model
  • name_get(self)
    @api.multi@api.depends('name')
  • on_change_parent(self)
    @api.multi@api.onchange('parent_id')
  • prepare_analytics_vals(self, vals)
  • update_project_from_analytic_vals(self, vals)
  • write(self, vals)
    @api.multi
REPOSITORY
REPOSITORYOCA/project
GIT
GIThttps://github.com/OCA/project.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/project/tree/11.0/project_wbs
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Eficent, Matmoz d.o.o., Luxim d.o.o., Deneroteam
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Eficent, Matmoz d.o.o., Luxim d.o.o., Deneroteam
COMMITTERS
COMMITTERSOCA Transbot, ahenriquez, oca-travis
WEBSITE
WEBSITEhttps://www.github.com/OCA/project
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:23:59
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-analytic:
    - account_analytic_parent
    - account_analytic_sequence
odoo/odoo:
    - project
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - analytic
    - portal
    - http_routing
    - resource
    - web_planner
    - account
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
edit_project project.project.form project.project field Inherits project.edit_project
view_account_analytic_account_form account.analytic.account.form account.analytic.account field Inherits analytic.view_account_analytic_account_form
view_account_analytic_account_list account.analytic.account.list account.analytic.account field Inherits analytic.view_account_analytic_account_list
view_account_analytic_account_search account.analytic.account.search account.analytic.account field Inherits analytic.view_account_analytic_account_search
view_account_analytic_account_search2 account.analytic.account.search account.analytic.account xpath Inherits analytic.view_account_analytic_account_search
view_project project.project.tree project.project tree Inherits project.view_project
view_project_kanban project.project.kanban.wbs project.project xpath Inherits project.view_project_kanban
view_project_project_filter project.project.select project.project field Inherits project.view_project_project_filter
view_project_project_group_filter project.project.group project.project xpath Inherits project.view_project_project_filter
Models touched (2)

New fields (9)
  • account_class Selection
    default='project' help='The classification allows you to create a proper project Work Breakdown Structure' args: [('project', 'Project'), ('phase', 'Phase'), ('deliverable', 'Deliverable'), ('work_package', 'Work Package')], 'Class'
  • complete_wbs_code Char
    compute=_complete_wbs_code_calc help='The full WBS code describes the full path of this component within the project WBS hierarchy' store=True string='Full WBS Code'
  • complete_wbs_name Char
    compute=_complete_wbs_name_calc help='Full path in the WBS hierarchy' store=True string='Full WBS path'
  • manager_id Many2one → res.users
    track_visibility='onchange' args: 'res.users', 'Manager'
  • parent_id Many2one
    default=_default_parent string='Parent Analytic Account'
  • partner_id Many2one
    default=_default_partner
  • project_analytic_id Many2one → account.analytic.account
    compute=_compute_project_analytic_id store=True string='Root Analytic Account' args: 'account.analytic.account'
  • user_id Many2one → res.users
    default=_default_user track_visibility='onchange' args: 'res.users', 'Project Manager'
  • wbs_indent Char
    compute=_wbs_indent_calc readonly=True string='Level'
Public methods (5)
  • code_get(self)
    @api.multi@api.depends('code')
  • copy(self, default=None)
    @api.multi
  • get_child_accounts(self)
    @api.multi
  • name_get(self)
    @api.multi
  • write(self, vals)
    @api.multi

New fields (3)
  • account_class Selection
    default='project' related='analytic_account_id.account_class' store=True
  • c_wbs_code Char
    readonly=True related='analytic_account_id.complete_wbs_code' store=True string='WBS Code'
  • project_child_complete_ids Many2many → project.project
    comodel_name='project.project' compute='_compute_child' string='Project Hierarchy'
Public methods (12)
  • action_open_child_kanban_view(self)
    @api.multi
  • action_open_child_tree_view(self)
    @api.multi
  • action_open_child_view(self, module, act_window)
    @api.multi
    :return dict: dictionary value for created view
  • action_open_parent_kanban_view(self)
    @api.multi
    :return dict: dictionary value for created view
  • action_open_parent_tree_view(self)
    @api.multi
    :return dict: dictionary value for created view
  • action_open_view_project_form(self)
    @api.multi
  • code_get(self)
    @api.multi@api.depends('code')
  • copy(self, default=None)
    @api.multi
  • name_get(self)
    @api.multi
  • on_change_parent(self)
    @api.multi@api.onchange('parent_id')
  • prepare_analytics_vals(self, vals)
  • write(self, vals)
    @api.multi
REPOSITORY
REPOSITORYOCA/project
GIT
GIThttps://github.com/OCA/project.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/project/tree/10.0/project_wbs
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Eficent, Matmoz d.o.o., Luxim d.o.o., Deneroteam
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Eficent, Matmoz d.o.o., Luxim d.o.o., Deneroteam
COMMITTERS
COMMITTERSmreficent, ahenriquez, oca-travis, aaron
WEBSITE
WEBSITEhttps://www.github.com/OCA/project
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:58
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/account-analytic:
    - account_analytic_parent
    - account_analytic_sequence
odoo/odoo:
    - project
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
    - analytic
    - resource
    - web_planner
    - account_accountant
    - account
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
edit_project project.project.form project.project xpath Inherits project.edit_project
view_account_analytic_account_form account.analytic.account.form account.analytic.account field Inherits analytic.view_account_analytic_account_form
view_account_analytic_account_list account.analytic.account.list account.analytic.account field Inherits analytic.view_account_analytic_account_list
view_account_analytic_account_search account.analytic.account.search account.analytic.account field Inherits analytic.view_account_analytic_account_search
view_account_analytic_account_search2 account.analytic.account.search account.analytic.account xpath Inherits analytic.view_account_analytic_account_search
view_project project.project.tree project.project xpath Inherits project.view_project
view_project_kanban project.project.kanban.wbs project.project xpath Inherits project.view_project_kanban
view_project_project_filter project.project.select project.project field Inherits project.view_project_project_filter
view_project_project_group_filter project.project.group project.project xpath Inherits project.view_project_project_filter
Models touched (2)

New fields (9)
  • account_class Selection
    default='project' help='The classification allows you to create a proper project Work Breakdown Structure' args: [('project', 'Project'), ('phase', 'Phase'), ('deliverable', 'Deliverable'), ('work_package', 'Work Package')], 'Class'
  • complete_wbs_code Char
    compute=_complete_wbs_code_calc help='The full WBS code describes the full path of this component within the project WBS hierarchy' store=True string='Full WBS Code'
  • complete_wbs_name Char
    compute=_complete_wbs_name_calc help='Full path in the WBS hierarchy' store=True string='Full WBS path'
  • manager_id Many2one → res.users
    track_visibility='onchange' args: 'res.users', 'Manager'
  • parent_id Many2one
    default=_default_parent string='Parent Analytic Account'
  • partner_id Many2one
    default=_default_partner
  • project_analytic_id Many2one → account.analytic.account
    compute=_get_project_analytic_id store=True string='Root Analytic Account' args: 'account.analytic.account'
  • user_id Many2one → res.users
    default=_default_user track_visibility='onchange' args: 'res.users', 'Project Manager'
  • wbs_indent Char
    compute=_wbs_indent_calc readonly=True string='Level'
Public methods (5)
  • code_get(self)
    @api.multi@api.depends('code')
  • copy(self, default=None)
    @api.multi
  • get_child_accounts(self)
    @api.multi
  • name_get(self)
    @api.multi@api.depends('name')
  • write(self, vals)
    @api.multi

New fields (3)
  • account_class Selection
    default='project' related='analytic_account_id.account_class' store=True
  • c_wbs_code Char
    readonly=True related='analytic_account_id.complete_wbs_code' store=True string='WBS Code'
  • project_child_complete_ids Many2many → project.project
    comodel_name='project.project' compute='_compute_child' string='Project Hierarchy'
Public methods (13)
  • action_open_child_kanban_view(self)
    @api.multi
  • action_open_child_tree_view(self)
    @api.multi
  • action_open_child_view(self, module, act_window)
    @api.multi
    :return dict: dictionary value for created view
  • action_open_parent_kanban_view(self)
    @api.multi
    :return dict: dictionary value for created view
  • action_open_parent_tree_view(self)
    @api.multi
    :return dict: dictionary value for created view
  • action_open_view_project_form(self)
    @api.multi
  • button_save_data(self)
    @api.multi
  • code_get(self)
    @api.multi@api.depends('code')
  • copy(self, default=None)
    @api.multi
  • name_get(self)
    @api.multi@api.depends('name')
  • on_change_parent(self)
    @api.multi@api.onchange('parent_id')
  • prepare_analytics_vals(self, vals)
  • write(self, vals)
    @api.multi
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/project
PULL REQUEST
PULL REQUEST[18.0][MIG] project_wbs: Migration to 18.0 (#1690)