Maintenance Projects

maintenance_project
REPOSITORY
REPOSITORYOCA/maintenance
GIT
GIThttps://github.com/OCA/maintenance.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/maintenance/tree/19.0/maintenance_project
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYMaintenance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Solvos
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Solvos
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, Antoni Marroig Campomar
WEBSITE
WEBSITEhttps://github.com/OCA/maintenance
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:48
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/maintenance:
    - base_maintenance
odoo/odoo:
    - maintenance
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - project
    - analytic
    - uom
    - portal
    - http_routing
    - auth_signup
    - rating
    - resource
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module extends the functionality of Odoo Maintenance module adding
this features:

- Adds a project to an equipment. You can link an existing project or
  create a new one (with the Create project button) after creating the
  equipment.
- Adds project and task to a maintenance request. The default project
  for a request will be the equipment one, including the preventive
  requests periodically created.

This is is a technical addon to allow timesheet assignment to a
maintenance request.

Code Analysis

Views touched (13)
XML IDNameModelTypeStatus
edit_project project.project xpath Inherits project.edit_project
hr_equipment_request_view_form maintenance.request xpath Inherits maintenance.hr_equipment_request_view_form
hr_equipment_request_view_kanban maintenance.request xpath Inherits maintenance.hr_equipment_request_view_kanban
hr_equipment_request_view_search maintenance.request xpath Inherits maintenance.hr_equipment_request_view_search
hr_equipment_request_view_tree maintenance.request xpath Inherits maintenance.hr_equipment_request_view_tree
hr_equipment_view_form maintenance.equipment xpath Inherits maintenance.hr_equipment_view_form
hr_equipment_view_kanban maintenance.equipment xpath Inherits maintenance.hr_equipment_view_kanban
hr_equipment_view_search maintenance.equipment xpath Inherits maintenance.hr_equipment_view_search
hr_equipment_view_tree maintenance.equipment xpath Inherits maintenance.hr_equipment_view_tree
project_milestone_form_view project.milestone div Inherits project.project_milestone_view_form
project_milestone_tree_view project.milestone button Inherits project.project_milestone_view_tree
report_maintenance_request_document report_maintenance_request_document ir.ui.view qweb Inherits base_maintenance.report_maintenance_request_document
view_project_kanban project.project xpath Inherits project.view_project_kanban
Models touched (4)

New fields (2)
  • preventive_default_task_id Many2one → project.task
    comodel_name='project.task' string='Default Task'
  • project_id Many2one → project.project
    comodel_name='project.project' ondelete='restrict'
Public methods (1)
  • action_create_project(self)

New fields (3)
  • milestone_id Many2one → project.milestone
    comodel_name='project.milestone' compute='_compute_milestone_id' readonly=False store=True
  • project_id Many2one → project.project
    comodel_name='project.project'
  • task_id Many2one → project.task
    comodel_name='project.task'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
    We ensure for appropiate project and task for new requests, specially the automatically generated ones
  • onchange_equipment_id(self)
    @api.onchange('equipment_id')

New fields (2)
  • maintenance_request_count Integer
    compute='_compute_maintenance_request_count' string='Maintenance Requests Count'
  • maintenance_request_ids One2many → maintenance.request
    comodel_name='maintenance.request' inverse_name='milestone_id' string='Maintenance Requests'
Public methods (1)
  • action_view_maintenance_request(self)

New fields (4)
  • equipment_count Integer
    compute='_compute_equipment_count'
  • equipment_ids One2many → maintenance.equipment
    string='Equipments' args: 'maintenance.equipment', 'project_id'
  • maintenance_request_count Integer
    compute='_compute_maintenance_request_count'
  • maintenance_request_ids One2many → maintenance.request
    string='Maintenance Requests' args: 'maintenance.request', 'project_id'
Public methods (2)
  • action_view_equipment_ids(self)
    Access to the current equipments for this project
  • action_view_maintenance_request_ids(self)
    Access to the undone maintenance requests for this project
REPOSITORY
REPOSITORYOCA/maintenance
GIT
GIThttps://github.com/OCA/maintenance.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/maintenance/tree/18.0/maintenance_project
VERSION
VERSION 1.2.0
CATEGORY
CATEGORYMaintenance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Solvos
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Solvos
COMMITTERS
COMMITTERSEnric Tobella, Weblate, OCA-git-bot, oca-ci, Bhavesh Heliconia
WEBSITE
WEBSITEhttps://github.com/OCA/maintenance
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/maintenance:
    - base_maintenance
