Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
101 changes: 101 additions & 0 deletions maintenance_equipment_usability/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
===============================
Maintenance Equipment Usability
===============================

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

.. |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-LGPL--3-blue.png
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-qrtl%2Frbkk--custom-lightgray.png?logo=github
:target: https://github.com/qrtl/rbkk-custom/tree/18.0/maintenance_equipment_usability
:alt: qrtl/rbkk-custom

|badge1| |badge2| |badge3|

This module adds an equipment status and a pass/fail maintenance result,
and computes equipment usability from the status, the latest completed
maintenance request result, and a configurable usability grace period.

**Table of contents**

.. contents::
:local:

Usage
=====

The equipment Status (Preparing, Operating, Idle, Disposal / Scrapped)
gates usability: only equipment in the Operating status can be usable.
In any other status the equipment is unusable regardless of its
maintenance result.

When a maintenance request is completed (it reaches a done stage), set
its Maintenance Result to Passed or Failed. For equipment in the
Operating status, usability is then computed from the latest completed
request by completion date:

- Failed result: the equipment is unusable.
- Passed result, within the validity period: the equipment is usable.
- Passed result, past the validity period: the equipment is unusable.
- No result yet: the equipment usability is unknown.

The validity period runs from the latest completed maintenance result
date and defaults to 12 months. Configure it in Settings > Maintenance >
Usability Validity Period (for example 13 or 14 months). Usability is
evaluated from the current date, so equipment becomes unusable
automatically once the validity period elapses.

The validity always extends to the end of the target month. For example,
with a result passed on 15 June and a 13-month validity period, the
equipment stays usable until 31 July of the following year and becomes
unusable on 1 August.

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

Bugs are tracked on `GitHub Issues <https://github.com/qrtl/rbkk-custom/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/qrtl/rbkk-custom/issues/new?body=module:%20maintenance_equipment_usability%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
-------

* Quartile

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

- `Quartile <https://www.quartile.co>`__:

- Shinnosuke Morita

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

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

Current maintainer:

|maintainer-smorita7749|

This module is part of the `qrtl/rbkk-custom <https://github.com/qrtl/rbkk-custom/tree/18.0/maintenance_equipment_usability>`_ project on GitHub.

You are welcome to contribute.
4 changes: 4 additions & 0 deletions maintenance_equipment_usability/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copyright 2026 Quartile (https://www.quartile.co)
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl).

from . import models
20 changes: 20 additions & 0 deletions maintenance_equipment_usability/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright 2026 Quartile (https://www.quartile.co)
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl).

{
"name": "Maintenance Equipment Usability",
"version": "18.0.1.0.0",
"category": "Maintenance",
"summary": "Compute equipment usability from maintenance request results",
"author": "Quartile",
"website": "https://www.quartile.co",
"maintainers": ["smorita7749"],
"license": "LGPL-3",
"depends": ["maintenance"],
"data": [
"views/res_config_settings_views.xml",
"views/maintenance_request_views.xml",
"views/maintenance_equipment_views.xml",
],
"installable": True,
}
193 changes: 193 additions & 0 deletions maintenance_equipment_usability/i18n/ja.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * maintenance_equipment_usability
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-10 01:09+0000\n"
"PO-Revision-Date: 2026-07-10 01:09+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: maintenance_equipment_usability
#: model_terms:ir.ui.view,arch_db:maintenance_equipment_usability.res_config_settings_view_form
msgid "<span class=\"text-muted ms-1\">months</span>"
msgstr "<span class=\"text-muted ms-1\">月</span>"

#. module: maintenance_equipment_usability
#: model:ir.model,name:maintenance_equipment_usability.model_res_company
msgid "Companies"
msgstr "会社"

#. module: maintenance_equipment_usability
#: model:ir.model,name:maintenance_equipment_usability.model_res_config_settings
msgid "Config Settings"
msgstr "コンフィグ設定"

