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
30 changes: 30 additions & 0 deletions crm_claim_sale_repair_cost/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3

==========================
Crm claim sale repair cost
==========================

* In CRM claim when any of the 3 references are changed, and some of them belong
to a repair type sales order, the cost, requested quantity, and delivered
quantity of the order will be brought to the claim.

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

Bugs are tracked on `GitHub Issues
<https://github.com/avanzosc/crm-addons/issues>`_. In case of trouble,
please check there if your issue has already been reported. If you spotted
it first, help us smash it by providing detailed and welcomed feedback.

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

Credits
=======

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

* Ana Juaristi <[email protected]>
* Alfredo de la Fuente <[email protected]>
1 change: 1 addition & 0 deletions crm_claim_sale_repair_cost/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
20 changes: 20 additions & 0 deletions crm_claim_sale_repair_cost/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright 2025 Alfredo de la Fuente - AvanzOSC
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
{
"name": "Crm Claim Sale Repair Cost",
"version": "18.0.1.0.0",
"author": "AvanzOSC",
"website": "https://github.com/avanzosc/crm-addons",
"category": "Customer Relationship Management",
"depends": [
"crm_claim_extra_ref",
"stock_picking_create_repair",
"sale_line_pending_info",
"sale_stock_move_cost",
],
"data": [
"views/crm_claim_views.xml",
],
"license": "AGPL-3",
"installable": True,
}
46 changes: 46 additions & 0 deletions crm_claim_sale_repair_cost/i18n/ca_ES.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * crm_claim_sale_repair_cost
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-20 09:52+0000\n"
"PO-Revision-Date: 2025-05-20 09:52+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: crm_claim_sale_repair_cost
#: model:ir.model,name:crm_claim_sale_repair_cost.model_crm_claim
msgid "Claim"
msgstr "Reclamació"

#. module: crm_claim_sale_repair_cost
#: model_terms:ir.ui.view,arch_db:crm_claim_sale_repair_cost.crm_case_claims_form_view
msgid "Repair type sales order information"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_id
msgid "Sale Repair"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_qty_delivered
msgid "Sale Repair Qty Delivered"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_qty_ordered
msgid "Sale Repair Qty Ordered"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_cost
msgid "Sale Repair Total Cost"
msgstr ""
46 changes: 46 additions & 0 deletions crm_claim_sale_repair_cost/i18n/crm_claim_sale_repair_cost.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * crm_claim_sale_repair_cost
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-20 09:52+0000\n"
"PO-Revision-Date: 2025-05-20 09:52+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: crm_claim_sale_repair_cost
#: model:ir.model,name:crm_claim_sale_repair_cost.model_crm_claim
msgid "Claim"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model_terms:ir.ui.view,arch_db:crm_claim_sale_repair_cost.crm_case_claims_form_view
msgid "Repair type sales order information"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_id
msgid "Sale Repair"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_qty_delivered
msgid "Sale Repair Qty Delivered"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_qty_ordered
msgid "Sale Repair Qty Ordered"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_cost
msgid "Sale Repair Total Cost"
msgstr ""
46 changes: 46 additions & 0 deletions crm_claim_sale_repair_cost/i18n/en_GB.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * crm_claim_sale_repair_cost
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-20 09:53+0000\n"
"PO-Revision-Date: 2025-05-20 09:53+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: crm_claim_sale_repair_cost
#: model:ir.model,name:crm_claim_sale_repair_cost.model_crm_claim
msgid "Claim"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model_terms:ir.ui.view,arch_db:crm_claim_sale_repair_cost.crm_case_claims_form_view
msgid "Repair type sales order information"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_id
msgid "Sale Repair"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_qty_delivered
msgid "Sale Repair Qty Delivered"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_qty_ordered
msgid "Sale Repair Qty Ordered"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_cost
msgid "Sale Repair Total Cost"
msgstr ""
46 changes: 46 additions & 0 deletions crm_claim_sale_repair_cost/i18n/en_US.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * crm_claim_sale_repair_cost
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-20 09:52+0000\n"
"PO-Revision-Date: 2025-05-20 09:52+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: crm_claim_sale_repair_cost
#: model:ir.model,name:crm_claim_sale_repair_cost.model_crm_claim
msgid "Claim"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model_terms:ir.ui.view,arch_db:crm_claim_sale_repair_cost.crm_case_claims_form_view
msgid "Repair type sales order information"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_id
msgid "Sale Repair"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_qty_delivered
msgid "Sale Repair Qty Delivered"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_qty_ordered
msgid "Sale Repair Qty Ordered"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_cost
msgid "Sale Repair Total Cost"
msgstr ""
46 changes: 46 additions & 0 deletions crm_claim_sale_repair_cost/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * crm_claim_sale_repair_cost
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-20 09:53+0000\n"
"PO-Revision-Date: 2025-05-20 09:53+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: crm_claim_sale_repair_cost
#: model:ir.model,name:crm_claim_sale_repair_cost.model_crm_claim
msgid "Claim"
msgstr "Reclamación"

