Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
80ef9f5
[ADD] fieldservice_maintenance
Dec 31, 2018
25a9d96
[IMP] UI
max3903 Jan 3, 2019
a04f132
[FIX] PEP8 error
max3903 Jan 3, 2019
7ca4789
[FIX] Model
max3903 Jan 4, 2019
c39ff40
[FIX] PEP8 error
max3903 Jan 8, 2019
37ce9c8
[ADD] stock.py
max3903 Jan 10, 2019
c100d75
[FIX] fieldservice_maintenance
max3903 Jan 31, 2019
97d4a51
[FIX] fieldservice_maintenance
max3903 Feb 2, 2019
11df761
[IMP] UI stuff
max3903 Feb 8, 2019
c649b9f
[IMP] FSM Maintenance Bug Fix
osi-scampbell Mar 8, 2019
5f94d0f
[MIG][WIP][12.0] fieldservice_maintenance
murtuzasaleh Apr 5, 2019
58906c3
[FIX][12.0] Improved code.
murtuzasaleh Apr 30, 2019
bfd3fa6
[IMP] Remove Create() Repair/Maintenance
osi-scampbell Jun 27, 2019
cf0e8ac
[IMP] Create() Unused
osi-scampbell Jun 27, 2019
0b7037d
[FIX] fieldservice_maintenance: formatting
max3903 Jul 5, 2019
c4c562d
[IMP] fieldservice_maintenance: Remove description
max3903 Jul 17, 2019
a6301c0
[IMP] FSM Maintenance Type
osi-scampbell Sep 25, 2019
8b3f993
[12.0][RM] Unnecessary dependence on hr module
Oct 10, 2019
f48705d
[12.0][FIX] avoid to create maintenance request if equipment.maintena…
Oct 14, 2019
e9335d5
[IMP] code as per suggestion
Oct 14, 2019
75b403f
[12.0][RM] fieldservice_stock dependency
Oct 14, 2019
39b261c
[IMP] code as per suggestion
Oct 14, 2019
13d5740
[FIX] after unlink all, field is_fsm_equipment is not correctly set, …
Oct 17, 2019
1b40a3a
[FIX] test_flake8
Oct 19, 2019
1804172
[FIX] fieldservice_maintenance
max3903 Oct 11, 2019
e22a785
[IMP] fieldservice_vehicle_stock
max3903 Oct 11, 2019
de2a343
[FIX] fieldservice_maintenance: Split files and convert equipments
max3903 Mar 19, 2020
9d7f8f3
fieldservice_maintenance 12.0.1.1.0
OCA-git-bot Apr 13, 2020
d32b39d
[12.0] fix type OS - fieldservice_maintenance
marcelsavegnago Jun 24, 2020
7ae7061
[FIX] Fix Exceptions
marcelsavegnago Aug 23, 2020
6f6fa9e
Update fieldservice_maintenance/models/maintenance_request.py
marcelsavegnago Sep 14, 2020
8417b57
fieldservice_maintenance 12.0.1.2.0
OCA-git-bot Sep 21, 2020
9895706
[IMP] fieldservice_maintenance
brian10048 Oct 18, 2020
f22d101
[IMP] fieldservice_maintenance: Add test case
brian10048 Oct 18, 2020
2511ffb
fieldservice_maintenance 12.0.1.2.1
OCA-git-bot Oct 19, 2020
8a992e8
[MIG] Migreted fieldservice_maintenance Module.
Murtaza-OSI Jan 18, 2021
431ab73
[IMP] Code after pre-commit.
Murtaza-OSI Jan 18, 2021
d433b8d
[UPD] Update fieldservice_maintenance.pot
oca-travis Aug 13, 2021
48bc8f9
[UPD] README.rst
OCA-git-bot Aug 13, 2021
920407b
Added translation using Weblate (Italian)
mymage Sep 26, 2021
d6d3abb
Translated using Weblate (Italian)
mymage Sep 29, 2021
f8aacd4
Added translation using Weblate (Spanish (Argentina))
ibuioli Oct 3, 2021
12de8a2
Translated using Weblate (Spanish (Argentina))
ibuioli Oct 3, 2021
3dce474
Translated using Weblate (Portuguese (Brazil))
marcos-mendez Dec 8, 2021
f88a5c5
Added translation using Weblate (Spanish)
percevaq Nov 24, 2022
e3f3141
fix: correct dates in equipment maintenance tab
Dec 28, 2022
21f7e62
fieldservice_maintenance 14.0.1.0.1
OCA-git-bot Jan 16, 2023
033cc09
[14.0][IMP] fieldservice_maintenance: optional fsm order creation; fs…
Mar 10, 2023
221334e
[UPD] Update fieldservice_maintenance.pot
Mar 13, 2023
d450950
fieldservice_maintenance 14.0.1.0.2
OCA-git-bot Mar 13, 2023
eff1348
Update translation files
weblate Mar 13, 2023
36b8cbc
Translated using Weblate (Italian)
PicchiSeba Mar 13, 2023
f2662be
Translated using Weblate (Spanish (Argentina))
ibuioli Apr 7, 2023
a588247
[UPD] README.rst
OCA-git-bot Sep 3, 2023
2d904cf
Update translation files
weblate Oct 9, 2023
2f4b948
Translated using Weblate (Spanish)
Ivorra78 Feb 23, 2024
38a69d7
Translated using Weblate (Portuguese (Brazil))
May 20, 2024
ba2eed2
[IMP] fieldservice_maintenance: pre-commit auto fixes
edescalona Nov 5, 2025
7d04406
[MIG] fieldservice_maintenance: Migration to 17.0
edescalona Nov 5, 2025
8c5a1d9
[UPD] Update fieldservice_maintenance.pot
Nov 6, 2025
94b96a8
[BOT] post-merge updates
OCA-git-bot Nov 6, 2025
efaf9e9
[18.0][MIG] fieldservice_maintenance: Migration to 18.0
ppakpahan Mar 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
148 changes: 148 additions & 0 deletions fieldservice_maintenance/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
===========================
Field Service - Maintenance
===========================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:97071c6df4c5a8e5a686d02c2c2e436032d1400a891458cf9c5e532a9891802c
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Ffield--service-lightgray.png?logo=github
:target: https://github.com/OCA/field-service/tree/18.0/fieldservice_maintenance
:alt: OCA/field-service
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/field-service-18-0/field-service-18-0-fieldservice_maintenance
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/field-service&target_branch=18.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