odoo/odoo:
    - maintenance
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - project
    - analytic
    - uom
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - rating
    - resource
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module extends the functionality of Odoo Maintenance module adding
this features:

- Adds a project to an equipment. You can link an existing project or
  create a new one (with the Create project button) after creating the
  equipment.
- Adds project and task to a maintenance request. The default project
  for a request will be the equipment one, including the preventive
  requests periodically created.

This is is a technical addon to allow timesheet assignment to a
maintenance request.

Code Analysis

Views touched (13)
XML IDNameModelTypeStatus
edit_project project.project xpath Inherits project.edit_project
hr_equipment_request_view_form maintenance.request xpath Inherits maintenance.hr_equipment_request_view_form
hr_equipment_request_view_kanban maintenance.request xpath Inherits maintenance.hr_equipment_request_view_kanban
hr_equipment_request_view_search maintenance.request xpath Inherits maintenance.hr_equipment_request_view_search
hr_equipment_request_view_tree maintenance.request xpath Inherits maintenance.hr_equipment_request_view_tree
hr_equipment_view_form maintenance.equipment xpath Inherits maintenance.hr_equipment_view_form
hr_equipment_view_kanban maintenance.equipment xpath Inherits maintenance.hr_equipment_view_kanban
hr_equipment_view_search maintenance.equipment xpath Inherits maintenance.hr_equipment_view_search
hr_equipment_view_tree maintenance.equipment xpath Inherits maintenance.hr_equipment_view_tree
project_milestone_form_view project.milestone div Inherits project.project_milestone_view_form
project_milestone_tree_view project.milestone button Inherits project.project_milestone_view_tree
report_maintenance_request_document report_maintenance_request_document ir.ui.view qweb Inherits base_maintenance.report_maintenance_request_document
view_project_kanban project.project xpath Inherits project.view_project_kanban
Models touched (4)

New fields (2)
  • preventive_default_task_id Many2one → project.task
    comodel_name='project.task' string='Default Task'
  • project_id Many2one → project.project
    comodel_name='project.project' ondelete='restrict'
Public methods (1)
  • action_create_project(self)

New fields (3)
  • milestone_id Many2one → project.milestone
    comodel_name='project.milestone' compute='_compute_milestone_id' readonly=False store=True
  • project_id Many2one → project.project
    comodel_name='project.project'
  • task_id Many2one → project.task
    comodel_name='project.task'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
    We ensure for appropiate project and task for new requests, specially the automatically generated ones
  • onchange_equipment_id(self)
    @api.onchange('equipment_id')

New fields (2)
  • maintenance_request_count Integer
    compute='_compute_maintenance_request_count' string='Maintenance Requests Count'
  • maintenance_request_ids One2many → maintenance.request
    comodel_name='maintenance.request' inverse_name='milestone_id' string='Maintenance Requests'
Public methods (1)
  • action_view_maintenance_request(self)

New fields (4)
  • equipment_count Integer
    compute='_compute_equipment_count'
  • equipment_ids One2many → maintenance.equipment
    string='Equipments' args: 'maintenance.equipment', 'project_id'
  • maintenance_request_count Integer
    compute='_compute_maintenance_request_count'
  • maintenance_request_ids One2many → maintenance.request
    string='Maintenance Requests' args: 'maintenance.request', 'project_id'
Public methods (2)
  • action_view_equipment_ids(self)
    Access to the current equipments for this project
  • action_view_maintenance_request_ids(self)
    Access to the undone maintenance requests for this project
REPOSITORY
REPOSITORYOCA/maintenance
GIT
GIThttps://github.com/OCA/maintenance.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/maintenance/tree/17.0/maintenance_project
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYMaintenance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Solvos
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Solvos
COMMITTERS
COMMITTERSVíctor Martínez, Weblate, OCA-git-bot, oca-ci, David Alonso // Solvos
WEBSITE
WEBSITEhttps://github.com/OCA/maintenance
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:06
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/maintenance:
    - base_maintenance
odoo/odoo:
    - maintenance
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - project
    - analytic
    - uom
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - rating
    - resource
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module extends the functionality of Odoo Maintenance module adding
this features:

