Project Recalculate

project_recalculate
REPOSITORY
REPOSITORYOCA/project
GIT
GIThttps://github.com/OCA/project.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/project/tree/14.0/project_recalculate
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYProject
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSOCA Transbot, Ernesto Tejeda, oca-travis, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/project
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:02
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - hr_timesheet
    - hr
    - base_setup
    - base
    - web
    - mail
    - bus
    - web_tour
    - resource
    - analytic
    - uom
    - project
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - rating
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
edit_project_recalculate project.project group Inherits project.edit_project
task_type_edit project.task.type field Inherits project.task_type_edit
view_task_form2_inherited project.task field Inherits hr_timesheet.view_task_form2_inherited
wizard_project_recalculate_form project.recalculate.wizard.form project.recalculate.wizard form New
Models touched (5)

New fields (1)
  • calculation_type Selection
    default=False help='How to calculate tasks, with date start or date end references. If not set, "Recalculate project" button is disabled.' string='Calculation type' args: [('date_begin', 'Date begin'), ('date_end', 'Date end')]
Public methods (1)
  • project_recalculate(self)
    Recalculate project tasks start and end dates. After that, recalculate new project start or end date

New fields (3)
  • calculation_type Selection
    readonly=True related='project_id.calculation_type' string='Calculation type'
  • project_date Date
    readonly=True
  • project_id Many2one → project.project
    comodel_name='project.project' readonly=True string='Project'
Public methods (2)
  • confirm_button(self)
  • default_get(self, fields_list)
    @api.model

New fields (4)
  • date_start Datetime
    copy=False default=fields.Datetime.now index=True string='Starting Date'
  • estimated_days Integer
    default=1 help='Estimated days to end' string='Estimated days'
  • from_days Integer
    default=0 help='Anticipation days from date begin or date end' string='From days'
  • include_in_recalculate Boolean
    readonly=True related='stage_id.include_in_recalculate'
Public methods (2)
  • task_recalculate(self)
    Recalculate task start date and end date depending on project calculation_type, estimated_days and from_days.
  • write(self, vals)

New fields (1)
  • include_in_recalculate Boolean
    default=True help="If you mark this check, tasks that are in this stage will be selectable for recalculating their dates when user click on 'Recalculate project' button." string='Include in project recalculate'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (2)
  • get_working_days_of_date(self, start_dt=None, end_dt=None, resource=None)
  • plan_days_to_resource(self, days, day_dt, compute_leaves=False, resource=None, domain=None)
REPOSITORY
REPOSITORYOCA/project
GIT
GIThttps://github.com/OCA/project.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/project/tree/12.0/project_recalculate
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYProject
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSOCA Transbot, oca-travis, Weblate, OCA-git-bot, ernesto
WEBSITE
WEBSITEhttps://github.com/OCA/project
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:20
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - hr_timesheet
    - hr
    - base_setup
    - base
    - web
    - mail
    - bus
    - web_tour
    - resource
    - analytic
    - decimal_precision
    - uom
    - project
    - portal
    - http_routing
    - rating
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
edit_project_recalculate project.project field Inherits project.edit_project
task_type_edit project.task.type field Inherits project.task_type_edit
view_task_form2_inherited project.task field Inherits hr_timesheet.view_task_form2_inherited
wizard_project_recalculate_form project.recalculate.wizard.form project.recalculate.wizard form New
Models touched (5)

New fields (1)
  • calculation_type Selection
    default=False help='How to calculate tasks, with date start or date end references. If not set, "Recalculate project" button is disabled.' string='Calculation type' args: [('date_begin', 'Date begin'), ('date_end', 'Date end')]
Public methods (1)
  • project_recalculate(self)
    @api.multi
    Recalculate project tasks start and end dates. After that, recalculate new project start or end date

New fields (3)
  • calculation_type Selection
    readonly=True related='project_id.calculation_type' string='Calculation type'
  • project_date Date
    readonly=True
  • project_id Many2one → project.project
    comodel_name='project.project' readonly=True string='Project'
Public methods (2)
  • confirm_button(self)
  • default_get(self, fields_list)
    @api.model