Odoo Maintenance App does not support Field Service operations for
equipments outside the company facilities. On the other hand, the Field
Service App does not support a maintenance schedule generating
preventive maintenance request.

This module allows you to merge equipments from Field Service and
Maintenance and have a maintenance schedule for FSM equipments as well
as Field Service capabilities for maintenance equipments.

**Table of contents**

.. contents::
:local:

Installation
============

To install Field Service and have the mapping features, you need to
install fieldservice_stock and maintenance

Please refer to the installation instructions available at:
https://github.com/OCA/field-service/tree/14.0/fieldservice_maintenance

Configuration
=============

To use this module, you need to:

- Go to Field Service > Master Data > Equipments or Maintenance >
Equipments
- Create or select an equipment
- Specify the maintenance schedule

Usage
=====

To use this module, you need to:

- Maintenance requests related to a FSM equipment will create a FSM
order
- Go to Field Service
- Create or select a FSM order and select the type Maintenance.
- Select the maintenance team, the equipment and the location
- Upon saving, a maintenance request will be created with the
information from the FSM order.

Known issues / Roadmap
======================

The roadmap of the Field Service application is documented on
`Github <https://github.com/OCA/field-service/issues/66>`__.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/field-service/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/field-service/issues/new?body=module:%20fieldservice_maintenance%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Open Source Integrators

Contributors
------------

- Sandip Mangukiya <smangukiya@opensourceintegrators.com>
- Serpent Consulting Services Pvt. Ltd. <support@serpentcs.com>
- Bhavesh Odedra <bodedra@opensourceintegrators.com>
- Marcel Savegnago - Escodoo <marcel.savegnago@escodoo.com.br>
- Brian McMaster <brian@mcmpest.com>
- Panca Putra Pakpahan <ppakpahan@solusiaglis.co.id>

Other credits
-------------

The development of this module has been financially supported by:

- Open Source Integrators
<`https://opensourceintegrators.com\\> <https://opensourceintegrators.com\>>`__

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-smangukiya| image:: https://github.com/smangukiya.png?size=40px
:target: https://github.com/smangukiya
:alt: smangukiya
.. |maintainer-max3903| image:: https://github.com/max3903.png?size=40px
:target: https://github.com/max3903
:alt: max3903
.. |maintainer-bodedra| image:: https://github.com/bodedra.png?size=40px
:target: https://github.com/bodedra
:alt: bodedra

Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-smangukiya| |maintainer-max3903| |maintainer-bodedra|