- Adds a project to an equipment. You can link an existing project or
  create a new one (with the Create project button) after creating the
  equipment.
- Adds project and task to a maintenance request. The default project
  for a request will be the equipment one, including the preventive
  requests periodically created.

This is is a technical addon to allow timesheet assignment to a
maintenance request.

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
edit_project project.project xpath Inherits project.edit_project
hr_equipment_request_view_form maintenance.request xpath Inherits maintenance.hr_equipment_request_view_form
hr_equipment_request_view_kanban maintenance.request xpath Inherits maintenance.hr_equipment_request_view_kanban
hr_equipment_request_view_search maintenance.request xpath Inherits maintenance.hr_equipment_request_view_search
hr_equipment_request_view_tree maintenance.request xpath Inherits maintenance.hr_equipment_request_view_tree
hr_equipment_view_form maintenance.equipment xpath Inherits maintenance.hr_equipment_view_form
hr_equipment_view_kanban maintenance.equipment xpath Inherits maintenance.hr_equipment_view_kanban
hr_equipment_view_search maintenance.equipment xpath Inherits maintenance.hr_equipment_view_search
hr_equipment_view_tree maintenance.equipment xpath Inherits maintenance.hr_equipment_view_tree
report_maintenance_request_document report_maintenance_request_document ir.ui.view qweb Inherits base_maintenance.report_maintenance_request_document
view_project_kanban project.project xpath Inherits project.view_project_kanban
Models touched (3)

New fields (2)
  • preventive_default_task_id Many2one → project.task
    comodel_name='project.task' string='Default Task'
  • project_id Many2one → project.project
    comodel_name='project.project' ondelete='restrict'
Public methods (1)
  • action_create_project(self)

New fields (2)
  • project_id Many2one → project.project
    comodel_name='project.project'
  • task_id Many2one → project.task
    comodel_name='project.task'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
    We ensure for appropiate project and task for new requests, specially the automatically generated ones
  • onchange_equipment_id(self)
    @api.onchange('equipment_id')

New fields (4)
  • equipment_count Integer
    compute='_compute_equipment_count'
  • equipment_ids One2many → maintenance.equipment
    string='Equipments' args: 'maintenance.equipment', 'project_id'
  • maintenance_request_count Integer
    compute='_compute_maintenance_request_count'
  • maintenance_request_ids One2many → maintenance.request
    string='Maintenance Requests' args: 'maintenance.request', 'project_id'
Public methods (2)
  • action_view_equipment_ids(self)
    Access to the current equipments for this project
  • action_view_maintenance_request_ids(self)
    Access to the undone maintenance requests for this project
REPOSITORY
REPOSITORYOCA/maintenance
GIT
GIThttps://github.com/OCA/maintenance.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/maintenance/tree/16.0/maintenance_project
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYMaintenance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Solvos
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Solvos
COMMITTERS
COMMITTERSVíctor Martínez, Weblate, OCA-git-bot, oca-ci, David Alonso // Solvos
WEBSITE
WEBSITEhttps://github.com/OCA/maintenance
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:48
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/maintenance:
    - base_maintenance
odoo/odoo:
    - maintenance
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - project
    - analytic
    - uom
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - rating
    - resource
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
edit_project project.project xpath Inherits project.edit_project
hr_equipment_request_view_form maintenance.request xpath Inherits maintenance.hr_equipment_request_view_form
hr_equipment_request_view_kanban maintenance.request xpath Inherits maintenance.hr_equipment_request_view_kanban
hr_equipment_request_view_search maintenance.request xpath Inherits maintenance.hr_equipment_request_view_search
hr_equipment_request_view_tree maintenance.request xpath Inherits maintenance.hr_equipment_request_view_tree
hr_equipment_view_form maintenance.equipment xpath Inherits maintenance.hr_equipment_view_form
hr_equipment_view_kanban maintenance.equipment xpath Inherits maintenance.hr_equipment_view_kanban
hr_equipment_view_search maintenance.equipment xpath Inherits maintenance.hr_equipment_view_search
hr_equipment_view_tree maintenance.equipment xpath Inherits maintenance.hr_equipment_view_tree
report_maintenance_request_document report_maintenance_request_document ir.ui.view qweb Inherits base_maintenance.report_maintenance_request_document
view_project_kanban project.project xpath Inherits project.view_project_kanban
Models touched (3)

