From 3fea0a11999fc88ed571e8563b13674d69789ee9 Mon Sep 17 00:00:00 2001 From: ilo Date: Wed, 13 Aug 2025 12:28:13 -0300 Subject: [PATCH 1/7] Adds equipment warranty to field service This module introduces equipment warranty functionality to the field service module. It adds warranty start and end dates to the equipment model, automatically calculating the end date based on the product's warranty duration and type. This enhancement allows users to track equipment warranties and ensure service requests are handled appropriately within the warranty period. --- fieldservice_equipment_warranty/README.rst | 90 ++++ fieldservice_equipment_warranty/__init__.py | 1 + .../__manifest__.py | 24 + fieldservice_equipment_warranty/i18n/fr.po | 66 +++ .../models/__init__.py | 1 + .../models/fsm_equipment.py | 63 +++ .../pyproject.toml | 3 + .../readme/CONTRIBUTORS.md | 1 + .../readme/DESCRIPTION.md | 5 + .../static/description/index.html | 430 ++++++++++++++++++ .../tests/__init__.py | 1 + .../tests/test_fsm_equipment_warranty.py | 58 +++ .../views/fsm_equipment.xml | 43 ++ 13 files changed, 786 insertions(+) create mode 100644 fieldservice_equipment_warranty/README.rst create mode 100644 fieldservice_equipment_warranty/__init__.py create mode 100644 fieldservice_equipment_warranty/__manifest__.py create mode 100644 fieldservice_equipment_warranty/i18n/fr.po create mode 100644 fieldservice_equipment_warranty/models/__init__.py create mode 100644 fieldservice_equipment_warranty/models/fsm_equipment.py create mode 100644 fieldservice_equipment_warranty/pyproject.toml create mode 100644 fieldservice_equipment_warranty/readme/CONTRIBUTORS.md create mode 100644 fieldservice_equipment_warranty/readme/DESCRIPTION.md create mode 100644 fieldservice_equipment_warranty/static/description/index.html create mode 100644 fieldservice_equipment_warranty/tests/__init__.py create mode 100644 fieldservice_equipment_warranty/tests/test_fsm_equipment_warranty.py create mode 100644 fieldservice_equipment_warranty/views/fsm_equipment.xml diff --git a/fieldservice_equipment_warranty/README.rst b/fieldservice_equipment_warranty/README.rst new file mode 100644 index 0000000000..20887ef4fe --- /dev/null +++ b/fieldservice_equipment_warranty/README.rst @@ -0,0 +1,90 @@ +================================ +Field Service Equipment Warranty +================================ + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:fa09e9906192c86d365f7aac082b8e800c20e78a1a052e6418381a7adeaee4c7 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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_equipment_warranty + :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_equipment_warranty + :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| + +Customizations related to ``fieldservice_equipment_stock`` module and +``product_warranty`` module. + +This module allows managing warranties for equipment in the field +service module. It extends the functionality of the +``fieldservice_equipment_stock`` and ``product_warranty`` modules to +provide a link between equipment and product warranties. + +**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 +------- + +* Camptocamp + +Contributors +------------ + +- Italo LOPES + +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-imlopes| image:: https://github.com/imlopes.png?size=40px + :target: https://github.com/imlopes + :alt: imlopes + +Current `maintainer `__: + +|maintainer-imlopes| + +This module is part of the `OCA/field-service `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/fieldservice_equipment_warranty/__init__.py b/fieldservice_equipment_warranty/__init__.py new file mode 100644 index 0000000000..0650744f6b --- /dev/null +++ b/fieldservice_equipment_warranty/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/fieldservice_equipment_warranty/__manifest__.py b/fieldservice_equipment_warranty/__manifest__.py new file mode 100644 index 0000000000..a7b5f60c86 --- /dev/null +++ b/fieldservice_equipment_warranty/__manifest__.py @@ -0,0 +1,24 @@ +# Copyright 2025 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + "name": "Field Service Equipment Warranty", + "summary": "Field Service equipment warranty", + "category": "Field Service", + "version": "18.0.1.0.0", + "author": "Camptocamp, Odoo Community Association (OCA)", + "license": "AGPL-3", + "depends": [ + # OCA/RMA + "product_warranty", + # OCA/field-service + "fieldservice_equipment_stock", + ], + "website": "https://github.com/OCA/field-service", + "data": [ + # Views + "views/fsm_equipment.xml", + ], + "installable": True, + "maintainers": ["imlopes"], +} diff --git a/fieldservice_equipment_warranty/i18n/fr.po b/fieldservice_equipment_warranty/i18n/fr.po new file mode 100644 index 0000000000..52e7735a31 --- /dev/null +++ b/fieldservice_equipment_warranty/i18n/fr.po @@ -0,0 +1,66 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * behring_fieldservice_equipment_stock_warranty +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-10-22 13:47+0000\n" +"PO-Revision-Date: 2024-10-22 13:47+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: behring_fieldservice_equipment_stock_warranty +#: model:ir.model,name:behring_fieldservice_equipment_stock_warranty.model_fsm_equipment +msgid "Field Service Equipment" +msgstr "Équipement de service sur site" + +#. module: behring_fieldservice_equipment_stock_warranty +#: model_terms:ir.ui.view,arch_db:behring_fieldservice_equipment_stock_warranty.fsm_equipment_form_view_stock +msgid "Product Warranty" +msgstr "Garantie du produit" + +#. module: behring_fieldservice_equipment_stock_warranty +#: model:ir.model.fields,field_description:behring_fieldservice_equipment_stock_warranty.field_fsm_equipment__product_warranty +msgid "Warranty Duration" +msgstr "Durée de garantie" + +#. module: behring_fieldservice_equipment_stock_warranty +#: model:ir.model.fields,field_description:behring_fieldservice_equipment_stock_warranty.field_fsm_equipment__warranty_end_date +msgid "Warranty End Date" +msgstr "Date de fin de garantie" + +#. module: behring_fieldservice_equipment_stock_warranty +#: model:ir.model.fields,field_description:behring_fieldservice_equipment_stock_warranty.field_fsm_equipment__warranty_start_date +msgid "Warranty Start Date" +msgstr "Date de début de garantie" + +#. module: behring_fieldservice_equipment_stock_warranty +#: model:ir.model.fields,field_description:behring_fieldservice_equipment_stock_warranty.field_fsm_equipment__product_warranty_type +msgid "Warranty Type" +msgstr "Type de garantie" + +#. module: behring_fieldservice_equipment_stock_warranty +#: model:ir.model.fields.selection,name:behring_fieldservice_equipment_stock_warranty.selection__fsm_equipment__warranty_type__day +msgid "Day(s)" +msgstr "Jour(s)" + +#. module: behring_fieldservice_equipment_stock_warranty +#: model:ir.model.fields.selection,name:behring_fieldservice_equipment_stock_warranty.selection__fsm_equipment__warranty_type__month +msgid "Month(s)" +msgstr "Mois" + +#. module: behring_fieldservice_equipment_stock_warranty +#: model:ir.model.fields.selection,name:behring_fieldservice_equipment_stock_warranty.selection__fsm_equipment__warranty_type__week +msgid "Week(s)" +msgstr "Semaine(s)" + +#. module: behring_fieldservice_equipment_stock_warranty +#: model:ir.model.fields.selection,name:behring_fieldservice_equipment_stock_warranty.selection__fsm_equipment__warranty_type__year +msgid "Year(s)" +msgstr "Année(s)" diff --git a/fieldservice_equipment_warranty/models/__init__.py b/fieldservice_equipment_warranty/models/__init__.py new file mode 100644 index 0000000000..69631fa677 --- /dev/null +++ b/fieldservice_equipment_warranty/models/__init__.py @@ -0,0 +1 @@ +from . import fsm_equipment diff --git a/fieldservice_equipment_warranty/models/fsm_equipment.py b/fieldservice_equipment_warranty/models/fsm_equipment.py new file mode 100644 index 0000000000..87d33a4433 --- /dev/null +++ b/fieldservice_equipment_warranty/models/fsm_equipment.py @@ -0,0 +1,63 @@ +# Copyright 2025 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from dateutil.relativedelta import relativedelta + +from odoo import api, fields, models +from odoo.exceptions import ValidationError + + +class FSMEquipment(models.Model): + _inherit = "fsm.equipment" + + warranty_start_date = fields.Date( + copy=False, tracking=True, default=fields.Date.today + ) + warranty_end_date = fields.Date( + tracking=True, compute="_compute_warranty_end_date", store=True, readonly=False + ) + product_warranty = fields.Integer( + related="product_id.warranty", string="Warranty Duration" + ) + product_warranty_type = fields.Selection( + related="product_id.warranty_type", string="Warranty Type" + ) + + @api.constrains("warranty_start_date", "warranty_end_date") + def _check_warranty_dates(self): + for equip in self: + if ( + equip.warranty_start_date + and equip.warranty_end_date + and equip.warranty_end_date < equip.warranty_start_date + ): + raise ValidationError( + self.env._("Warranty end date must be after warranty start date.") + ) + + def _get_warranty_end_date(self): + self.ensure_one() + warranty_end_date = fields.Date.today() + if self.product_id and self.product_id.warranty: + if self.product_id.warranty_type == "week": + warranty_end_date = self.warranty_start_date + relativedelta( + weeks=self.product_id.warranty + ) + elif self.product_id.warranty_type == "month": + warranty_end_date = self.warranty_start_date + relativedelta( + months=self.product_id.warranty + ) + elif self.product_id.warranty_type == "year": + warranty_end_date = self.warranty_start_date + relativedelta( + years=self.product_id.warranty + ) + else: + warranty_end_date = fields.Date.today() + relativedelta( + days=self.product_id.warranty + ) + return warranty_end_date + + @api.depends("product_id", "product_id.warranty", "warranty_start_date") + def _compute_warranty_end_date(self): + for equip in self: + equip.warranty_end_date = equip._get_warranty_end_date() diff --git a/fieldservice_equipment_warranty/pyproject.toml b/fieldservice_equipment_warranty/pyproject.toml new file mode 100644 index 0000000000..4231d0cccb --- /dev/null +++ b/fieldservice_equipment_warranty/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/fieldservice_equipment_warranty/readme/CONTRIBUTORS.md b/fieldservice_equipment_warranty/readme/CONTRIBUTORS.md new file mode 100644 index 0000000000..0b564563c9 --- /dev/null +++ b/fieldservice_equipment_warranty/readme/CONTRIBUTORS.md @@ -0,0 +1 @@ +- Italo LOPES \<\> diff --git a/fieldservice_equipment_warranty/readme/DESCRIPTION.md b/fieldservice_equipment_warranty/readme/DESCRIPTION.md new file mode 100644 index 0000000000..201d9fa5da --- /dev/null +++ b/fieldservice_equipment_warranty/readme/DESCRIPTION.md @@ -0,0 +1,5 @@ +Customizations related to ``fieldservice_equipment_stock`` module and ``product_warranty`` module. + +This module allows managing warranties for equipment in the field service module. +It extends the functionality of the `fieldservice_equipment_stock` and `product_warranty` modules +to provide a link between equipment and product warranties. diff --git a/fieldservice_equipment_warranty/static/description/index.html b/fieldservice_equipment_warranty/static/description/index.html new file mode 100644 index 0000000000..3114452331 --- /dev/null +++ b/fieldservice_equipment_warranty/static/description/index.html @@ -0,0 +1,430 @@ + + + + + +Field Service Equipment Warranty + + + +
+

