diff --git a/maintenance_additional_attributes/README.rst b/maintenance_additional_attributes/README.rst new file mode 100644 index 0000000..b9bc12d --- /dev/null +++ b/maintenance_additional_attributes/README.rst @@ -0,0 +1,71 @@ +================================= +Maintenance Additional Attributes +================================= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:4f2903361ab1e8152b39b09e1e0c45b1ad1b3be1b2d71552f4e6228109f01f37 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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_additional_attributes + :alt: qrtl/rbkk-custom + +|badge1| |badge2| |badge3| + +This module adds attributes to maintenance equipment and maintenance +requests. + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub 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 `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Quartile + +Contributors +------------ + +- `Quartile `__: + + - 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 `_ project on GitHub. + +You are welcome to contribute. diff --git a/maintenance_additional_attributes/__init__.py b/maintenance_additional_attributes/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/maintenance_additional_attributes/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/maintenance_additional_attributes/__manifest__.py b/maintenance_additional_attributes/__manifest__.py new file mode 100644 index 0000000..15747fd --- /dev/null +++ b/maintenance_additional_attributes/__manifest__.py @@ -0,0 +1,21 @@ +# Copyright 2026 Quartile (https://www.quartile.co) +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). +{ + "name": "Maintenance Additional Attributes", + "version": "18.0.1.0.0", + "category": "Maintenance", + "summary": "Add specific attributes to maintenance equipment and requests", + "author": "Quartile", + "website": "https://www.quartile.co", + "maintainers": ["smorita7749"], + "license": "LGPL-3", + "depends": ["maintenance", "purchase", "stock"], + "data": [ + "security/ir.model.access.csv", + "views/maintenance_equipment_department_views.xml", + "views/maintenance_equipment_generic_name_views.xml", + "views/maintenance_equipment_views.xml", + "views/maintenance_request_views.xml", + ], + "installable": True, +} diff --git a/maintenance_additional_attributes/i18n/ja.po b/maintenance_additional_attributes/i18n/ja.po new file mode 100644 index 0000000..5477299 --- /dev/null +++ b/maintenance_additional_attributes/i18n/ja.po @@ -0,0 +1,212 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * maintenance_additional_attributes +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-07-24 07:57+0000\n" +"PO-Revision-Date: 2026-07-03 03:10+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment__acquisition_date +msgid "Acquisition Date" +msgstr "取得年月日" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment_department__active +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment_generic_name__active +msgid "Active" +msgstr "有効" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_request__alert_period +msgid "Alert Period" +msgstr "アラート期間" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_request__alert_period_unit +msgid "Alert Period Unit" +msgstr "アラート期間の単位" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_request__alert_sent +msgid "Alert Sent" +msgstr "アラート送信済み" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,help:maintenance_additional_attributes.field_maintenance_request__alert_period +msgid "" +"Amount of time before the scheduled date at which the responsible user " +"should be alerted about this maintenance." +msgstr "予定日より前に担当者へアラートを通知する期間。" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment_department__create_uid +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment_generic_name__create_uid +msgid "Created by" +msgstr "作成者" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment_department__create_date +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment_generic_name__create_date +msgid "Created on" +msgstr "作成日" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields.selection,name:maintenance_additional_attributes.selection__maintenance_request__alert_period_unit__day +msgid "Days" +msgstr "日" + +#. module: maintenance_additional_attributes +#: model:ir.actions.act_window,name:maintenance_additional_attributes.maintenance_equipment_department_action +#: model:ir.ui.menu,name:maintenance_additional_attributes.menu_maintenance_equipment_department +msgid "Departments" +msgstr "部門" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment_department__display_name +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment_generic_name__display_name +msgid "Display Name" +msgstr "表示名" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment__equipment_department_id +msgid "Equipment Department" +msgstr "設備部門" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment__is_fixed_asset +msgid "Fixed Asset" +msgstr "固定資産" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment__fixed_asset_code +msgid "Fixed Asset Code" +msgstr "固定資産コード" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment__is_gmp +msgid "GMP" +msgstr "GMP" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment__generic_name_id +msgid "General Name" +msgstr "一般名称" + +#. module: maintenance_additional_attributes +#: model:ir.actions.act_window,name:maintenance_additional_attributes.maintenance_equipment_generic_name_action +#: model:ir.ui.menu,name:maintenance_additional_attributes.menu_maintenance_equipment_generic_name +msgid "General Names" +msgstr "一般名称" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment_department__id +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment_generic_name__id +msgid "ID" +msgstr "ID" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment_department__write_uid +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment_generic_name__write_uid +msgid "Last Updated by" +msgstr "最終更新者" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment_department__write_date +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment_generic_name__write_date +msgid "Last Updated on" +msgstr "最終更新日" + +#. module: maintenance_additional_attributes +#: model:ir.model,name:maintenance_additional_attributes.model_maintenance_equipment +msgid "Maintenance Equipment" +msgstr "整備設備" + +#. module: maintenance_additional_attributes +#: model:ir.model,name:maintenance_additional_attributes.model_maintenance_equipment_department +msgid "Maintenance Equipment Department" +msgstr "整備設備部門" + +#. module: maintenance_additional_attributes +#: model:ir.model,name:maintenance_additional_attributes.model_maintenance_equipment_generic_name +msgid "Maintenance Equipment General Name" +msgstr "整備設備一般名称" + +#. module: maintenance_additional_attributes +#: model:ir.model,name:maintenance_additional_attributes.model_maintenance_request +msgid "Maintenance Request" +msgstr "整備依頼" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment__management_no +msgid "Management No" +msgstr "管理番号" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment__manufacturer +msgid "Manufacturer" +msgstr "メーカー" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment__manufacturer_serial_no +msgid "Manufacturer Serial No" +msgstr "シリアル番号" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment__is_measuring_instrument +msgid "Measuring Instrument" +msgstr "測定器" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields.selection,name:maintenance_additional_attributes.selection__maintenance_request__alert_period_unit__month +msgid "Months" +msgstr "月" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment_department__name +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment_generic_name__name +msgid "Name" +msgstr "名称" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment__national_project +msgid "National Project" +msgstr "国家プロジェクト" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment__purchase_order_id +msgid "Purchase Order" +msgstr "購買オーダ" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment__set_name +msgid "Set Name" +msgstr "セット名称" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment__smart_search +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment_department__smart_search +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment_generic_name__smart_search +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_request__smart_search +msgid "Smart Search" +msgstr "スマート検索" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields,field_description:maintenance_additional_attributes.field_maintenance_equipment__location_id +msgid "Used in location" +msgstr "使用場所" + +#. module: maintenance_additional_attributes +#: model:ir.model.fields.selection,name:maintenance_additional_attributes.selection__maintenance_request__alert_period_unit__week +msgid "Weeks" +msgstr "週" diff --git a/maintenance_additional_attributes/models/__init__.py b/maintenance_additional_attributes/models/__init__.py new file mode 100644 index 0000000..70b2e46 --- /dev/null +++ b/maintenance_additional_attributes/models/__init__.py @@ -0,0 +1,4 @@ +from . import maintenance_equipment_department +from . import maintenance_equipment_generic_name +from . import maintenance_equipment +from . import maintenance_request diff --git a/maintenance_additional_attributes/models/maintenance_equipment.py b/maintenance_additional_attributes/models/maintenance_equipment.py new file mode 100644 index 0000000..a37f67f --- /dev/null +++ b/maintenance_additional_attributes/models/maintenance_equipment.py @@ -0,0 +1,35 @@ +# Copyright 2026 Quartile (https://www.quartile.co) +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). + +from odoo import fields, models + + +class MaintenanceEquipment(models.Model): + _name = "maintenance.equipment" + _inherit = ["maintenance.equipment", "image.mixin"] + + set_name = fields.Char() + generic_name_id = fields.Many2one( + comodel_name="maintenance.equipment.generic.name", + string="General Name", + ) + is_fixed_asset = fields.Boolean(string="Fixed Asset") + fixed_asset_code = fields.Char() + is_gmp = fields.Boolean(string="GMP") + management_no = fields.Char() + is_measuring_instrument = fields.Boolean(string="Measuring Instrument") + national_project = fields.Char() + location_id = fields.Many2one( + comodel_name="stock.location", + string="Used in location", + domain="[('usage', '=', 'view')]", + tracking=True, + ) + manufacturer = fields.Char() + manufacturer_serial_no = fields.Char() + purchase_order_id = fields.Many2one(comodel_name="purchase.order") + acquisition_date = fields.Date() + equipment_department_id = fields.Many2one( + comodel_name="maintenance.equipment.department", + string="Equipment Department", + ) diff --git a/maintenance_additional_attributes/models/maintenance_equipment_department.py b/maintenance_additional_attributes/models/maintenance_equipment_department.py new file mode 100644 index 0000000..ea26e5c --- /dev/null +++ b/maintenance_additional_attributes/models/maintenance_equipment_department.py @@ -0,0 +1,17 @@ +# Copyright 2026 Quartile (https://www.quartile.co) +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). + +from odoo import fields, models + + +class MaintenanceEquipmentDepartment(models.Model): + _name = "maintenance.equipment.department" + _description = "Maintenance Equipment Department" + _order = "name" + + name = fields.Char(required=True) + active = fields.Boolean(default=True) + + _sql_constraints = [ + ("name_uniq", "unique (name)", "The name must be unique."), + ] diff --git a/maintenance_additional_attributes/models/maintenance_equipment_generic_name.py b/maintenance_additional_attributes/models/maintenance_equipment_generic_name.py new file mode 100644 index 0000000..91a6a84 --- /dev/null +++ b/maintenance_additional_attributes/models/maintenance_equipment_generic_name.py @@ -0,0 +1,17 @@ +# Copyright 2026 Quartile (https://www.quartile.co) +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). + +from odoo import fields, models + + +class MaintenanceEquipmentGenericName(models.Model): + _name = "maintenance.equipment.generic.name" + _description = "Maintenance Equipment General Name" + _order = "name" + + name = fields.Char(required=True) + active = fields.Boolean(default=True) + + _sql_constraints = [ + ("name_uniq", "unique (name)", "The name must be unique."), + ] diff --git a/maintenance_additional_attributes/models/maintenance_request.py b/maintenance_additional_attributes/models/maintenance_request.py new file mode 100644 index 0000000..a134f79 --- /dev/null +++ b/maintenance_additional_attributes/models/maintenance_request.py @@ -0,0 +1,29 @@ +# Copyright 2026 Quartile (https://www.quartile.co) +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). + +from odoo import fields, models + + +class MaintenanceRequest(models.Model): + _inherit = "maintenance.request" + + alert_period = fields.Integer( + help="Amount of time before the scheduled date at which the " + "responsible user should be alerted about this maintenance.", + ) + alert_period_unit = fields.Selection( + selection=[ + ("day", "Days"), + ("week", "Weeks"), + ("month", "Months"), + ], + default="month", + ) + alert_sent = fields.Boolean(copy=False) + + def write(self, vals): + res = super().write(vals) + # Keep the close date entered on completion. + if vals.get("close_date") and "stage_id" in vals: + self.filtered("done").write({"close_date": vals["close_date"]}) + return res diff --git a/maintenance_additional_attributes/pyproject.toml b/maintenance_additional_attributes/pyproject.toml new file mode 100644 index 0000000..4231d0c --- /dev/null +++ b/maintenance_additional_attributes/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/maintenance_additional_attributes/readme/CONTRIBUTORS.md b/maintenance_additional_attributes/readme/CONTRIBUTORS.md new file mode 100644 index 0000000..260160c --- /dev/null +++ b/maintenance_additional_attributes/readme/CONTRIBUTORS.md @@ -0,0 +1,2 @@ +- [Quartile](https://www.quartile.co): + - Shinnosuke Morita diff --git a/maintenance_additional_attributes/readme/DESCRIPTION.md b/maintenance_additional_attributes/readme/DESCRIPTION.md new file mode 100644 index 0000000..dc8aac0 --- /dev/null +++ b/maintenance_additional_attributes/readme/DESCRIPTION.md @@ -0,0 +1 @@ +This module adds attributes to maintenance equipment and maintenance requests. \ No newline at end of file diff --git a/maintenance_additional_attributes/security/ir.model.access.csv b/maintenance_additional_attributes/security/ir.model.access.csv new file mode 100644 index 0000000..56c80d5 --- /dev/null +++ b/maintenance_additional_attributes/security/ir.model.access.csv @@ -0,0 +1,5 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_maintenance_equipment_generic_name_user,maintenance.equipment.generic.name user,model_maintenance_equipment_generic_name,base.group_user,1,0,0,0 +access_maintenance_equipment_generic_name_manager,maintenance.equipment.generic.name manager,model_maintenance_equipment_generic_name,maintenance.group_equipment_manager,1,1,1,1 +access_maintenance_equipment_department_user,maintenance.equipment.department user,model_maintenance_equipment_department,base.group_user,1,0,0,0 +access_maintenance_equipment_department_manager,maintenance.equipment.department manager,model_maintenance_equipment_department,maintenance.group_equipment_manager,1,1,1,1 diff --git a/maintenance_additional_attributes/static/description/index.html b/maintenance_additional_attributes/static/description/index.html new file mode 100644 index 0000000..9c32a68 --- /dev/null +++ b/maintenance_additional_attributes/static/description/index.html @@ -0,0 +1,422 @@ + + + + + +Maintenance Additional Attributes + + + +
+

