Skip to content
Merged
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
105 changes: 105 additions & 0 deletions repair_service/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
==============
Repair Service
==============

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

.. |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%2Frepair-lightgray.png?logo=github
:target: https://github.com/OCA/repair/tree/18.0/repair_service
:alt: OCA/repair
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/repair-18-0/repair-18-0-repair_service
: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/repair&target_branch=18.0
:alt: Try me on Runboat

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

This module introduces repair services. It adds a new "Services" tab in
the repair orders, where users can add and manage services associated
with the repair. Once the repair order is confirmed and a sale order is
created, these services can be automatically added as sale order lines.
Moreover, if the repair order has the "Under Warranty" field checked,
the module ensures that the corresponding sale order lines price are set
to a value of 0, reflecting the warranty coverage.

**Table of contents**

.. contents::
:local:

Use Cases / Context
===================

This functionality is similar to the "Operations" tab that existed in
previous versions in core Odoo. This tab allowed users to manage
services and operations in the repair orders. This module reintroduces
that functionality and adds these services as sale order lines when the
sale order is generated.

Usage
=====

When creating or editing a repair order, you will find a new "Services"
tab within the repair order form. In this tab, you can input and manage
the services performed as part of the repair order. Once the repair
order is confirmed, when you creating a sale order from the repair
order, the services listed in the "Services" tab will be automatically
added as sale order lines.

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

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

* ForgeFlow

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

- `ForgeFlow <https://forgeflow.com>`__:

- Andreu Orensanz <andreu.orensanz@forgeflow.com>

- ``Heliconia Solutions Pvt. Ltd. <https://www.heliconia.io>``\ \_

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.

This module is part of the `OCA/repair <https://github.com/OCA/repair/tree/18.0/repair_service>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions repair_service/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from . import models
17 changes: 17 additions & 0 deletions repair_service/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).

{
"name": "Repair Service",
"summary": """
Adds services to repair orders, so that they can be added
as sale order lines.
""",
"version": "18.0.1.0.0",
"category": "Repair",
"website": "https://github.com/OCA/repair",
"author": "ForgeFlow, Odoo Community Association (OCA)",
"license": "AGPL-3",
"depends": ["repair"],
"data": ["security/ir.model.access.csv", "views/repair_views.xml"],
}
99 changes: 99 additions & 0 deletions repair_service/i18n/it.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * repair_service
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 17.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-11-11 13:06+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\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.6.2\n"

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__product_uom_category_id
msgid "Category"
msgstr "Categoria"

#. module: repair_service
#: model:ir.model.fields,help:repair_service.field_repair_service__product_uom_category_id
msgid ""
"Conversion between Units of Measure can only occur if they belong to the "
"same category. The conversion will be made based on the ratios."
msgstr ""
"Le conversioni tra unità di misura possono avvenire solo se appartengono "
"alla stessa categoria. La conversione verrà effettuata in base alle "
"proporzioni."

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__create_uid
msgid "Created by"
msgstr "Creato da"

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__create_date
msgid "Created on"
msgstr "Creato il"

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__display_name
msgid "Description"
msgstr "Descrizione"

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__id
msgid "ID"
msgstr "ID"

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__write_uid
msgid "Last Updated by"
msgstr "Ultimo aggiornamento di"

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__write_date
msgid "Last Updated on"
msgstr "Ultimo aggiornamento il"

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__product_id
msgid "Product"
msgstr "Prodotto"

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__product_uom
msgid "Product Uom"
msgstr "UdM prodotto"

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__product_uom_qty
#: model_terms:ir.ui.view,arch_db:repair_service.view_repair_order_form_inherit
msgid "Quantity"
msgstr "Quantità"

#. module: repair_service
#: model:ir.model,name:repair_service.model_repair_order
msgid "Repair Order"
msgstr "Ordine di riparazione"

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__repair_id
msgid "Repair Order Reference"
msgstr "Riferimento ordine riparazione"

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_order__repair_service_ids
#: model_terms:ir.ui.view,arch_db:repair_service.view_repair_order_form_inherit
msgid "Services"
msgstr "Servizi"

#. module: repair_service
#: model:ir.model,name:repair_service.model_repair_service
msgid "repair.service"
msgstr "repair.service"
93 changes: 93 additions & 0 deletions repair_service/i18n/repair_service.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * repair_service
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 17.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: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__product_uom_category_id
msgid "Category"
msgstr ""

#. module: repair_service
#: model:ir.model.fields,help:repair_service.field_repair_service__product_uom_category_id
msgid ""
"Conversion between Units of Measure can only occur if they belong to the "
"same category. The conversion will be made based on the ratios."
msgstr ""

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__create_uid
msgid "Created by"
msgstr ""

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__create_date
msgid "Created on"
msgstr ""

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__display_name
msgid "Description"
msgstr ""

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__id
msgid "ID"
msgstr ""

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__write_uid
msgid "Last Updated by"
msgstr ""

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__write_date
msgid "Last Updated on"
msgstr ""

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__product_id
msgid "Product"
msgstr ""

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__product_uom
msgid "Product Uom"
msgstr ""

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__product_uom_qty
#: model_terms:ir.ui.view,arch_db:repair_service.view_repair_order_form_inherit
msgid "Quantity"
msgstr ""

#. module: repair_service
#: model:ir.model,name:repair_service.model_repair_order
msgid "Repair Order"
msgstr ""

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_service__repair_id
msgid "Repair Order Reference"
msgstr ""

#. module: repair_service
#: model:ir.model.fields,field_description:repair_service.field_repair_order__repair_service_ids
#: model_terms:ir.ui.view,arch_db:repair_service.view_repair_order_form_inherit
msgid "Services"
msgstr ""

#. module: repair_service
#: model:ir.model,name:repair_service.model_repair_service
msgid "repair.service"
msgstr ""
4 changes: 4 additions & 0 deletions repair_service/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from . import repair_service
from . import repair_order
17 changes: 17 additions & 0 deletions repair_service/models/repair_order.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).

from odoo import fields, models


class RepairOrder(models.Model):
_inherit = "repair.order"

repair_service_ids = fields.One2many(
"repair.service", "repair_id", "Services", copy=True
)

def action_create_sale_order(self):
action = super().action_create_sale_order()
self.repair_service_ids._create_repair_sale_order_line()
return action
Loading