#. module: maintenance_equipment_usability
#: model_terms:ir.ui.view,arch_db:maintenance_equipment_usability.hr_equipment_request_view_form
msgid "Create Follow-up Request"
msgstr "フォローアップ依頼を作成"

#. module: maintenance_equipment_usability
#: model_terms:ir.ui.view,arch_db:maintenance_equipment_usability.res_config_settings_view_form
msgid "Equipment Usability"
msgstr "設備使用可否"

#. module: maintenance_equipment_usability
#: model:ir.model.fields.selection,name:maintenance_equipment_usability.selection__maintenance_request__maintenance_result__failed
#: model_terms:ir.ui.view,arch_db:maintenance_equipment_usability.hr_equipment_request_view_search
msgid "Failed"
msgstr "不合格"

#. module: maintenance_equipment_usability
#: model:ir.model.fields,help:maintenance_equipment_usability.field_maintenance_request__source_request_id
msgid "Failed request this follow-up request was created from."
msgstr "このフォローアップ依頼の作成元となった不合格の整備依頼。"

#. module: maintenance_equipment_usability
#: model:ir.model.fields,field_description:maintenance_equipment_usability.field_maintenance_request__followup_request_ids
msgid "Follow-up Requests"
msgstr "フォローアップ依頼"

#. module: maintenance_equipment_usability
#. odoo-python
#: code:addons/maintenance_equipment_usability/models/maintenance_request.py:0
msgid "Follow-up of %s"
msgstr "%s のフォローアップ"

#. module: maintenance_equipment_usability
#: model:ir.model.fields.selection,name:maintenance_equipment_usability.selection__maintenance_equipment__status__idle
msgid "Idle"
msgstr "遊休"

#. module: maintenance_equipment_usability
#: model:ir.model.fields,field_description:maintenance_equipment_usability.field_maintenance_equipment__latest_maintenance_result_date
msgid "Latest Result Date"
msgstr "最新結果日"

#. module: maintenance_equipment_usability
#: model:ir.model.fields,field_description:maintenance_equipment_usability.field_maintenance_equipment__latest_maintenance_result_request_id
msgid "Latest Result Request"
msgstr "最新結果の整備依頼"

#. module: maintenance_equipment_usability
#: model:ir.model,name:maintenance_equipment_usability.model_maintenance_equipment
msgid "Maintenance Equipment"
msgstr "整備設備"

#. module: maintenance_equipment_usability
#: model:ir.model,name:maintenance_equipment_usability.model_maintenance_request
msgid "Maintenance Request"
msgstr "整備依頼"

#. module: maintenance_equipment_usability
#: model:ir.model.fields,field_description:maintenance_equipment_usability.field_maintenance_request__maintenance_result
#: model_terms:ir.ui.view,arch_db:maintenance_equipment_usability.hr_equipment_request_view_search
msgid "Maintenance Result"
msgstr "整備結果"

#. module: maintenance_equipment_usability
#: model:ir.model.fields.selection,name:maintenance_equipment_usability.selection__maintenance_request__maintenance_result__none
msgid "No Result"
msgstr "結果なし"

#. module: maintenance_equipment_usability
#: model_terms:ir.ui.view,arch_db:maintenance_equipment_usability.res_config_settings_view_form
msgid ""
"Number of months the equipment stays usable after its latest passed "
"maintenance result. Validity extends to the end of the target month (e.g. "
"passed on 15 June with 13 months stays usable until 31 July of the following "
"year)."
msgstr ""
"最後の合格結果から、設備が使用可能であり続ける月数。有効期限は対象月の月末まで"
"延長されます(例:6月15日に合格・13ヶ月なら翌年7月31日まで使用可能)。"

#. module: maintenance_equipment_usability
#: model:ir.model.fields.selection,name:maintenance_equipment_usability.selection__maintenance_equipment__status__operating
msgid "Operating"
msgstr "稼働中"