Maintenance Additional Attributes

+ + +

Beta License: LGPL-3 qrtl/rbkk-custom

+

This module adds attributes to maintenance equipment and maintenance +requests.

+

Table of contents

+ +
+

Bug Tracker

+

Bugs are tracked on GitHub 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.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Quartile
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

Current maintainer:

+

smorita7749

+

This module is part of the qrtl/rbkk-custom project on GitHub.

+

You are welcome to contribute.

+
+
+
+ + diff --git a/maintenance_additional_attributes/views/maintenance_equipment_department_views.xml b/maintenance_additional_attributes/views/maintenance_equipment_department_views.xml new file mode 100644 index 0000000..be86d7a --- /dev/null +++ b/maintenance_additional_attributes/views/maintenance_equipment_department_views.xml @@ -0,0 +1,37 @@ + + + + maintenance.equipment.department.list + maintenance.equipment.department + + + + + + + + maintenance.equipment.department.form + maintenance.equipment.department + +
+ + + + + +
+
+
+ + Departments + maintenance.equipment.department + list,form + + +
diff --git a/maintenance_additional_attributes/views/maintenance_equipment_generic_name_views.xml b/maintenance_additional_attributes/views/maintenance_equipment_generic_name_views.xml new file mode 100644 index 0000000..6565f1e --- /dev/null +++ b/maintenance_additional_attributes/views/maintenance_equipment_generic_name_views.xml @@ -0,0 +1,40 @@ + + + + maintenance.equipment.generic.name.list + maintenance.equipment.generic.name + + + + + + + + maintenance.equipment.generic.name.form + maintenance.equipment.generic.name + +
+ + + + + +
+
+
+ + General Names + maintenance.equipment.generic.name + list,form + + +
diff --git a/maintenance_additional_attributes/views/maintenance_equipment_views.xml b/maintenance_additional_attributes/views/maintenance_equipment_views.xml new file mode 100644 index 0000000..19d75aa --- /dev/null +++ b/maintenance_additional_attributes/views/maintenance_equipment_views.xml @@ -0,0 +1,47 @@ + + + + maintenance.equipment.form + maintenance.equipment + + +
+ +
+ + + + + + + + + + + + + + 1 + + + + + + + + + + + + + +
+
diff --git a/maintenance_additional_attributes/views/maintenance_request_views.xml b/maintenance_additional_attributes/views/maintenance_request_views.xml new file mode 100644 index 0000000..4c5a575 --- /dev/null +++ b/maintenance_additional_attributes/views/maintenance_request_views.xml @@ -0,0 +1,21 @@ + + + + maintenance.request.form.additional.attributes + maintenance.request + + + + 0 + 0 + + + + + +