New fields (2)
  • preventive_default_task_id Many2one → project.task
    comodel_name='project.task' string='Default Task'
  • project_id Many2one → project.project
    comodel_name='project.project' ondelete='restrict'
Public methods (1)
  • action_create_project(self)

New fields (2)
  • project_id Many2one → project.project
    comodel_name='project.project'
  • task_id Many2one → project.task
    comodel_name='project.task'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
    We ensure for appropiate project and task for new requests, specially the automatically generated ones
  • onchange_equipment_id(self)
    @api.onchange('equipment_id')

New fields (4)
  • equipment_count Integer
    compute='_compute_equipment_count'
  • equipment_ids One2many → maintenance.equipment
    string='Equipments' args: 'maintenance.equipment', 'project_id'
  • maintenance_request_count Integer
    compute='_compute_maintenance_request_count'
  • maintenance_request_ids One2many → maintenance.request
    string='Maintenance Requests' args: 'maintenance.request', 'project_id'
Public methods (2)
  • action_view_equipment_ids(self)
    Access to the current equipments for this project
  • action_view_maintenance_request_ids(self)
    Access to the undone maintenance requests for this project
REPOSITORY
REPOSITORYOCA/maintenance
GIT
GIThttps://github.com/OCA/maintenance.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/maintenance/tree/15.0/maintenance_project
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYMaintenance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Solvos
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Solvos
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Stefano Consolaro
WEBSITE
WEBSITEhttps://github.com/OCA/maintenance
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:35
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/maintenance:
    - base_maintenance
odoo/odoo:
    - maintenance
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - project
    - analytic
    - uom
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - rating
    - resource
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
edit_project project.project xpath Inherits project.edit_project
hr_equipment_request_view_form maintenance.request xpath Inherits maintenance.hr_equipment_request_view_form
hr_equipment_request_view_kanban maintenance.request xpath Inherits maintenance.hr_equipment_request_view_kanban
hr_equipment_request_view_search maintenance.request xpath Inherits maintenance.hr_equipment_request_view_search
hr_equipment_request_view_tree maintenance.request xpath Inherits maintenance.hr_equipment_request_view_tree
hr_equipment_view_form maintenance.equipment xpath Inherits maintenance.hr_equipment_view_form
hr_equipment_view_kanban maintenance.equipment xpath Inherits maintenance.hr_equipment_view_kanban
hr_equipment_view_search maintenance.equipment xpath Inherits maintenance.hr_equipment_view_search
hr_equipment_view_tree maintenance.equipment xpath Inherits maintenance.hr_equipment_view_tree
report_maintenance_request_document report_maintenance_request_document ir.ui.view qweb Inherits base_maintenance.report_maintenance_request_document
view_project_kanban project.project xpath Inherits project.view_project_kanban
Models touched (3)

New fields (3)
  • create_project_from_equipment Boolean
    default=True
  • preventive_default_task_id Many2one → project.task
    comodel_name='project.task' string='Default Task'
  • project_id Many2one → project.project
    comodel_name='project.project' ondelete='restrict'
Public methods (1)
  • create(self, values)
    @api.model

New fields (2)
  • project_id Many2one → project.project
    comodel_name='project.project'
  • task_id Many2one → project.task
    comodel_name='project.task'
Public methods (2)
  • create(self, values)
    @api.model
    We ensure for appropiate project and task for new requests, specially the automatically generated ones
  • onchange_equipment_id(self)
    @api.onchange('equipment_id')

New fields (4)
  • equipment_count Integer
    compute='_compute_equipment_count'
  • equipment_ids One2many → maintenance.equipment
    string='Equipments' args: 'maintenance.equipment', 'project_id'
  • maintenance_request_count Integer
    compute='_compute_maintenance_request_count'
  • maintenance_request_ids One2many → maintenance.request
    string='Maintenance Requests' args: 'maintenance.request', 'project_id'
Public methods (2)
  • action_view_equipment_ids(self)
    Access to the current equipments for this project
  • action_view_maintenance_request_ids(self)
    Access to the undone maintenance requests for this project
REPOSITORY
REPOSITORYOCA/maintenance
GIT
GIThttps://github.com/OCA/maintenance.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/maintenance/tree/14.0/maintenance_project
VERSION
VERSION 1.1.2
CATEGORY
CATEGORYMaintenance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Solvos
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Solvos
COMMITTERS
COMMITTERSEnric Tobella, David Alonso, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Núria Sancho
WEBSITE
WEBSITEhttps://github.com/OCA/maintenance
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:01
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/maintenance:
    - base_maintenance