Field Service Equipment Warranty

+ + +

Beta License: AGPL-3 OCA/field-service Translate me on Weblate Try me on Runboat

+

Customizations related to fieldservice_equipment_stock module and +product_warranty module.

+

This module allows managing warranties for equipment in the field +service module. It extends the functionality of the +fieldservice_equipment_stock and product_warranty modules to +provide a link between equipment and product warranties.

+

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

+
    +
  • Camptocamp
  • +
+
+ +
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

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.

+

Current maintainer:

+

imlopes

+

This module is part of the OCA/field-service project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/fieldservice_equipment_warranty/tests/__init__.py b/fieldservice_equipment_warranty/tests/__init__.py new file mode 100644 index 0000000000..77d66c4643 --- /dev/null +++ b/fieldservice_equipment_warranty/tests/__init__.py @@ -0,0 +1 @@ +from . import test_fsm_equipment_warranty diff --git a/fieldservice_equipment_warranty/tests/test_fsm_equipment_warranty.py b/fieldservice_equipment_warranty/tests/test_fsm_equipment_warranty.py new file mode 100644 index 0000000000..a93480c645 --- /dev/null +++ b/fieldservice_equipment_warranty/tests/test_fsm_equipment_warranty.py @@ -0,0 +1,58 @@ +# Copyright 2025 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + + +from dateutil.relativedelta import relativedelta + +from odoo import fields +from odoo.tests.common import TransactionCase, tagged + + +@tagged("post_install", "-at_install") +class TestFSMEquipmentWarranty(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + ProductTemplate = cls.env["product.template"] + + tmpl_month = ProductTemplate.create( + {"name": "Product 3M", "warranty": 3, "warranty_type": "month"} + ) + cls.product_month = tmpl_month.product_variant_id + + cls.Equipment = cls.env["fsm.equipment"] + cls.start_a = fields.Date.to_date("2025-01-15") + cls.start_b = fields.Date.to_date("2025-02-10") + + def test_01_create_sets_warranty_end_date(self): + equip = self.Equipment.create( + { + "name": "Equip A", + "product_id": self.product_month.id, + "warranty_start_date": self.start_a, + } + ) + expected = self.start_a + relativedelta(months=3) + self.assertEqual(equip.warranty_end_date, expected) + + def test_02_write_recomputes_on_start_date_change(self): + equip = self.Equipment.create( + { + "name": "Equip B", + "product_id": self.product_month.id, + "warranty_start_date": self.start_a, + } + ) + equip.write({"warranty_start_date": self.start_b}) + expected = self.start_b + relativedelta(months=3) + self.assertEqual(equip.warranty_end_date, expected) + + def test_03_create_without_product_sets_today(self): + today = fields.Date.today() + equip = self.Equipment.create( + { + "name": "Equipment without product", + "warranty_start_date": self.start_a, + } + ) + self.assertEqual(equip.warranty_end_date, today) diff --git a/fieldservice_equipment_warranty/views/fsm_equipment.xml b/fieldservice_equipment_warranty/views/fsm_equipment.xml new file mode 100644 index 0000000000..54d4fbd0b0 --- /dev/null +++ b/fieldservice_equipment_warranty/views/fsm_equipment.xml @@ -0,0 +1,43 @@ + + + fsm.equipment + + + + + + + + + + + fsm.equipment + + + + + + + + + From 5e4fef5017573d72af978ef9a48a1e6663a53ca4 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Wed, 20 Aug 2025 17:36:55 +0000 Subject: [PATCH 2/7] [UPD] Update fieldservice_equipment_warranty.pot --- .../i18n/fieldservice_equipment_warranty.pot | 55 +++++++++++++++++ fieldservice_equipment_warranty/i18n/fr.po | 61 ++++++++++--------- 2 files changed, 88 insertions(+), 28 deletions(-) create mode 100644 fieldservice_equipment_warranty/i18n/fieldservice_equipment_warranty.pot diff --git a/fieldservice_equipment_warranty/i18n/fieldservice_equipment_warranty.pot b/fieldservice_equipment_warranty/i18n/fieldservice_equipment_warranty.pot new file mode 100644 index 0000000000..3dc41b5e85 --- /dev/null +++ b/fieldservice_equipment_warranty/i18n/fieldservice_equipment_warranty.pot @@ -0,0 +1,55 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fieldservice_equipment_warranty +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \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: fieldservice_equipment_warranty +#: model:ir.model,name:fieldservice_equipment_warranty.model_fsm_equipment +msgid "Field Service Equipment" +msgstr "" + +#. module: fieldservice_equipment_warranty +#: model_terms:ir.ui.view,arch_db:fieldservice_equipment_warranty.fsm_equipment_form_view_stock +msgid "Product Warranty" +msgstr "" + +#. module: fieldservice_equipment_warranty +#: model:ir.model.fields,field_description:fieldservice_equipment_warranty.field_fsm_equipment__product_warranty +msgid "Warranty Duration" +msgstr "" + +#. module: fieldservice_equipment_warranty +#: model:ir.model.fields,field_description:fieldservice_equipment_warranty.field_fsm_equipment__warranty_end_date +msgid "Warranty End Date" +msgstr "" + +#. module: fieldservice_equipment_warranty +#: model_terms:ir.ui.view,arch_db:fieldservice_equipment_warranty.fsm_equipment_form_view_stock +msgid "Warranty Period" +msgstr "" + +#. module: fieldservice_equipment_warranty +#: model:ir.model.fields,field_description:fieldservice_equipment_warranty.field_fsm_equipment__warranty_start_date +msgid "Warranty Start Date" +msgstr "" + +#. module: fieldservice_equipment_warranty +#: model:ir.model.fields,field_description:fieldservice_equipment_warranty.field_fsm_equipment__product_warranty_type +msgid "Warranty Type" +msgstr "" + +#. module: fieldservice_equipment_warranty +#. odoo-python +#: code:addons/fieldservice_equipment_warranty/models/fsm_equipment.py:0 +msgid "Warranty end date must be after warranty start date." +msgstr "" diff --git a/fieldservice_equipment_warranty/i18n/fr.po b/fieldservice_equipment_warranty/i18n/fr.po index 52e7735a31..ff2e931104 100644 --- a/fieldservice_equipment_warranty/i18n/fr.po +++ b/fieldservice_equipment_warranty/i18n/fr.po @@ -10,57 +10,62 @@ msgstr "" "PO-Revision-Date: 2024-10-22 13:47+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: behring_fieldservice_equipment_stock_warranty -#: model:ir.model,name:behring_fieldservice_equipment_stock_warranty.model_fsm_equipment +#. module: fieldservice_equipment_warranty +#: model:ir.model,name:fieldservice_equipment_warranty.model_fsm_equipment msgid "Field Service Equipment" msgstr "Équipement de service sur site" -#. module: behring_fieldservice_equipment_stock_warranty -#: model_terms:ir.ui.view,arch_db:behring_fieldservice_equipment_stock_warranty.fsm_equipment_form_view_stock +#. module: fieldservice_equipment_warranty +#: model_terms:ir.ui.view,arch_db:fieldservice_equipment_warranty.fsm_equipment_form_view_stock msgid "Product Warranty" msgstr "Garantie du produit" -#. module: behring_fieldservice_equipment_stock_warranty -#: model:ir.model.fields,field_description:behring_fieldservice_equipment_stock_warranty.field_fsm_equipment__product_warranty +#. module: fieldservice_equipment_warranty +#: model:ir.model.fields,field_description:fieldservice_equipment_warranty.field_fsm_equipment__product_warranty msgid "Warranty Duration" msgstr "Durée de garantie" -#. module: behring_fieldservice_equipment_stock_warranty -#: model:ir.model.fields,field_description:behring_fieldservice_equipment_stock_warranty.field_fsm_equipment__warranty_end_date +#. module: fieldservice_equipment_warranty +#: model:ir.model.fields,field_description:fieldservice_equipment_warranty.field_fsm_equipment__warranty_end_date msgid "Warranty End Date" msgstr "Date de fin de garantie" -#. module: behring_fieldservice_equipment_stock_warranty -#: model:ir.model.fields,field_description:behring_fieldservice_equipment_stock_warranty.field_fsm_equipment__warranty_start_date +#. module: fieldservice_equipment_warranty +#: model_terms:ir.ui.view,arch_db:fieldservice_equipment_warranty.fsm_equipment_form_view_stock +#, fuzzy +msgid "Warranty Period" +msgstr "Durée de garantie" + +#. module: fieldservice_equipment_warranty +#: model:ir.model.fields,field_description:fieldservice_equipment_warranty.field_fsm_equipment__warranty_start_date msgid "Warranty Start Date" msgstr "Date de début de garantie" -#. module: behring_fieldservice_equipment_stock_warranty -#: model:ir.model.fields,field_description:behring_fieldservice_equipment_stock_warranty.field_fsm_equipment__product_warranty_type +#. module: fieldservice_equipment_warranty +#: model:ir.model.fields,field_description:fieldservice_equipment_warranty.field_fsm_equipment__product_warranty_type msgid "Warranty Type" msgstr "Type de garantie" -#. module: behring_fieldservice_equipment_stock_warranty -#: model:ir.model.fields.selection,name:behring_fieldservice_equipment_stock_warranty.selection__fsm_equipment__warranty_type__day -msgid "Day(s)" -msgstr "Jour(s)" +#. module: fieldservice_equipment_warranty +#. odoo-python +#: code:addons/fieldservice_equipment_warranty/models/fsm_equipment.py:0 +msgid "Warranty end date must be after warranty start date." +msgstr "" + +#~ msgid "Day(s)" +#~ msgstr "Jour(s)" -#. module: behring_fieldservice_equipment_stock_warranty -#: model:ir.model.fields.selection,name:behring_fieldservice_equipment_stock_warranty.selection__fsm_equipment__warranty_type__month -msgid "Month(s)" -msgstr "Mois" +#~ msgid "Month(s)" +#~ msgstr "Mois" -#. module: behring_fieldservice_equipment_stock_warranty -#: model:ir.model.fields.selection,name:behring_fieldservice_equipment_stock_warranty.selection__fsm_equipment__warranty_type__week -msgid "Week(s)" -msgstr "Semaine(s)" +#~ msgid "Week(s)" +#~ msgstr "Semaine(s)" -#. module: behring_fieldservice_equipment_stock_warranty -#: model:ir.model.fields.selection,name:behring_fieldservice_equipment_stock_warranty.selection__fsm_equipment__warranty_type__year -msgid "Year(s)" -msgstr "Année(s)" +#~ msgid "Year(s)" +#~ msgstr "Année(s)" From 1f96a273693a8585dd1643fd6809303a88bbc453 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 20 Aug 2025 17:40:42 +0000 Subject: [PATCH 3/7] [BOT] post-merge updates --- fieldservice_equipment_warranty/README.rst | 10 +++++-- .../static/description/icon.png | Bin 0 -> 10254 bytes .../static/description/index.html | 26 +++++++++++------- 3 files changed, 23 insertions(+), 13 deletions(-) create mode 100644 fieldservice_equipment_warranty/static/description/icon.png diff --git a/fieldservice_equipment_warranty/README.rst b/fieldservice_equipment_warranty/README.rst index 20887ef4fe..c63295b2f1 100644 --- a/fieldservice_equipment_warranty/README.rst +++ b/fieldservice_equipment_warranty/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ================================ Field Service Equipment Warranty ================================ @@ -7,13 +11,13 @@ Field Service Equipment Warranty !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:fa09e9906192c86d365f7aac082b8e800c20e78a1a052e6418381a7adeaee4c7 + !! source digest: sha256:932b493a6218f4df718414d5ff143c3e30f765bb9c31f00e09655cedbe4f78d9 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |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 +.. |badge2| image:: https://img.shields.io/badge/license-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 @@ -62,7 +66,7 @@ Authors Contributors ------------ -- Italo LOPES +- Italo LOPES Maintainers ----------- diff --git a/fieldservice_equipment_warranty/static/description/icon.png b/fieldservice_equipment_warranty/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1dcc49c24f364e9adf0afbc6fc0bac6dbecdeb11 GIT binary patch literal 10254 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 -Field Service Equipment Warranty +README.rst -
-

