Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[14.0][ADD] crm_claim_repair: One to many from claims to reair orders. #95

Open
wants to merge 1 commit into
base: 14.0
Choose a base branch
from
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
29 changes: 29 additions & 0 deletions crm_claim_repair/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
.. 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 Repair
================

* One to many from claims to Repair Orders.

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
------------

* Berezi Amubieta <bereziamubieta@avanzosc.es>
* Alfredo de la Fuente <alfredodelafuente@avanzosc.es>
* Ana Juaristi <anajuaristi@avanzosc.es>
1 change: 1 addition & 0 deletions crm_claim_repair/__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_repair/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright 2021 Berezi Amubieta - AvanzOSC
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
{
"name": "CRM Claim Repair",
'version': '14.0.1.0.0',
"author": "Avanzosc",
"category": "Sales/CRM",
"depends": [
"repair",
"crm_claim",
"crm_claim_usability"
],
"data": [
"views/repair_order_views.xml",
"views/crm_claim_views.xml",
],
"license": "AGPL-3",
'installable': True,
"auto_install": True,
}
58 changes: 58 additions & 0 deletions crm_claim_repair/i18n/crm_claim_repair.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * crm_claim_repair
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-18 13:21+0000\n"
"PO-Revision-Date: 2021-11-18 13:21+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_repair
#: model:ir.model.fields,field_description:crm_claim_repair.field_crm_claim__repair_count
msgid "# Repair Orders"
msgstr ""

#. module: crm_claim_repair
#: model:ir.model,name:crm_claim_repair.model_crm_claim
#: model:ir.model.fields,field_description:crm_claim_repair.field_repair_order__claim_id
msgid "Claim"
msgstr ""

#. module: crm_claim_repair
#: model:ir.model.fields,field_description:crm_claim_repair.field_crm_claim__display_name
#: model:ir.model.fields,field_description:crm_claim_repair.field_repair_order__display_name
msgid "Display Name"
msgstr ""

#. module: crm_claim_repair
#: model:ir.model.fields,field_description:crm_claim_repair.field_crm_claim__id
#: model:ir.model.fields,field_description:crm_claim_repair.field_repair_order__id
msgid "ID"
msgstr ""

#. module: crm_claim_repair
#: model:ir.model.fields,field_description:crm_claim_repair.field_crm_claim____last_update
#: model:ir.model.fields,field_description:crm_claim_repair.field_repair_order____last_update
msgid "Last Modified on"
msgstr ""

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

#. module: crm_claim_repair
#: code:addons/crm_claim_repair/models/crm_claim.py:0
#: model:ir.model.fields,field_description:crm_claim_repair.field_crm_claim__repair_ids
#: model_terms:ir.ui.view,arch_db:crm_claim_repair.crm_case_claims_form_view
#, python-format
msgid "Repair Orders"
msgstr ""
58 changes: 58 additions & 0 deletions crm_claim_repair/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * crm_claim_repair
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-18 13:21+0000\n"
"PO-Revision-Date: 2021-11-18 13:21+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_repair
#: model:ir.model.fields,field_description:crm_claim_repair.field_crm_claim__repair_count
msgid "# Repair Orders"
msgstr "# Órdenes de reparación"

#. module: crm_claim_repair
#: model:ir.model,name:crm_claim_repair.model_crm_claim
#: model:ir.model.fields,field_description:crm_claim_repair.field_repair_order__claim_id
msgid "Claim"
msgstr "Reclamación"

#. module: crm_claim_repair
#: model:ir.model.fields,field_description:crm_claim_repair.field_crm_claim__display_name
#: model:ir.model.fields,field_description:crm_claim_repair.field_repair_order__display_name
msgid "Display Name"
msgstr "Nombre para mostrar"

#. module: crm_claim_repair
#: model:ir.model.fields,field_description:crm_claim_repair.field_crm_claim__id
#: model:ir.model.fields,field_description:crm_claim_repair.field_repair_order__id
msgid "ID"
msgstr "Identificador"

#. module: crm_claim_repair
#: model:ir.model.fields,field_description:crm_claim_repair.field_crm_claim____last_update
#: model:ir.model.fields,field_description:crm_claim_repair.field_repair_order____last_update
msgid "Last Modified on"
msgstr "Última modificación el"

#. module: crm_claim_repair
#: model:ir.model,name:crm_claim_repair.model_repair_order
msgid "Repair Order"
msgstr "Orden de reparación"

#. module: crm_claim_repair
#: code:addons/crm_claim_repair/models/crm_claim.py:0
#: model:ir.model.fields,field_description:crm_claim_repair.field_crm_claim__repair_ids
#: model_terms:ir.ui.view,arch_db:crm_claim_repair.crm_case_claims_form_view
#, python-format
msgid "Repair Orders"
msgstr "Orden de reparación"
2 changes: 2 additions & 0 deletions crm_claim_repair/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import repair_order
from . import crm_claim
29 changes: 29 additions & 0 deletions crm_claim_repair/models/crm_claim.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Copyright 2021 Berezi Amubieta - AvanzOSC
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import models, fields, _


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

def _compute_repair_count(self):
for claim in self:
claim.repair_count = len(claim.repair_ids)

repair_ids = fields.One2many(
string='Repair Orders', comodel_name='repair.order',
inverse_name='claim_id')
repair_count = fields.Integer(
'# Repair Orders', compute='_compute_repair_count')

def action_view_repair(self):
context = self.env.context.copy()
context.update({'default_claim_id': self.id})
return {
'name': _("Repair Orders"),
'view_mode': 'tree,form',
'res_model': 'repair.order',
'domain': [('id', 'in', self.repair_ids.ids)],
'type': 'ir.actions.act_window',
'context': context
}
10 changes: 10 additions & 0 deletions crm_claim_repair/models/repair_order.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Copyright 2021 Berezi Amubieta - AvanzOSC
oihane marked this conversation as resolved.
Show resolved Hide resolved
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import models, fields


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

claim_id = fields.Many2one(
string='Claim', comodel_name='crm.claim')
15 changes: 15 additions & 0 deletions crm_claim_repair/views/crm_claim_views.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>

<odoo>
<record id="crm_case_claims_form_view" model="ir.ui.view">
<field name="model">crm.claim</field>
<field name="inherit_id" ref="crm_claim.crm_case_claims_form_view"/>
<field name="arch" type="xml">
<div name="button_box" position="inside">
<button class="oe_stat_button" icon="fa-wrench" type="object" name="action_view_repair">
<field string="Repair Orders" name="repair_count" widget="statinfo"/>
</button>
</div>
</field>
</record>
</odoo>
13 changes: 13 additions & 0 deletions crm_claim_repair/views/repair_order_views.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>

<odoo>
<record id="view_repair_order_form" model="ir.ui.view">
<field name="model">repair.order</field>
<field name="inherit_id" ref="repair.view_repair_order_form"/>
<field name="arch" type="xml">
<field name="user_id" position="after">
<field name="claim_id" domain="['|', ('partner_id','=', False), ('partner_id', '=', partner_id)]"/>
</field>
</field>
</record>
</odoo>
Loading