This module is part of the `OCA/field-service <https://github.com/OCA/field-service/tree/18.0/fieldservice_maintenance>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
4 changes: 4 additions & 0 deletions fieldservice_maintenance/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copyright (C) 2018 Open Source Integrators
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import models
from .hooks import pre_init_hook
31 changes: 31 additions & 0 deletions fieldservice_maintenance/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Copyright (C) 2018 - TODAY, Open Source Integrators
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "Field Service - Maintenance",
"summary": "Integrate Field Service orders with maintenance requests",
"version": "18.0.1.0.0",
"category": "Field Service",
"author": "Open Source Integrators, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/field-service",
"depends": [
"fieldservice",
"maintenance",
],
"data": [
"data/fsm_order_type.xml",
"views/maintenance_equipment_view.xml",
"views/maintenance_request_view.xml",
"views/fsm_equipment_view.xml",
"views/fsm_order_view.xml",
],
"pre_init_hook": "pre_init_hook",
"license": "AGPL-3",
"development_status": "Beta",
"maintainers": [
"smangukiya",
"max3903",
"bodedra",
],
"installable": True,
}
7 changes: 7 additions & 0 deletions fieldservice_maintenance/data/fsm_order_type.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record id="fsm_order_type_maintenance" model="fsm.order.type">
<field name="name">Maintenance</field>
<field name="internal_type">maintenance</field>
</record>
</odoo>
49 changes: 49 additions & 0 deletions fieldservice_maintenance/hooks.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Copyright (C) 2020 Open Source Integrators
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).


def pre_init_hook(env):
# Check for existing fsm equipments
env.cr.execute("SELECT * FROM fsm_equipment")
equipments = []
equipments = env.cr.dictfetchall()
if equipments:
# Add new columns to hold values
env.cr.execute(
"""ALTER TABLE fsm_equipment
ADD maintenance_equipment_id INT;"""
)
env.cr.execute(
"""ALTER TABLE maintenance_equipment
ADD is_fsm_equipment BOOLEAN;"""
)

# Create a new Maintenance equipment for each FSM equipment
for equipment in equipments:
env.cr.execute(
"""INSERT INTO maintenance_equipment (
name,
maintenance_team_id,
is_fsm_equipment,
effective_date,
active)
VALUES (
%s,
1,
True,
%s,
True);""",
(equipment.get("name"), equipment.get("create_date")),
)

# Set this new Maintenance equipment on the existing FSM equipment
env.cr.execute(
"""UPDATE fsm_equipment
SET maintenance_equipment_id = (
SELECT id
FROM maintenance_equipment
ORDER BY id desc
LIMIT 1)
WHERE id = %s;""",
(equipment.get("id"),),
)
109 changes: 109 additions & 0 deletions fieldservice_maintenance/i18n/de.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fieldservice_maintenance
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2019-11-26 17:58+0000\n"
"Last-Translator: Maria Sparenberg <maria.sparenberg@gmx.net>\n"
"Language-Team: none\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.8\n"

#. module: fieldservice_maintenance
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_fsm_equipment__display_name
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_fsm_order_type__display_name
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_maintenance_equipment__display_name
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_maintenance_request__display_name
msgid "Display Name"
msgstr ""

#. module: fieldservice_maintenance
#: model:ir.model,name:fieldservice_maintenance.model_fsm_equipment
msgid "Field Service Equipment"
msgstr "Service-Equipment"

#. module: fieldservice_maintenance
#: model:ir.model,name:fieldservice_maintenance.model_fsm_order
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_maintenance_request__fsm_order_id
msgid "Field Service Order"
msgstr "Field-Service-Auftrag"

#. module: fieldservice_maintenance
#: model:ir.model,name:fieldservice_maintenance.model_fsm_order_type
#, fuzzy
msgid "Field Service Order Type"
msgstr "Field-Service-Auftrag"

#. module: fieldservice_maintenance
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_fsm_equipment__id
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_fsm_order__id
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_fsm_order_type__id
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_maintenance_equipment__id
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_maintenance_request__id
msgid "ID"
msgstr ""

#. module: fieldservice_maintenance
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_fsm_order_type__internal_type
msgid "Internal Type"
msgstr ""

#. module: fieldservice_maintenance
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_fsm_equipment__is_fsm_equipment
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_maintenance_equipment__is_fsm_equipment
msgid "Is a FSM Equipment"
msgstr "Service-Equipment"

#. module: fieldservice_maintenance
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_fsm_equipment____last_update
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_fsm_order____last_update
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_fsm_order_type____last_update
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_maintenance_equipment____last_update
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_maintenance_request____last_update
msgid "Last Modified on"
msgstr ""

#. module: fieldservice_maintenance
#: model:ir.model.fields.selection,name:fieldservice_maintenance.selection__fsm_order_type__internal_type__maintenance
#: model_terms:ir.ui.view,arch_db:fieldservice_maintenance.fsm_equipment_form_view_maintenance
msgid "Maintenance"
msgstr "Wartung"

#. module: fieldservice_maintenance
#: model:ir.model,name:fieldservice_maintenance.model_maintenance_equipment
msgid "Maintenance Equipment"
msgstr "Wartungsequipment"

#. module: fieldservice_maintenance
#: model:ir.model,name:fieldservice_maintenance.model_maintenance_request
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_fsm_order__request_id
msgid "Maintenance Request"
msgstr "Wartungsauftrag"

#. module: fieldservice_maintenance
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_fsm_order__display_name
msgid "Order"
msgstr ""

#. module: fieldservice_maintenance
#: code:addons/fieldservice_maintenance/models/maintenance_request.py:0
#, python-format
msgid "Order was not created because the equipment's location is not set"
msgstr ""

#. module: fieldservice_maintenance
#: model_terms:ir.ui.view,arch_db:fieldservice_maintenance.hr_equipment_view_form
msgid "Others"
msgstr ""

#. module: fieldservice_maintenance
#: model:ir.model.fields,field_description:fieldservice_maintenance.field_fsm_equipment__maintenance_equipment_id
msgid "Related Maintenance Equipment"
msgstr "zugehöriges Wartungsequipment"
Loading
Loading