Field Service Equipment Warranty

+
+ + +Odoo Community Association + +
+

Field Service Equipment Warranty

-

Beta License: AGPL-3 OCA/field-service Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/field-service Translate me on Weblate Try me on Runboat

Customizations related to fieldservice_equipment_stock module and product_warranty module.

This module allows managing warranties for equipment in the field @@ -389,7 +394,7 @@

Field Service Equipment Warranty

-

Bug Tracker

+

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 @@ -397,21 +402,21 @@

Bug Tracker

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

+
From 990515598682785be4a0051e311bf8e4f1d94fce Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 25 Aug 2025 13:21:42 +0000 Subject: [PATCH 4/7] Added translation using Weblate (Italian) --- fieldservice_equipment_warranty/i18n/it.po | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 fieldservice_equipment_warranty/i18n/it.po diff --git a/fieldservice_equipment_warranty/i18n/it.po b/fieldservice_equipment_warranty/i18n/it.po new file mode 100644 index 0000000000..1d3aa94824 --- /dev/null +++ b/fieldservice_equipment_warranty/i18n/it.po @@ -0,0 +1,56 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fieldservice_equipment_warranty +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 18.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: it\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" + +#. module: fieldservice_equipment_warranty +#: model:ir.model,name:fieldservice_equipment_warranty.model_fsm_equipment +msgid "Field Service Equipment" +msgstr "" + +#. module: fieldservice_equipment_warranty +#: model_terms:ir.ui.view,arch_db:fieldservice_equipment_warranty.fsm_equipment_form_view_stock +msgid "Product Warranty" +msgstr "" + +#. module: fieldservice_equipment_warranty +#: model:ir.model.fields,field_description:fieldservice_equipment_warranty.field_fsm_equipment__product_warranty +msgid "Warranty Duration" +msgstr "" + +#. module: fieldservice_equipment_warranty +#: model:ir.model.fields,field_description:fieldservice_equipment_warranty.field_fsm_equipment__warranty_end_date +msgid "Warranty End Date" +msgstr "" + +#. module: fieldservice_equipment_warranty +#: model_terms:ir.ui.view,arch_db:fieldservice_equipment_warranty.fsm_equipment_form_view_stock +msgid "Warranty Period" +msgstr "" + +#. module: fieldservice_equipment_warranty +#: model:ir.model.fields,field_description:fieldservice_equipment_warranty.field_fsm_equipment__warranty_start_date +msgid "Warranty Start Date" +msgstr "" + +#. module: fieldservice_equipment_warranty +#: model:ir.model.fields,field_description:fieldservice_equipment_warranty.field_fsm_equipment__product_warranty_type +msgid "Warranty Type" +msgstr "" + +#. module: fieldservice_equipment_warranty +#. odoo-python +#: code:addons/fieldservice_equipment_warranty/models/fsm_equipment.py:0 +msgid "Warranty end date must be after warranty start date." +msgstr "" From fc7ad1aee753d225980d9c802ddeaaf12e7b4dfc Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 8 Sep 2025 07:52:59 +0000 Subject: [PATCH 5/7] Translated using Weblate (Italian) Currently translated at 100.0% (8 of 8 strings) Translation: field-service-18.0/field-service-18.0-fieldservice_equipment_warranty Translate-URL: https://translation.odoo-community.org/projects/field-service-18-0/field-service-18-0-fieldservice_equipment_warranty/it/ --- fieldservice_equipment_warranty/i18n/it.po | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/fieldservice_equipment_warranty/i18n/it.po b/fieldservice_equipment_warranty/i18n/it.po index 1d3aa94824..732cec1d83 100644 --- a/fieldservice_equipment_warranty/i18n/it.po +++ b/fieldservice_equipment_warranty/i18n/it.po @@ -6,51 +6,53 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 18.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2025-09-08 09:55+0000\n" +"Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\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 5.10.4\n" #. module: fieldservice_equipment_warranty #: model:ir.model,name:fieldservice_equipment_warranty.model_fsm_equipment msgid "Field Service Equipment" -msgstr "" +msgstr "Attrezzatura assistenza sul campo" #. module: fieldservice_equipment_warranty #: model_terms:ir.ui.view,arch_db:fieldservice_equipment_warranty.fsm_equipment_form_view_stock msgid "Product Warranty" -msgstr "" +msgstr "Garanzia prodotto" #. module: fieldservice_equipment_warranty #: model:ir.model.fields,field_description:fieldservice_equipment_warranty.field_fsm_equipment__product_warranty msgid "Warranty Duration" -msgstr "" +msgstr "Durata Garanzia" #. module: fieldservice_equipment_warranty #: model:ir.model.fields,field_description:fieldservice_equipment_warranty.field_fsm_equipment__warranty_end_date msgid "Warranty End Date" -msgstr "" +msgstr "Data fine garanzia" #. module: fieldservice_equipment_warranty #: model_terms:ir.ui.view,arch_db:fieldservice_equipment_warranty.fsm_equipment_form_view_stock msgid "Warranty Period" -msgstr "" +msgstr "Periodo garanzia" #. module: fieldservice_equipment_warranty #: model:ir.model.fields,field_description:fieldservice_equipment_warranty.field_fsm_equipment__warranty_start_date msgid "Warranty Start Date" -msgstr "" +msgstr "Data inizio garanzia" #. module: fieldservice_equipment_warranty #: model:ir.model.fields,field_description:fieldservice_equipment_warranty.field_fsm_equipment__product_warranty_type msgid "Warranty Type" -msgstr "" +msgstr "Tipo garanzia" #. module: fieldservice_equipment_warranty #. odoo-python #: code:addons/fieldservice_equipment_warranty/models/fsm_equipment.py:0 msgid "Warranty end date must be after warranty start date." -msgstr "" +msgstr "La data fine garanzia deve essere successiva alla data inizio garanzia." From 724ee560a6e4d2f820d0663ef64a2cf4454de1d4 Mon Sep 17 00:00:00 2001 From: Hoa - Truong Thi Kim Date: Thu, 5 Feb 2026 17:35:50 +0700 Subject: [PATCH 6/7] [MIG] fieldservice_equipment_warranty: Migration to 19.0 --- fieldservice_equipment_warranty/README.rst | 10 +++++----- fieldservice_equipment_warranty/__manifest__.py | 2 +- .../models/fsm_equipment.py | 2 +- .../static/description/index.html | 6 +++--- .../views/fsm_equipment.xml | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/fieldservice_equipment_warranty/README.rst b/fieldservice_equipment_warranty/README.rst index c63295b2f1..ad387ba63c 100644 --- a/fieldservice_equipment_warranty/README.rst +++ b/fieldservice_equipment_warranty/README.rst @@ -21,13 +21,13 @@ Field Service Equipment Warranty :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_equipment_warranty + :target: https://github.com/OCA/field-service/tree/19.0/fieldservice_equipment_warranty :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_equipment_warranty + :target: https://translation.odoo-community.org/projects/field-service-19-0/field-service-19-0-fieldservice_equipment_warranty :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 + :target: https://runboat.odoo-community.org/builds?repo=OCA/field-service&target_branch=19.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -51,7 +51,7 @@ 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 `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -89,6 +89,6 @@ Current `maintainer `__: |maintainer-imlopes| -This module is part of the `OCA/field-service `_ project on GitHub. +This module is part of the `OCA/field-service `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/fieldservice_equipment_warranty/__manifest__.py b/fieldservice_equipment_warranty/__manifest__.py index a7b5f60c86..9800eefa66 100644 --- a/fieldservice_equipment_warranty/__manifest__.py +++ b/fieldservice_equipment_warranty/__manifest__.py @@ -5,7 +5,7 @@ "name": "Field Service Equipment Warranty", "summary": "Field Service equipment warranty", "category": "Field Service", - "version": "18.0.1.0.0", + "version": "19.0.1.0.0", "author": "Camptocamp, Odoo Community Association (OCA)", "license": "AGPL-3", "depends": [ diff --git a/fieldservice_equipment_warranty/models/fsm_equipment.py b/fieldservice_equipment_warranty/models/fsm_equipment.py index 87d33a4433..1fef43ffa3 100644 --- a/fieldservice_equipment_warranty/models/fsm_equipment.py +++ b/fieldservice_equipment_warranty/models/fsm_equipment.py @@ -52,7 +52,7 @@ def _get_warranty_end_date(self): years=self.product_id.warranty ) else: - warranty_end_date = fields.Date.today() + relativedelta( + warranty_end_date = self.warranty_start_date + relativedelta( days=self.product_id.warranty ) return warranty_end_date diff --git a/fieldservice_equipment_warranty/static/description/index.html b/fieldservice_equipment_warranty/static/description/index.html index 41efa2d7a5..b4d6d1d5e6 100644 --- a/fieldservice_equipment_warranty/static/description/index.html +++ b/fieldservice_equipment_warranty/static/description/index.html @@ -374,7 +374,7 @@