odoo/odoo:
    - maintenance
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - project
    - analytic
    - uom
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - rating
    - resource
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
edit_project project.project xpath Inherits project.edit_project
hr_equipment_request_view_form maintenance.request xpath Inherits maintenance.hr_equipment_request_view_form
hr_equipment_request_view_kanban maintenance.request xpath Inherits maintenance.hr_equipment_request_view_kanban
hr_equipment_request_view_search maintenance.request xpath Inherits maintenance.hr_equipment_request_view_search
hr_equipment_request_view_tree maintenance.request xpath Inherits maintenance.hr_equipment_request_view_tree
hr_equipment_view_form maintenance.equipment xpath Inherits maintenance.hr_equipment_view_form
hr_equipment_view_kanban maintenance.equipment xpath Inherits maintenance.hr_equipment_view_kanban
hr_equipment_view_search maintenance.equipment xpath Inherits maintenance.hr_equipment_view_search
hr_equipment_view_tree maintenance.equipment xpath Inherits maintenance.hr_equipment_view_tree
report_maintenance_request_document report_maintenance_request_document ir.ui.view qweb Inherits base_maintenance.report_maintenance_request_document
view_project_kanban project.project xpath Inherits project.view_project_kanban
Models touched (3)

New fields (3)
  • create_project_from_equipment Boolean
    default=True
  • preventive_default_task_id Many2one → project.task
    comodel_name='project.task' string='Default Task'
  • project_id Many2one → project.project
    comodel_name='project.project' ondelete='restrict'
Public methods (1)
  • create(self, values)
    @api.model

New fields (2)
  • project_id Many2one → project.project
    comodel_name='project.project'
  • task_id Many2one → project.task
    comodel_name='project.task'
Public methods (2)
  • create(self, values)
    @api.model
    We ensure for appropiate project and task for new requests, specially the automatically generated ones
  • onchange_equipment_id(self)
    @api.onchange('equipment_id')

New fields (4)
  • equipment_count Integer
    compute='_compute_equipment_count'
  • equipment_ids One2many → maintenance.equipment
    string='Equipments' args: 'maintenance.equipment', 'project_id'
  • maintenance_request_count Integer
    compute='_compute_maintenance_request_count'
  • maintenance_request_ids One2many → maintenance.request
    string='Maintenance Requests' args: 'maintenance.request', 'project_id'
Public methods (2)
  • action_view_equipment_ids(self)
    Access to the current equipments for this project
  • action_view_maintenance_request_ids(self)
    Access to the undone maintenance requests for this project
REPOSITORY
REPOSITORYOCA/maintenance
GIT
GIThttps://github.com/OCA/maintenance.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/maintenance/tree/13.0/maintenance_project
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYMaintenance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Solvos
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Solvos
COMMITTERS
COMMITTERSDavid Alonso, OCA Transbot, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/maintenance
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:14
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/maintenance:
    - base_maintenance
odoo/odoo:
    - maintenance
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - project
    - analytic
    - uom
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - rating
    - resource
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
edit_project project.project xpath Inherits project.edit_project
hr_equipment_request_view_form maintenance.request xpath Inherits maintenance.hr_equipment_request_view_form
hr_equipment_request_view_kanban maintenance.request xpath Inherits maintenance.hr_equipment_request_view_kanban
hr_equipment_request_view_search maintenance.request xpath Inherits maintenance.hr_equipment_request_view_search
hr_equipment_request_view_tree maintenance.request xpath Inherits maintenance.hr_equipment_request_view_tree
hr_equipment_view_form maintenance.equipment xpath Inherits maintenance.hr_equipment_view_form
hr_equipment_view_kanban maintenance.equipment xpath Inherits maintenance.hr_equipment_view_kanban
hr_equipment_view_search maintenance.equipment xpath Inherits maintenance.hr_equipment_view_search
hr_equipment_view_tree maintenance.equipment xpath Inherits maintenance.hr_equipment_view_tree
report_maintenance_request_document report_maintenance_request_document ir.ui.view qweb Inherits base_maintenance.report_maintenance_request_document
view_project_kanban project.project xpath Inherits project.view_project_kanban
Models touched (3)