#. module: maintenance_equipment_usability
#: model:ir.model.fields.selection,name:maintenance_equipment_usability.selection__maintenance_request__maintenance_result__passed
#: model_terms:ir.ui.view,arch_db:maintenance_equipment_usability.hr_equipment_request_view_search
msgid "Passed"
msgstr "合格"

#. module: maintenance_equipment_usability
#: model:ir.model.fields.selection,name:maintenance_equipment_usability.selection__maintenance_equipment__status__preparing
msgid "Preparing"
msgstr "準備中"

#. module: maintenance_equipment_usability
#: model:ir.model.fields.selection,name:maintenance_equipment_usability.selection__maintenance_equipment__status__retired
msgid "Retired"
msgstr "除却"

#. module: maintenance_equipment_usability
#: model:ir.model.fields.selection,name:maintenance_equipment_usability.selection__maintenance_equipment__status__scrapped
msgid "Scrapped"
msgstr "廃棄"

#. module: maintenance_equipment_usability
#: model:ir.model.fields,field_description:maintenance_equipment_usability.field_maintenance_equipment__smart_search
#: model:ir.model.fields,field_description:maintenance_equipment_usability.field_maintenance_request__smart_search
#: model:ir.model.fields,field_description:maintenance_equipment_usability.field_res_company__smart_search
#: model:ir.model.fields,field_description:maintenance_equipment_usability.field_res_config_settings__smart_search
msgid "Smart Search"
msgstr "スマート検索"

#. module: maintenance_equipment_usability
#: model:ir.model.fields,field_description:maintenance_equipment_usability.field_maintenance_request__source_request_id
msgid "Source Request"
msgstr "作成元の整備依頼"

#. module: maintenance_equipment_usability
#: model:ir.model.fields,field_description:maintenance_equipment_usability.field_maintenance_equipment__status
msgid "Status"
msgstr "ステータス"

#. module: maintenance_equipment_usability
#: model:ir.model.fields.selection,name:maintenance_equipment_usability.selection__maintenance_equipment__usability_state__unknown
msgid "Unknown"
msgstr "不明"

#. module: maintenance_equipment_usability
#: model_terms:ir.ui.view,arch_db:maintenance_equipment_usability.hr_equipment_view_search
msgid "Unknown Usability"
msgstr "使用可否不明"

#. module: maintenance_equipment_usability
#: model:ir.model.fields.selection,name:maintenance_equipment_usability.selection__maintenance_equipment__usability_state__unusable
#: model_terms:ir.ui.view,arch_db:maintenance_equipment_usability.hr_equipment_view_search
msgid "Unusable"
msgstr "使用不可"

#. module: maintenance_equipment_usability
#: model:ir.model.fields,field_description:maintenance_equipment_usability.field_maintenance_equipment__usability_state
#: model_terms:ir.ui.view,arch_db:maintenance_equipment_usability.hr_equipment_view_form
msgid "Usability"
msgstr "使用可否"

#. module: maintenance_equipment_usability
#: model_terms:ir.ui.view,arch_db:maintenance_equipment_usability.res_config_settings_view_form
msgid "Usability Validity Period"
msgstr "使用可否の有効期間"

#. module: maintenance_equipment_usability
#: model:ir.model.fields,field_description:maintenance_equipment_usability.field_res_company__usability_grace_period_months
#: model:ir.model.fields,field_description:maintenance_equipment_usability.field_res_config_settings__usability_grace_period_months
msgid "Usability Validity Period (Months)"
msgstr "使用可否の有効期間(月)"

#. module: maintenance_equipment_usability
#: model:ir.model.fields.selection,name:maintenance_equipment_usability.selection__maintenance_equipment__usability_state__usable
#: model_terms:ir.ui.view,arch_db:maintenance_equipment_usability.hr_equipment_view_search
msgid "Usable"
msgstr "使用可"
7 changes: 7 additions & 0 deletions maintenance_equipment_usability/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Copyright 2026 Quartile (https://www.quartile.co)
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl).

from . import maintenance_request
from . import maintenance_equipment
from . import res_company
from . import res_config_settings
Loading
Loading