Field Service Equipment Warranty

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:932b493a6218f4df718414d5ff143c3e30f765bb9c31f00e09655cedbe4f78d9 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/field-service Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/field-service Translate me on Weblate Try me on Runboat

Customizations related to fieldservice_equipment_stock module and product_warranty module.

This module allows managing warranties for equipment in the field @@ -398,7 +398,7 @@

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.

+feedback.

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

@@ -426,7 +426,7 @@

Maintainers

promote its widespread use.

Current maintainer:

imlopes

-

This module is part of the OCA/field-service project on GitHub.

+

This module is part of the OCA/field-service project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

diff --git a/fieldservice_equipment_warranty/views/fsm_equipment.xml b/fieldservice_equipment_warranty/views/fsm_equipment.xml index 54d4fbd0b0..e21aec2796 100644 --- a/fieldservice_equipment_warranty/views/fsm_equipment.xml +++ b/fieldservice_equipment_warranty/views/fsm_equipment.xml @@ -21,7 +21,7 @@ />
- +
From 3124a53d44f0ae48143a0f65a7c82330a7466cce Mon Sep 17 00:00:00 2001 From: Hoa - Truong Thi Kim Date: Thu, 5 Feb 2026 18:03:15 +0700 Subject: [PATCH 7/7] [DON'T MERGE] test-requirements.txt [DON'T MERGE] test-requirements.txt --- test-requirements.txt | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 test-requirements.txt diff --git a/test-requirements.txt b/test-requirements.txt new file mode 100644 index 0000000000..0b909136b3 --- /dev/null +++ b/test-requirements.txt @@ -0,0 +1,5 @@ +odoo-addon-base_territory @ git+https://github.com/OCA/field-service.git@refs/pull/1495/head#subdirectory=base_territory +odoo-addon-fieldservice @ git+https://github.com/OCA/field-service.git@refs/pull/1496/head#subdirectory=fieldservice +odoo-addon-fieldservice_stock @ git+https://github.com/OCA/field-service.git@refs/pull/1499/head#subdirectory=fieldservice_stock +odoo-addon-fieldservice_equipment_stock @ git+https://github.com/OCA/field-service.git@refs/pull/1506/head#subdirectory=fieldservice_equipment_stock +odoo-addon-product_warranty @ git+https://github.com/OCA/rma.git@refs/pull/506/head#subdirectory=product_warranty