New fields (3)
  • create_project_from_equipment Boolean
    default=True
  • preventive_default_task_id Many2one → project.task
    comodel_name='project.task' string='Default Task'
  • project_id Many2one → project.project
    comodel_name='project.project' ondelete='restrict'
Public methods (1)
  • create(self, values)
    @api.model

New fields (2)
  • project_id Many2one → project.project
    comodel_name='project.project'
  • task_id Many2one → project.task
    comodel_name='project.task'
Public methods (2)
  • create(self, values)
    @api.model
    We ensure for appropiate project and task for new requests, specially the automatically generated ones
  • onchange_equipment_id(self)
    @api.onchange('equipment_id')

New fields (4)
  • equipment_count Integer
    compute='_compute_equipment_count'
  • equipment_ids One2many → maintenance.equipment
    string='Equipments' args: 'maintenance.equipment', 'project_id'
  • maintenance_request_count Integer
    compute='_compute_maintenance_request_count'
  • maintenance_request_ids One2many → maintenance.request
    string='Maintenance Requests' args: 'maintenance.request', 'project_id'
Public methods (2)
  • action_view_equipment_ids(self)
    Access to the current equipments for this project
  • action_view_maintenance_request_ids(self)
    Access to the undone maintenance requests for this project
REPOSITORY
REPOSITORYOCA/maintenance
GIT
GIThttps://github.com/OCA/maintenance.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/maintenance/tree/12.0/maintenance_project
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYMaintenance
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Solvos
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Solvos
COMMITTERS
COMMITTERSDavid Alonso, OCA Transbot, oca-travis, Weblate, OCA-git-bot, David Alonso (Solvos)
WEBSITE
WEBSITEhttps://github.com/OCA/maintenance
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:19
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/maintenance:
    - base_maintenance
odoo/odoo:
    - maintenance
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - project
    - portal
    - http_routing
    - rating
    - resource
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
edit_project project.project xpath Inherits project.edit_project
hr_equipment_request_view_form maintenance.request xpath Inherits maintenance.hr_equipment_request_view_form
hr_equipment_request_view_kanban maintenance.request xpath Inherits maintenance.hr_equipment_request_view_kanban
hr_equipment_request_view_search maintenance.request xpath Inherits maintenance.hr_equipment_request_view_search
hr_equipment_request_view_tree maintenance.request xpath Inherits maintenance.hr_equipment_request_view_tree
hr_equipment_view_form maintenance.equipment xpath Inherits maintenance.hr_equipment_view_form
hr_equipment_view_kanban maintenance.equipment xpath Inherits maintenance.hr_equipment_view_kanban
hr_equipment_view_search maintenance.equipment xpath Inherits maintenance.hr_equipment_view_search
hr_equipment_view_tree maintenance.equipment xpath Inherits maintenance.hr_equipment_view_tree
report_maintenance_request_document report_maintenance_request_document ir.ui.view qweb Inherits base_maintenance.report_maintenance_request_document
view_project_kanban project.project xpath Inherits project.view_project_kanban
Models touched (3)

New fields (3)
  • create_project_from_equipment Boolean
    default=True
  • preventive_default_task_id Many2one → project.task
    comodel_name='project.task' string='Default Task'
  • project_id Many2one → project.project
    comodel_name='project.project' ondelete='restrict'
Public methods (1)
  • create(self, values)
    @api.model

New fields (2)
  • project_id Many2one → project.project
    comodel_name='project.project'
  • task_id Many2one → project.task
    comodel_name='project.task'
Public methods (2)
  • create(self, values)
    @api.model
    We ensure for appropiate project and task for new requests, specially the automatically generated ones
  • onchange_equipment_id(self)
    @api.onchange('equipment_id')

New fields (4)
  • equipment_count Integer
    compute='_compute_equipment_count'
  • equipment_ids One2many → maintenance.equipment
    string='Equipments' args: 'maintenance.equipment', 'project_id'
  • maintenance_request_count Integer
    compute='_compute_maintenance_request_count'
  • maintenance_request_ids One2many → maintenance.request
    string='Maintenance Requests' args: 'maintenance.request', 'project_id'
Public methods (2)
  • action_view_equipment_ids(self)
    Access to the current equipments for this project
  • action_view_maintenance_request_ids(self)
    Access to the undone maintenance requests for this project