#. module: crm_claim_sale_repair_cost
#: model_terms:ir.ui.view,arch_db:crm_claim_sale_repair_cost.crm_case_claims_form_view
msgid "Repair type sales order information"
msgstr "Información pedido de venta de tipo reparación"

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_id
msgid "Sale Repair"
msgstr "Pedido reparación"

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_qty_delivered
msgid "Sale Repair Qty Delivered"
msgstr "Cant. Entregada pedido reparación"

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_qty_ordered
msgid "Sale Repair Qty Ordered"
msgstr "Cant. Pedida pedido reparación"

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_cost
msgid "Sale Repair Total Cost"
msgstr "Total coste pedido reparación"
46 changes: 46 additions & 0 deletions crm_claim_sale_repair_cost/i18n/fr.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * crm_claim_sale_repair_cost
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-20 09:53+0000\n"
"PO-Revision-Date: 2025-05-20 09:53+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: crm_claim_sale_repair_cost
#: model:ir.model,name:crm_claim_sale_repair_cost.model_crm_claim
msgid "Claim"
msgstr "réclamation"

#. module: crm_claim_sale_repair_cost
#: model_terms:ir.ui.view,arch_db:crm_claim_sale_repair_cost.crm_case_claims_form_view
msgid "Repair type sales order information"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_id
msgid "Sale Repair"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_qty_delivered
msgid "Sale Repair Qty Delivered"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_qty_ordered
msgid "Sale Repair Qty Ordered"
msgstr ""

#. module: crm_claim_sale_repair_cost
#: model:ir.model.fields,field_description:crm_claim_sale_repair_cost.field_crm_claim__sale_repair_cost
msgid "Sale Repair Total Cost"
msgstr ""
1 change: 1 addition & 0 deletions crm_claim_sale_repair_cost/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import crm_claim
56 changes: 56 additions & 0 deletions crm_claim_sale_repair_cost/models/crm_claim.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Copyright 2025 Alfredo de la Fuente - AvanzOSC
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import api, fields, models


class CrmClaim(models.Model):
_inherit = "crm.claim"

sale_repair_id = fields.Many2one(
string="Sale Repair",
comodel_name="sale.order",
copy=False,
store=True,
compute="_compute_sale_repair_id",
)
sale_repair_cost = fields.Float(
string="Sale Repair Total Cost",
digits="Product Price",
copy=False,
store=True,
related="sale_repair_id.sale_order_cost",
)
sale_repair_qty_ordered = fields.Float(
string="Sale Repair Qty Ordered",
digits="Product Unit of Measure",
copy=False,
store=True,
related="sale_repair_id.qty_ordered",
)

sale_repair_qty_delivered = fields.Float(
string="Sale Repair Qty Delivered",
digits="Product Unit of Measure",
copy=False,
store=True,
related="sale_repair_id.qty_delivered",
)

@api.depends("model_ref_id", "ref2", "ref3")
def _compute_sale_repair_id(self):
for claim in self:
sale_repair_id = self.env["sale.order"]
if claim.model_ref_id:
sale_repair_id = claim._search_sale_order_repair_cost(
claim.model_ref_id
)
if not sale_repair_id and claim.ref2:
sale_repair_id = claim._search_sale_order_repair_cost(claim.ref2)
if not sale_repair_id and claim.ref3:
sale_repair_id = claim._search_sale_order_repair_cost(claim.ref3)
claim.sale_repair_id = sale_repair_id

def _search_sale_order_repair_cost(self, modelref):
if str(modelref._name) == "sale.order" and modelref.is_repair:
return modelref.id
return self.env["sale.order"]
3 changes: 3 additions & 0 deletions crm_claim_sale_repair_cost/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"
Loading