New fields (3)
  • estimated_days Integer
    default=1 help='Estimated days to end' oldname='anticipation_days' string='Estimated days'
  • from_days Integer
    default=0 help='Anticipation days from date begin or date end' string='From days'
  • include_in_recalculate Boolean
    readonly=True related='stage_id.include_in_recalculate'
Public methods (2)
  • task_recalculate(self)
    @api.multi
    Recalculate task start date and end date depending on project calculation_type, estimated_days and from_days.
  • write(self, vals)
    @api.multi

New fields (1)
  • include_in_recalculate Boolean
    default=True help="If you mark this check, tasks that are in this stage will be selectable for recalculating their dates when user click on 'Recalculate project' button." string='Include in project recalculate'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (2)
  • get_working_days_of_date(self, start_dt=None, end_dt=None, resource=None)
  • plan_days_to_resource(self, days, day_dt, compute_leaves=False, resource=None, domain=None)
    @api.multi
REPOSITORY
REPOSITORYOCA/project
GIT
GIThttps://github.com/OCA/project.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/project/tree/10.0/project_recalculate
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYProject
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA)
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA)
COMMITTERS
COMMITTERSPedro M. Baeza, OCA Transbot, oca-travis, Weblate, tbaden
WEBSITE
WEBSITEhttps://www.tecnativa.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:58
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - hr_timesheet
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
    - analytic
    - web_planner
    - hr
    - resource
    - project
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
edit_project_recalculate project.project field Inherits project.edit_project
task_type_edit project.task.type field Inherits project.task_type_edit
view_task_form2_inherited project.task field Inherits hr_timesheet.view_task_form2_inherited
wizard_project_recalculate_form project.recalculate.wizard.form project.recalculate.wizard form New
Models touched (5)

New fields (1)
  • calculation_type Selection
    default=False help='How to calculate tasks, with date start or date end references. If not set, "Recalculate project" button is disabled.' string='Calculation type' args: [('date_begin', 'Date begin'), ('date_end', 'Date end')]
Public methods (1)
  • project_recalculate(self)
    @api.multi
    Recalculate project tasks start and end dates. After that, recalculate new project start or end date

New fields (3)
  • calculation_type Selection
    readonly=True related='project_id.calculation_type' string='Calculation type'
  • project_date Date
    readonly=True
  • project_id Many2one → project.project
    comodel_name='project.project' readonly=True string='Project'
Public methods (2)
  • confirm_button(self)
  • default_get(self, fields_list)
    @api.model

New fields (3)
  • estimated_days Integer
    default=1 help='Estimated days to end' oldname='anticipation_days' string='Estimated days'
  • from_days Integer
    default=0 help='Anticipation days from date begin or date end' string='From days'
  • include_in_recalculate Boolean
    readonly=True related='stage_id.include_in_recalculate'
Public methods (2)
  • task_recalculate(self)
    @api.multi
    Recalculate task start date and end date depending on project calculation_type, estimated_days and from_days.
  • write(self, vals)
    @api.multi

New fields (1)
  • include_in_recalculate Boolean
    default=True help="If you mark this check, tasks that are in this stage will be selectable for recalculating their dates when user click on 'Recalculate project' button." string='Include in project recalculate'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_working_days_of_date(self, start_dt=None, end_dt=None, leaves=None, compute_leaves=False, resource_id=None, default_interval=None)
REPOSITORY
REPOSITORYOCA/project
GIT
GIThttps://github.com/OCA/project.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/project/tree/9.0/project_recalculate
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYProject
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Antiun Ingeniería S.L.
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Antiun Ingeniería S.L.
COMMITTERS
COMMITTERSPedro M. Baeza, Stéphane Bidoul (ACSONE)
WEBSITE
WEBSITEhttp://www.antiun.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:21
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - project
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - report
    - analytic
    - portal
    - auth_signup
    - resource
    - web_tip
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
edit_project_recalculate project.project.form project.project field Inherits project.edit_project
task_type_edit Add include_in_recalculate field project.task.type field Inherits project.task_type_edit
view_project_task_form view_project_task_form project.task field Inherits project.view_task_form2
wizard_project_recalculate_form project.recalculate.wizard.form project.recalculate.wizard form New
Models touched (5)

New fields (1)
  • calculation_type Selection
    default=False help='How to calculate tasks, with date start or date end references. If not set, "Recalculate project" button is disabled.' string='Calculation type' args: [('date_begin', 'Date begin'), ('date_end', 'Date end')]
Public methods (1)
  • project_recalculate(self)
    @api.multi
    Recalculate project tasks start and end dates. After that, recalculate new project start or end date

New fields (3)
  • calculation_type Selection
    readonly=True related='project_id.calculation_type' string='Calculation type'
  • project_date Date
    readonly=True
  • project_id Many2one → project.project
    comodel_name='project.project' readonly=True string='Project'
Public methods (2)
  • confirm_button(self)
    @api.one
  • default_get(self, fields_list)
    @api.model

New fields (3)
  • estimated_days Integer
    default=1 help='Estimated days to end' oldname='anticipation_days' string='Estimated days'
  • from_days Integer
    default=0 help='Anticipation days from date begin or date end' string='From days'
  • include_in_recalculate Boolean
    related='stage_id.include_in_recalculate'
Public methods (2)
  • task_recalculate(self)
    @api.multi
    Recalculate task start date and end date depending on project calculation_type, estimated_days and from_days
  • write(self, vals)
    @api.one

New fields (1)
  • include_in_recalculate Boolean
    default=True help="If you mark this check, tasks that are in this stage will be selectable for recalculating their dates when user click on 'Recalculate project' button." string='Include in project recalculate'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_working_days_of_date(self, cr, uid, id, start_dt=None, end_dt=None, leaves=None, compute_leaves=False, resource_id=None, default_interval=None, context=None)
    @api.v7
REPOSITORY
REPOSITORYOCA/project
GIT
GIThttps://github.com/OCA/project.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/project/tree/8.0/project_recalculate
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYProject
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Antiun Ingeniería S.L.
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Antiun Ingeniería S.L.
COMMITTERS
COMMITTERSStéphane Bidoul (ACSONE), OCA Transbot, oca-travis, Weblate, Antonio Espinosa, mike, alfredoavanzosc
WEBSITE
WEBSITEhttp://www.antiun.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:23
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - project
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - report
    - analytic
    - board
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
edit_project_recalculate project.project.form project.project field Inherits project.edit_project
task_type_edit Add include_in_recalculate field project.task.type field Inherits project.task_type_edit
view_project_task_form view_project_task_form project.task field Inherits project.view_task_form2
wizard_project_recalculate_form project.recalculate.wizard.form project.recalculate.wizard form New
Models touched (5)

New fields (1)
  • calculation_type Selection
    default=False help='How to calculate tasks, with date start or date end references. If not set, "Recalculate project" button is disabled.' string='Calculation type' args: [('date_begin', 'Date begin'), ('date_end', 'Date end')]
Public methods (1)
  • project_recalculate(self)
    @api.multi
    Recalculate project tasks start and end dates. After that, recalculate new project start or end date

New fields (3)
  • calculation_type Selection
    readonly=True related='project_id.calculation_type' string='Calculation type'
  • project_date Date
    readonly=True
  • project_id Many2one → project.project
    comodel_name='project.project' readonly=True string='Project'
Public methods (2)
  • confirm_button(self)
    @api.one
  • default_get(self, fields_list)
    @api.model

New fields (3)
  • estimated_days Integer
    default=1 help='Estimated days to end' oldname='anticipation_days' string='Estimated days'
  • from_days Integer
    default=0 help='Anticipation days from date begin or date end' string='From days'
  • include_in_recalculate Boolean
    related='stage_id.include_in_recalculate'
Public methods (2)
  • task_recalculate(self)
    @api.multi
    Recalculate task start date and end date depending on project calculation_type, estimated_days and from_days
  • write(self, vals)
    @api.one

New fields (1)
  • include_in_recalculate Boolean
    default=True help="If you mark this check, tasks that are in this stage will be selectable for recalculating their dates when user click on 'Recalculate project' button." string='Include in project recalculate'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_working_days_of_date(self, cr, uid, id, start_dt=None, end_dt=None, leaves=None, compute_leaves=False, resource_id=None, default_interval=None, context=None)
    @api.v7