mirror of
https://github.com/OCA/rma.git
synced 2025-02-16 17:11:47 +02:00
Merge pull request #142 from murtuzasaleh/product_warranty_v12
[MIG][12.0] product_warranty
This commit is contained in:
121
product_warranty/README.rst
Normal file
121
product_warranty/README.rst
Normal file
@@ -0,0 +1,121 @@
|
||||
================
|
||||
Product Warranty
|
||||
================
|
||||
|
||||
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! This file is generated by oca-gen-addon-readme !!
|
||||
!! changes will be overwritten. !!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
|
||||
:target: https://odoo-community.org/page/development-status
|
||||
:alt: Production/Stable
|
||||
.. |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%2Frma-lightgray.png?logo=github
|
||||
:target: https://github.com/OCA/rma/tree/12.0/product_warranty
|
||||
:alt: OCA/rma
|
||||
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
|
||||
:target: https://translation.odoo-community.org/projects/rma-12-0/rma-12-0-product_warranty
|
||||
:alt: Translate me on Weblate
|
||||
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
|
||||
:target: https://runbot.odoo-community.org/runbot/145/12.0
|
||||
:alt: Try me on Runbot
|
||||
|
||||
|badge1| |badge2| |badge3| |badge4| |badge5|
|
||||
|
||||
Extends the product warranty management with warranty details on product /
|
||||
supplier relation:
|
||||
|
||||
* Supplier warranty duration
|
||||
* Set default return address for company (if different from standard one)
|
||||
* Whether to return product to company, supplier, other
|
||||
|
||||
**Table of contents**
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
The new information is not explicitly used by the system until you install
|
||||
another module that makes use of it, e.g. RMA Claim (Product Return
|
||||
Management).
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
|
||||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/rma/issues>`_.
|
||||
In case of trouble, please check there if your issue has already been reported.
|
||||
If you spotted it first, help us smashing it by providing a detailed and welcomed
|
||||
`feedback <https://github.com/OCA/rma/issues/new?body=module:%20product_warranty%0Aversion:%2011.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
|
||||
~~~~~~~
|
||||
|
||||
* Akretion
|
||||
* Vauxoo
|
||||
|
||||
Contributors
|
||||
~~~~~~~~~~~~
|
||||
|
||||
* Emmanuel Samyn <esamyn@gmail.com>
|
||||
* Paulius Sladkevičius <paulius@inovera.lt>
|
||||
* Benoît Guillot <benoit.guillot@akretion.com.br>
|
||||
* David Beal <david.beal@akretion.com>
|
||||
* Maxime Chambreuil <maxime.chambreuil@savoirfairelinux.com>
|
||||
* Joël Grand-Guillaume <joel.grandguillaume@gmail.com>
|
||||
* Ondřej Kuzník <ondrej.kuznik@credativ.co.uk>
|
||||
* Yanina Aular <yanina.aular@vauxoo.com>
|
||||
* Cyril Gaudin <cyril.gaudin@camptocamp.com>
|
||||
* Bima Jati Wijaya <bimajatiwijaya@gmail.com>
|
||||
* Serpent Consulting Services Pvt. Ltd. <support@serpentcs.com>
|
||||
|
||||
Other credits
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
This module has been financially supported by:
|
||||
|
||||
* Inovera <https://www.inovera.lt>
|
||||
* Akretion Brazil <https://www.akretion.com.br>
|
||||
* Akretion <https://www.akretion.com>
|
||||
* Savoir-faire Linux <https://www.savoirfairelinux.com>
|
||||
* Credativ <https://www.credativ.co.uk>
|
||||
* Vauxoo <https://www.vauxoo.com>
|
||||
* Camp 2 Camp <https://camptocamp.com>
|
||||
* Open Source Integrators <https://www.opensourceintegrators.com>
|
||||
|
||||
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-osi-scampbell| image:: https://github.com/osi-scampbell.png?size=40px
|
||||
:target: https://github.com/osi-scampbell
|
||||
:alt: osi-scampbell
|
||||
.. |maintainer-max3903| image:: https://github.com/max3903.png?size=40px
|
||||
:target: https://github.com/max3903
|
||||
:alt: max3903
|
||||
|
||||
Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:
|
||||
|
||||
|maintainer-osi-scampbell| |maintainer-max3903|
|
||||
|
||||
This module is part of the `OCA/rma <https://github.com/OCA/rma/tree/12.0/product_warranty>`_ project on GitHub.
|
||||
|
||||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
|
||||
3
product_warranty/__init__.py
Normal file
3
product_warranty/__init__.py
Normal file
@@ -0,0 +1,3 @@
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from . import models
|
||||
30
product_warranty/__manifest__.py
Normal file
30
product_warranty/__manifest__.py
Normal file
@@ -0,0 +1,30 @@
|
||||
# Copyright (C) 2009-2011 Akretion, Emmanuel Samyn
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
{
|
||||
'name': 'Product Warranty',
|
||||
'version': '12.0.1.0.0',
|
||||
'category': 'Generic Modules/Product',
|
||||
'author': 'Akretion, Vauxoo, Odoo Community Association (OCA)',
|
||||
'website': 'https://github.com/OCA/rma',
|
||||
'license': 'AGPL-3',
|
||||
'depends': [
|
||||
'sale_management',
|
||||
],
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
'views/res_company.xml',
|
||||
'views/product_warranty.xml',
|
||||
'views/product_template.xml'
|
||||
],
|
||||
'demo': [
|
||||
'demo/product_warranty.xml',
|
||||
'demo/res_company.xml',
|
||||
],
|
||||
'images': ['images/product_warranty.png'],
|
||||
'development_status': 'Production/Stable',
|
||||
'maintainers': [
|
||||
'osi-scampbell',
|
||||
'max3903',
|
||||
]
|
||||
}
|
||||
81
product_warranty/demo/product_warranty.xml
Normal file
81
product_warranty/demo/product_warranty.xml
Normal file
@@ -0,0 +1,81 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo noupdate="1">
|
||||
|
||||
<record id="return_instruction_1" model="return.instruction">
|
||||
<field name="name">Default Instruction</field>
|
||||
<field name="instructions">To return a product purchased through our
|
||||
platform vendor Marketplace access our online Returns Center and
|
||||
click Return products to begin the application process for the
|
||||
return.
|
||||
Select the product you want to return and the reason for the
|
||||
return. You will need you to provide detailed information to enable
|
||||
the seller to handle your request. Once the seller has reviewed
|
||||
your application, it will respond by e-mail within 3 working days.
|
||||
</field>
|
||||
<field name="is_default">1</field>
|
||||
</record>
|
||||
|
||||
<record id="return_instruction_2" model="return.instruction">
|
||||
<field name="name">Provisional Instruction</field>
|
||||
<field name="instructions">Under the provisions of these Conditions of
|
||||
Sale, you may return the products received once you have contacted
|
||||
our customer service department adidas Mexico and the request is
|
||||
authorized. If you choose to return your order, we will refund: the
|
||||
full purchase price, as long as we have previously returned the
|
||||
products you order in perfect condition: (i) new product unused,
|
||||
(ii) with packaging, original box and tags (iii) be in the period
|
||||
of 30 calendar days after receiving the product. If you do not
|
||||
return the products to fulfill the above conditions, we are
|
||||
entitled to charge the products or the costs of recovery.
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Warranty Information of PC Assemble SC234 Product in Supplier Info -->
|
||||
<record id="product.product_product_3_product_template"
|
||||
model="product.template">
|
||||
<field name="warranty">5</field>
|
||||
</record>
|
||||
|
||||
<record id="product_supplierinfo_warranty_31" model="product.supplierinfo">
|
||||
<field name="return_instructions" ref="return_instruction_2"/>
|
||||
<field name="warranty_return_partner">other</field>
|
||||
<field name="warranty_return_other_address"
|
||||
ref="base.res_partner_address_7"/>
|
||||
<field name="warranty_duration">8</field>
|
||||
<field name="product_tmpl_id"
|
||||
ref="product.product_product_3_product_template"/>
|
||||
<field name="name" ref="base.res_partner_4"/>
|
||||
<field name="delay">5</field>
|
||||
<field name="min_qty">1</field>
|
||||
</record>
|
||||
|
||||
<record id="product_supplierinfo_warranty_32" model="product.supplierinfo">
|
||||
<field name="return_instructions" ref="return_instruction_1"/>
|
||||
<field name="warranty_return_partner">supplier</field>
|
||||
<field name="warranty_duration">12</field>
|
||||
<field name="product_tmpl_id"
|
||||
ref="product.product_product_3_product_template"/>
|
||||
<field name="name" ref="base.res_partner_3"/>
|
||||
<field name="delay">5</field>
|
||||
<field name="min_qty">1</field>
|
||||
</record>
|
||||
|
||||
<!-- Warranty Information of iMac Product in Supplier Info -->
|
||||
<record id="product.product_product_8_product_template"
|
||||
model="product.template">
|
||||
<field name="warranty">5</field>
|
||||
</record>
|
||||
|
||||
<record id="product.product_supplierinfo_5" model="product.supplierinfo">
|
||||
<field name="return_instructions" ref="return_instruction_1"/>
|
||||
<field name="warranty_return_partner">supplier</field>
|
||||
<field name="warranty_duration">10</field>
|
||||
</record>
|
||||
|
||||
<record id="product.product_supplierinfo_6" model="product.supplierinfo">
|
||||
<field name="return_instructions" ref="return_instruction_2"/>
|
||||
<field name="warranty_return_partner">supplier</field>
|
||||
<field name="warranty_duration">6</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
8
product_warranty/demo/res_company.xml
Normal file
8
product_warranty/demo/res_company.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo noupdate="1">
|
||||
|
||||
<record id="base.main_company" model="res.company">
|
||||
<field name="crm_return_address_id" ref="base.res_partner_main1"/>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
294
product_warranty/i18n/es.po
Normal file
294
product_warranty/i18n/es.po
Normal file
@@ -0,0 +1,294 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * product_warranty
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: product_warranty.es\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2013-11-21 15:06+0000\n"
|
||||
"PO-Revision-Date: 2014-01-22 19:43+0000\n"
|
||||
"Last-Translator: Pedro Manuel Baeza <pedro.baeza@gmail.com>\n"
|
||||
"Language-Team: Domatix Technologies\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-05-24 06:50+0000\n"
|
||||
"X-Generator: Launchpad (build 17017)\n"
|
||||
"Language: es_ES\n"
|
||||
"X-Poedit-SourceCharset: utf-8\n"
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model.fields,field_description:product_warranty.field_product_supplierinfo_warranty_return_address
|
||||
#: model:ir.model.fields,field_description:product_warranty.field_product_supplierinfo_warranty_return_other_address_id
|
||||
#: field:product.supplierinfo,warranty_return_address:0
|
||||
#: field:product.supplierinfo,warranty_return_other_address_id:0
|
||||
msgid "Return address"
|
||||
msgstr "Dirección de devolución"
|
||||
|
||||
#. module: product_warranty
|
||||
#: view:product.supplierinfo:0
|
||||
msgid "Warranty informations"
|
||||
msgstr "Información de garantía"
|
||||
|
||||
#. module: product_warranty
|
||||
#: help:product.supplierinfo,warranty_return_partner:0
|
||||
msgid ""
|
||||
"Who is in charge of the warranty return treatment toward the end customer. "
|
||||
"Company will use the current company delivery or default address and so on "
|
||||
"for supplier and brand manufacturer. Doesn't necessarily mean that the "
|
||||
"warranty to be applied is the one of the return partner (i.e. can be returned "
|
||||
"to the company and be under the brand warranty"
|
||||
msgstr ""
|
||||
"Especifica quién es el responsable del tratamiento de la devolución de "
|
||||
"garantía para el cliente final. La compañía utilizará la dirección por "
|
||||
"defecto o la dirección de envío de la compañía, y así sucesivamente por "
|
||||
"proveedor y marca del fabricante. No significa necesariamente que la "
|
||||
"garantía que se aplica es el de la empresa que hace la devolución (es decir: "
|
||||
"se puede devolver a la empresa y estar bajo la garantía de la marca)"
|
||||
|
||||
#. module: product_warranty
|
||||
#: help:product.supplierinfo,warranty_return_other_address_id:0
|
||||
msgid ""
|
||||
"Where the customer has to send back the product(s) if warranty return is "
|
||||
"set to 'other'."
|
||||
msgstr ""
|
||||
"Dónde debe enviar el cliente de vuelta el/los producto/s si la garantía de "
|
||||
"devolución se establece a 'otra'."
|
||||
|
||||
#. module: product_warranty
|
||||
#: help:product.supplierinfo,warranty_duration:0
|
||||
msgid ""
|
||||
"Warranty in month for this product/supplier relation. Only for "
|
||||
"company/supplier relation (purchase order) ; the customer/company relation "
|
||||
"(sale order) always use the product main warranty field"
|
||||
msgstr ""
|
||||
"Garantía en meses para este producto/proveedor. Únicamente para relaciones "
|
||||
"empresa/proveedor (Orden de compra); la relación cliente/proveedor (Orden de "
|
||||
"venta) usa siempre el campo garantía de la ficha de producto."
|
||||
|
||||
#. module: product_warranty
|
||||
#: view:res.company:0
|
||||
msgid "Crm product return address"
|
||||
msgstr "Dirección de devolución del producto"
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model,name:product_warranty.model_return_instruction
|
||||
#: help:product.supplierinfo,return_instructions:0
|
||||
#: help:return.instruction,instructions:0
|
||||
msgid "Instructions for product return"
|
||||
msgstr "Instrucciones para la devolución del producto"
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model.fields,field_description:product_warranty.field_product_supplierinfo_warranty_duration
|
||||
#: field:product.supplierinfo,warranty_duration:0
|
||||
msgid "Period"
|
||||
msgstr "Periodo"
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model.fields,field_description:product_warranty.field_return_instruction_name
|
||||
#: field:return.instruction,name:0
|
||||
msgid "Title"
|
||||
msgstr "Título"
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model,name:product_warranty.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Compañías"
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model.fields,field_description:product_warranty.field_product_supplierinfo_active_supplier
|
||||
#: field:product.supplierinfo,active_supplier:0
|
||||
msgid "Active supplier"
|
||||
msgstr "Proveedor activo"
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model.fields,field_description:product_warranty.field_return_instruction_is_default
|
||||
#: field:return.instruction,is_default:0
|
||||
msgid "Is default"
|
||||
msgstr "Por defecto"
|
||||
|
||||
#. module: product_warranty
|
||||
#: help:product.supplierinfo,warranty_return_address:0
|
||||
msgid ""
|
||||
"Where the goods should be returned (computed field based on other infos.)"
|
||||
msgstr ""
|
||||
"Dónde se devolverán los bienes (campo calculado basado en otra información)."
|
||||
|
||||
#. module: product_warranty
|
||||
#: help:return.instruction,is_default:0
|
||||
msgid ""
|
||||
"If is default, will be use to set the default value in supplier infos. Be "
|
||||
"careful to have only one default"
|
||||
msgstr ""
|
||||
"Si es por defecto, se usará para establecer el valor por defecto en la "
|
||||
"información del proveedor. Tenga cuidado de tener sólo un por defecto."
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.actions.act_window,name:product_warranty.product_return_instructions_action
|
||||
#: model:ir.ui.menu,name:product_warranty.menu_product_return_instructions_action
|
||||
msgid "Products return instructions"
|
||||
msgstr "Instrucciones de devolución de los productos"
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model,name:product_warranty.model_product_supplierinfo
|
||||
msgid "Information about a product supplier"
|
||||
msgstr "Información sobre un proveedor de producto"
|
||||
|
||||
#. module: product_warranty
|
||||
#: help:product.supplierinfo,active_supplier:0
|
||||
msgid "Is this supplier still active, only for information"
|
||||
msgstr "Indica si el proveedor todavía está activo. Sólo para información."
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model.fields,field_description:product_warranty.field_product_supplierinfo_warranty_return_partner
|
||||
#: field:product.supplierinfo,warranty_return_partner:0
|
||||
msgid "Return type"
|
||||
msgstr "Tipo de devolución"
|
||||
|
||||
#. module: product_warranty
|
||||
#: view:return.instruction:0
|
||||
msgid "Return instructions"
|
||||
msgstr "Instrucciones de devolución"
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model.fields,field_description:product_warranty.field_product_supplierinfo_return_instructions
|
||||
#: model:ir.model.fields,field_description:product_warranty.field_return_instruction_instructions
|
||||
#: field:product.supplierinfo,return_instructions:0
|
||||
#: view:return.instruction:0
|
||||
#: field:return.instruction,instructions:0
|
||||
msgid "Instructions"
|
||||
msgstr "Instrucciones"
|
||||
|
||||
#. module: product_warranty
|
||||
#: field:product.supplierinfo,active_supplier:0
|
||||
msgid "Active supplier"
|
||||
msgstr "Proveedor activo"
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model,name:product_warranty.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Compañías"
|
||||
|
||||
#. module: product_warranty
|
||||
#: field:return.instruction,create_uid:0
|
||||
msgid "Created by"
|
||||
msgstr "Creado por"
|
||||
|
||||
#. module: product_warranty
|
||||
#: field:return.instruction,create_date:0
|
||||
msgid "Created on"
|
||||
msgstr "Creado en"
|
||||
|
||||
#. module: product_warranty
|
||||
#: view:res.company:product_warranty.company_form
|
||||
msgid "Crm product return address"
|
||||
msgstr "Dirección de devolución del producto"
|
||||
|
||||
#. module: product_warranty
|
||||
#: help:res.company,crm_return_address_id:0
|
||||
msgid "Default address where the customers has to send back the returned product. If empty, the address is the company address"
|
||||
msgstr "Dirección por defecto donde los clientes deben enviar de regresa los productos devueltos. Si está vacío, la dirección es la dirección de la compañía"
|
||||
|
||||
#. module: product_warranty
|
||||
#: field:return.instruction,id:0
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: product_warranty
|
||||
#: help:return.instruction,is_default:0
|
||||
msgid "If is default, will be use to set the default value in supplier infos. Be careful to have only one default"
|
||||
msgstr "Si es por defecto, se usará para establecer el valor por defecto en la información del proveedor. Tenga cuidado de tener sólo un por defecto."
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model,name:product_warranty.model_product_supplierinfo
|
||||
msgid "Information about a product supplier"
|
||||
msgstr "Información sobre un proveedor de producto"
|
||||
|
||||
#. module: product_warranty
|
||||
#: field:product.supplierinfo,return_instructions:0
|
||||
#: view:return.instruction:product_warranty.product_return_instructions_form_view
|
||||
#: field:return.instruction,instructions:0
|
||||
msgid "Instructions"
|
||||
msgstr "Instrucciones"
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model,name:product_warranty.model_return_instruction
|
||||
#: help:product.supplierinfo,return_instructions:0
|
||||
#: help:return.instruction,instructions:0
|
||||
msgid "Instructions for product return"
|
||||
msgstr "Instrucciones para la devolución del producto"
|
||||
|
||||
#. module: product_warranty
|
||||
#: field:return.instruction,is_default:0
|
||||
msgid "Is default"
|
||||
msgstr "Por defecto"
|
||||
|
||||
#. module: product_warranty
|
||||
#: help:product.supplierinfo,active_supplier:0
|
||||
msgid "Is this supplier still active, only for information"
|
||||
msgstr "Indica si el proveedor todavía está activo. Sólo para información."
|
||||
|
||||
#. module: product_warranty
|
||||
#: field:return.instruction,write_uid:0
|
||||
msgid "Last Updated by"
|
||||
msgstr "Last Updated by"
|
||||
|
||||
#. module: product_warranty
|
||||
#: field:return.instruction,write_date:0
|
||||
msgid "Last Updated on"
|
||||
msgstr "Last Updated on"
|
||||
|
||||
#. module: product_warranty
|
||||
#: field:product.supplierinfo,warranty_duration:0
|
||||
msgid "Period"
|
||||
msgstr "Periodo"
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.actions.act_window,name:product_warranty.product_return_instructions_action
|
||||
#: model:ir.ui.menu,name:product_warranty.menu_product_return_instructions_action
|
||||
msgid "Products Return Instructions"
|
||||
msgstr "Intrucciones para devolución de productos"
|
||||
|
||||
#. module: product_warranty
|
||||
#: field:product.supplierinfo,warranty_return_other_address:0
|
||||
#: field:res.company,crm_return_address_id:0
|
||||
msgid "Return address"
|
||||
msgstr "Dirección de retorno"
|
||||
|
||||
#. module: product_warranty
|
||||
#: view:return.instruction:product_warranty.product_return_instructions_form_view
|
||||
#: view:return.instruction:product_warranty.product_return_instructions_tree_view
|
||||
msgid "Return instructions"
|
||||
msgstr "Instrucciones de devolución"
|
||||
|
||||
#. module: product_warranty
|
||||
#: field:product.supplierinfo,warranty_return_partner:0
|
||||
msgid "Return type"
|
||||
msgstr "Tipo de devolución"
|
||||
|
||||
#. module: product_warranty
|
||||
#: field:return.instruction,name:0
|
||||
msgid "Title"
|
||||
msgstr "Título"
|
||||
|
||||
#. module: product_warranty
|
||||
#: help:product.supplierinfo,warranty_duration:0
|
||||
msgid "Warranty in month for this product/supplier relation. Only for company/supplier relation (purchase order) ; the customer/company relation (sale order) always use the product main warranty field"
|
||||
msgstr "Garantía en meses para la relación producto/proveedor. Sólo para la relación producto/compañía (orden de compra); la relación cliente/compañía (orden de venta) siempre usa el producto principal para el campo garantía"
|
||||
|
||||
#. module: product_warranty
|
||||
#: view:product.supplierinfo:product_warranty.product_supplierinfo_warranty_form_view
|
||||
msgid "Warranty informations"
|
||||
msgstr "Información de garantía"
|
||||
|
||||
#. module: product_warranty
|
||||
#: help:product.supplierinfo,warranty_return_other_address:0
|
||||
msgid "Where the customer has to send back the product(s) if warranty return is set to 'other'."
|
||||
msgstr "Donde el cliente debe enviar el producto si la garantía es 'otros'"
|
||||
|
||||
#. module: product_warranty
|
||||
#: help:product.supplierinfo,warranty_return_partner:0
|
||||
msgid "Who is in charge of the warranty return treatment toward the end customer. Company will use the current compagny delivery or default address and so on for supplier and brand manufacturer. Doesn't necessarly mean that the warranty to be applied is the one of the return partner (ie: can be returned to the company and be under the brand warranty"
|
||||
msgstr "Quién se encarga del tratamiento de retorno de garantía hacia el cliente final. Compañía utilizará la entrega compagny actual o la dirección por defecto y así sucesivamente para el proveedor y el fabricante de la marca. No significa necessarly que la garantía que se aplica es el de la pareja de retorno (es decir: pueden ser devueltos a la empresa y estar bajo la garantía de la marca"
|
||||
|
||||
16
product_warranty/i18n/es_MX.po
Normal file
16
product_warranty/i18n/es_MX.po
Normal file
@@ -0,0 +1,16 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * product_warranty
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 8.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-07-17 20:41+0000\n"
|
||||
"PO-Revision-Date: 2015-07-17 20:41+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"
|
||||
16
product_warranty/i18n/es_PA.po
Normal file
16
product_warranty/i18n/es_PA.po
Normal file
@@ -0,0 +1,16 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * product_warranty
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 8.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-07-17 20:41+0000\n"
|
||||
"PO-Revision-Date: 2015-07-17 20:41+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"
|
||||
16
product_warranty/i18n/es_VE.po
Normal file
16
product_warranty/i18n/es_VE.po
Normal file
@@ -0,0 +1,16 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * product_warranty
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 8.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-07-17 20:41+0000\n"
|
||||
"PO-Revision-Date: 2015-07-17 20:41+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"
|
||||
155
product_warranty/i18n/fr.po
Normal file
155
product_warranty/i18n/fr.po
Normal file
@@ -0,0 +1,155 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * product_warranty
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0.2\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2013-11-21 15:06+0000\n"
|
||||
"PO-Revision-Date: 2014-01-22 19:17+0000\n"
|
||||
"Last-Translator: Joël Grand-Guillaume @ camptocamp "
|
||||
"<joel.grandguillaume@camptocamp.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2014-05-24 06:50+0000\n"
|
||||
"X-Generator: Launchpad (build 17017)\n"
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model.fields,field_description:product_warranty.field_product_supplierinfo_warranty_return_address
|
||||
#: model:ir.model.fields,field_description:product_warranty.field_product_supplierinfo_warranty_return_other_address_id
|
||||
#: field:product.supplierinfo,warranty_return_address:0
|
||||
#: field:product.supplierinfo,warranty_return_other_address_id:0
|
||||
msgid "Return address"
|
||||
msgstr ""
|
||||
|
||||
#. module: product_warranty
|
||||
#: view:product.supplierinfo:0
|
||||
msgid "Warranty informations"
|
||||
msgstr ""
|
||||
|
||||
#. module: product_warranty
|
||||
#: help:product.supplierinfo,warranty_return_partner:0
|
||||
msgid ""
|
||||
"Who is in charge of the warranty return treatment toward the end customer. "
|
||||
"Company will use the current company delivery or default address and so on "
|
||||
"for supplier and brand manufacturer. Doesn't necessarily mean that the "
|
||||
"warranty to be applied is the one of the return partner (i.e. can be returned "
|
||||
"to the company and be under the brand warranty"
|
||||
msgstr ""
|
||||
"Indique qui est en charge du traitement du retour garantie envers le client "
|
||||
"final. L'entreprise utilise l'adresse de livraison, et sinon l'adresse par "
|
||||
"défaut. Il en va de même pour les options fournisseur ou fabricant. Ce champ "
|
||||
"n'implique pas forcément que la garantie qui va s'appliquer est celle de "
|
||||
"celui qui gère le retour."
|
||||
|
||||
#. module: product_warranty
|
||||
#: help:product.supplierinfo,warranty_return_other_address_id:0
|
||||
msgid ""
|
||||
"Where the customer has to send back the product(s) if warranty return is "
|
||||
"set to 'other'."
|
||||
msgstr ""
|
||||
|
||||
#. module: product_warranty
|
||||
#: help:product.supplierinfo,warranty_duration:0
|
||||
msgid ""
|
||||
"Warranty in month for this product/supplier relation. Only for "
|
||||
"company/supplier relation (purchase order) ; the customer/company relation "
|
||||
"(sale order) always use the product main warranty field"
|
||||
msgstr ""
|
||||
"Garantie en nombre de mois pour ce fournisseur. Uniquement pour la relation "
|
||||
"entreprise/fournisseur (commandes d'achat) ; La relation entreprise/client "
|
||||
"(commandes de vente) utilise toujours le champ de garantie de la fiche "
|
||||
"produit"
|
||||
|
||||
#. module: product_warranty
|
||||
#: view:res.company:0
|
||||
msgid "Crm product return address"
|
||||
msgstr ""
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model,name:product_warranty.model_return_instruction
|
||||
#: help:product.supplierinfo,return_instructions:0
|
||||
#: help:return.instruction,instructions:0
|
||||
msgid "Instructions for product return"
|
||||
msgstr ""
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model.fields,field_description:product_warranty.field_product_supplierinfo_warranty_duration
|
||||
#: field:product.supplierinfo,warranty_duration:0
|
||||
msgid "Period"
|
||||
msgstr ""
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model.fields,field_description:product_warranty.field_return_instruction_name
|
||||
#: field:return.instruction,name:0
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model,name:product_warranty.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr ""
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model.fields,field_description:product_warranty.field_product_supplierinfo_active_supplier
|
||||
#: field:product.supplierinfo,active_supplier:0
|
||||
msgid "Active supplier"
|
||||
msgstr "Fournisseur actif"
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model.fields,field_description:product_warranty.field_return_instruction_is_default
|
||||
#: field:return.instruction,is_default:0
|
||||
msgid "Is default"
|
||||
msgstr ""
|
||||
|
||||
#. module: product_warranty
|
||||
#: help:product.supplierinfo,warranty_return_address:0
|
||||
msgid ""
|
||||
"Where the goods should be returned (computed field based on other infos.)"
|
||||
msgstr ""
|
||||
|
||||
#. module: product_warranty
|
||||
#: help:return.instruction,is_default:0
|
||||
msgid ""
|
||||
"If is default, will be use to set the default value in supplier infos. Be "
|
||||
"careful to have only one default"
|
||||
msgstr ""
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.actions.act_window,name:product_warranty.product_return_instructions_action
|
||||
#: model:ir.ui.menu,name:product_warranty.menu_product_return_instructions_action
|
||||
msgid "Products return instructions"
|
||||
msgstr ""
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model,name:product_warranty.model_product_supplierinfo
|
||||
msgid "Information about a product supplier"
|
||||
msgstr "Information sur le fournisseur du produit"
|
||||
|
||||
#. module: product_warranty
|
||||
#: help:product.supplierinfo,active_supplier:0
|
||||
msgid "Is this supplier still active, only for information"
|
||||
msgstr ""
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model.fields,field_description:product_warranty.field_product_supplierinfo_warranty_return_partner
|
||||
#: field:product.supplierinfo,warranty_return_partner:0
|
||||
msgid "Return type"
|
||||
msgstr ""
|
||||
|
||||
#. module: product_warranty
|
||||
#: view:return.instruction:0
|
||||
msgid "Return instructions"
|
||||
msgstr ""
|
||||
|
||||
#. module: product_warranty
|
||||
#: model:ir.model.fields,field_description:product_warranty.field_product_supplierinfo_return_instructions
|
||||
#: model:ir.model.fields,field_description:product_warranty.field_return_instruction_instructions
|
||||
#: field:product.supplierinfo,return_instructions:0
|
||||
#: view:return.instruction:0
|
||||
#: field:return.instruction,instructions:0
|
||||
msgid "Instructions"
|
||||
msgstr ""
|
||||
BIN
product_warranty/images/product_warranty.png
Normal file
BIN
product_warranty/images/product_warranty.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 83 KiB |
8
product_warranty/models/__init__.py
Normal file
8
product_warranty/models/__init__.py
Normal file
@@ -0,0 +1,8 @@
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from . import (
|
||||
return_instruction,
|
||||
product_supplierinfo,
|
||||
res_company,
|
||||
product_template
|
||||
)
|
||||
69
product_warranty/models/product_supplierinfo.py
Normal file
69
product_warranty/models/product_supplierinfo.py
Normal file
@@ -0,0 +1,69 @@
|
||||
# © 2016 Cyril Gaudin (Camptocamp)
|
||||
# © 2015 Vauxoo
|
||||
# © 2009-2011 Akretion, Emmanuel Samyn, Benoît Guillot
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class ProductSupplierInfo(models.Model):
|
||||
_inherit = "product.supplierinfo"
|
||||
|
||||
@api.model
|
||||
def _get_default_instructions(self):
|
||||
""" Get selected lines to add to exchange """
|
||||
return self.env['return.instruction']\
|
||||
.search([('is_default', '=', True)], limit=1)
|
||||
|
||||
@api.depends('warranty_return_partner')
|
||||
def _compute_warranty_return_address(self):
|
||||
""" Method to return the partner delivery address or if none, the
|
||||
default address
|
||||
"""
|
||||
for record in self:
|
||||
return_partner = record.warranty_return_partner
|
||||
partner_id = record.company_id.partner_id.id
|
||||
if return_partner and return_partner == 'supplier':
|
||||
partner_id = record.name.id
|
||||
elif return_partner and return_partner == 'company' and \
|
||||
record.company_id.crm_return_address_id:
|
||||
partner_id = record.company_id.crm_return_address_id.id
|
||||
elif return_partner and return_partner == 'other' and \
|
||||
record.warranty_return_other_address:
|
||||
partner_id = record.warranty_return_other_address.id
|
||||
record.warranty_return_address = partner_id
|
||||
|
||||
warranty_duration = fields.Float(
|
||||
'Period',
|
||||
help="Warranty in month for this product/supplier relation. Only "
|
||||
"for company/supplier relation (purchase order) ; the "
|
||||
"customer/company relation (sale order) always use the "
|
||||
"product main warranty field.")
|
||||
warranty_return_partner = fields.Selection(
|
||||
[('company', 'Company'), ('supplier', 'Supplier'), ('other', 'Other')],
|
||||
string='Return type', required=True, default='company',
|
||||
help="Who is in charge of the warranty return treatment toward the "
|
||||
"end customer. Company will use the current company "
|
||||
"delivery or default address and so on for supplier and "
|
||||
"brand manufacturer. Doesn't necessarily mean that the "
|
||||
"warranty to be applied is the one of the return partner "
|
||||
"(ie: can be returned to the company and be under the "
|
||||
"brand warranty).")
|
||||
return_instructions = fields.Many2one(
|
||||
'return.instruction',
|
||||
'Instructions',
|
||||
default=_get_default_instructions,
|
||||
help="Instructions for product return.")
|
||||
active_supplier = fields.Boolean(
|
||||
help="Is this supplier still active, only for information.")
|
||||
warranty_return_address = fields.Many2one(
|
||||
'res.partner',
|
||||
compute='_compute_warranty_return_address',
|
||||
string="Return address",
|
||||
help="Where the goods should be returned "
|
||||
"(computed field based on other infos.)")
|
||||
warranty_return_other_address = fields.Many2one(
|
||||
'res.partner',
|
||||
string='Return other address',
|
||||
help="Where the customer has to send back the product(s) "
|
||||
"if warranty return is set to 'other'.")
|
||||
16
product_warranty/models/product_template.py
Normal file
16
product_warranty/models/product_template.py
Normal file
@@ -0,0 +1,16 @@
|
||||
# Copyright (C) 2018 - TODAY, Open Source Integrators
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class ProductTemplate(models.Model):
|
||||
_inherit = "product.template"
|
||||
|
||||
warranty = fields.Integer(string='Warranty Duration')
|
||||
warranty_type = fields.Selection([('day', 'Day(s)'),
|
||||
('week', 'Week(s)'),
|
||||
('month', 'Month(s)'),
|
||||
('year', 'Year(s)')],
|
||||
string='Warranty Type',
|
||||
required=True, default='day')
|
||||
16
product_warranty/models/res_company.py
Normal file
16
product_warranty/models/res_company.py
Normal file
@@ -0,0 +1,16 @@
|
||||
# © 2016 Joel Grand-Guillaume, Cyril Gaudin (Camptocamp)
|
||||
# © 2009-2013 Akretion, Emmanuel Samyn, Raphaël Valyi, Sébastien Beau
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class ResCompany(models.Model):
|
||||
_inherit = "res.company"
|
||||
|
||||
crm_return_address_id = fields.Many2one(
|
||||
'res.partner',
|
||||
string='Return address',
|
||||
help="Default address where the customers has to send back the "
|
||||
"returned product. If empty, the address is the "
|
||||
"company address.")
|
||||
21
product_warranty/models/return_instruction.py
Normal file
21
product_warranty/models/return_instruction.py
Normal file
@@ -0,0 +1,21 @@
|
||||
# © 2016 Cyril Gaudin (Camptocamp)
|
||||
# © 2015 Vauxoo
|
||||
# © 2009-2011 Akretion, Emmanuel Samyn, Benoît Guillot
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class ReturnInstruction(models.Model):
|
||||
_name = "return.instruction"
|
||||
_description = "Instructions for product return"
|
||||
|
||||
name = fields.Char('Title', required=True)
|
||||
instructions = fields.Text(
|
||||
'Instructions',
|
||||
help="Instructions for product return.")
|
||||
is_default = fields.Boolean('Is default',
|
||||
help="If is default, will be use "
|
||||
"to set the default value in "
|
||||
"supplier info's. Be careful to "
|
||||
"have only one default.")
|
||||
11
product_warranty/readme/CONTRIBUTORS.rst
Normal file
11
product_warranty/readme/CONTRIBUTORS.rst
Normal file
@@ -0,0 +1,11 @@
|
||||
* Emmanuel Samyn <esamyn@gmail.com>
|
||||
* Paulius Sladkevičius <paulius@inovera.lt>
|
||||
* Benoît Guillot <benoit.guillot@akretion.com.br>
|
||||
* David Beal <david.beal@akretion.com>
|
||||
* Maxime Chambreuil <maxime.chambreuil@savoirfairelinux.com>
|
||||
* Joël Grand-Guillaume <joel.grandguillaume@gmail.com>
|
||||
* Ondřej Kuzník <ondrej.kuznik@credativ.co.uk>
|
||||
* Yanina Aular <yanina.aular@vauxoo.com>
|
||||
* Cyril Gaudin <cyril.gaudin@camptocamp.com>
|
||||
* Bima Jati Wijaya <bimajatiwijaya@gmail.com>
|
||||
* Serpent Consulting Services Pvt. Ltd. <support@serpentcs.com>
|
||||
10
product_warranty/readme/CREDITS.rst
Normal file
10
product_warranty/readme/CREDITS.rst
Normal file
@@ -0,0 +1,10 @@
|
||||
This module has been financially supported by:
|
||||
|
||||
* Inovera <https://www.inovera.lt>
|
||||
* Akretion Brazil <https://www.akretion.com.br>
|
||||
* Akretion <https://www.akretion.com>
|
||||
* Savoir-faire Linux <https://www.savoirfairelinux.com>
|
||||
* Credativ <https://www.credativ.co.uk>
|
||||
* Vauxoo <https://www.vauxoo.com>
|
||||
* Camp 2 Camp <https://camptocamp.com>
|
||||
* Open Source Integrators <https://www.opensourceintegrators.com>
|
||||
6
product_warranty/readme/DESCRIPTION.rst
Normal file
6
product_warranty/readme/DESCRIPTION.rst
Normal file
@@ -0,0 +1,6 @@
|
||||
Extends the product warranty management with warranty details on product /
|
||||
supplier relation:
|
||||
|
||||
* Supplier warranty duration
|
||||
* Set default return address for company (if different from standard one)
|
||||
* Whether to return product to company, supplier, other
|
||||
3
product_warranty/readme/USAGE.rst
Normal file
3
product_warranty/readme/USAGE.rst
Normal file
@@ -0,0 +1,3 @@
|
||||
The new information is not explicitly used by the system until you install
|
||||
another module that makes use of it, e.g. RMA Claim (Product Return
|
||||
Management).
|
||||
4
product_warranty/security/ir.model.access.csv
Normal file
4
product_warranty/security/ir.model.access.csv
Normal file
@@ -0,0 +1,4 @@
|
||||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_return_instruction_user","return.instruction.user","model_return_instruction","base.group_user","True","False","False","False"
|
||||
"access_return_instruction_manager","return.instruction.manager","model_return_instruction","sales_team.group_sale_manager","True","True","True","True"
|
||||
"access_return_instruction_salesman","return.instruction.salesman","model_return_instruction","sales_team.group_sale_salesman","True","True","True","True"
|
||||
|
BIN
product_warranty/static/description/icon.png
Normal file
BIN
product_warranty/static/description/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.2 KiB |
460
product_warranty/static/description/index.html
Normal file
460
product_warranty/static/description/index.html
Normal file
@@ -0,0 +1,460 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="generator" content="Docutils 0.14: http://docutils.sourceforge.net/" />
|
||||
<title>Product Warranty</title>
|
||||
<style type="text/css">
|
||||
|
||||
/*
|
||||
:Author: David Goodger (goodger@python.org)
|
||||
:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
|
||||
:Copyright: This stylesheet has been placed in the public domain.
|
||||
|
||||
Default cascading style sheet for the HTML output of Docutils.
|
||||
|
||||
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
||||
customize this style sheet.
|
||||
*/
|
||||
|
||||
/* used to remove borders from tables and images */
|
||||
.borderless, table.borderless td, table.borderless th {
|
||||
border: 0 }
|
||||
|
||||
table.borderless td, table.borderless th {
|
||||
/* Override padding for "table.docutils td" with "! important".
|
||||
The right padding separates the table cells. */
|
||||
padding: 0 0.5em 0 0 ! important }
|
||||
|
||||
.first {
|
||||
/* Override more specific margin styles with "! important". */
|
||||
margin-top: 0 ! important }
|
||||
|
||||
.last, .with-subtitle {
|
||||
margin-bottom: 0 ! important }
|
||||
|
||||
.hidden {
|
||||
display: none }
|
||||
|
||||
.subscript {
|
||||
vertical-align: sub;
|
||||
font-size: smaller }
|
||||
|
||||
.superscript {
|
||||
vertical-align: super;
|
||||
font-size: smaller }
|
||||
|
||||
a.toc-backref {
|
||||
text-decoration: none ;
|
||||
color: black }
|
||||
|
||||
blockquote.epigraph {
|
||||
margin: 2em 5em ; }
|
||||
|
||||
dl.docutils dd {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Uncomment (and remove this text!) to get bold-faced definition list terms
|
||||
dl.docutils dt {
|
||||
font-weight: bold }
|
||||
*/
|
||||
|
||||
div.abstract {
|
||||
margin: 2em 5em }
|
||||
|
||||
div.abstract p.topic-title {
|
||||
font-weight: bold ;
|
||||
text-align: center }
|
||||
|
||||
div.admonition, div.attention, div.caution, div.danger, div.error,
|
||||
div.hint, div.important, div.note, div.tip, div.warning {
|
||||
margin: 2em ;
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.admonition p.admonition-title, div.hint p.admonition-title,
|
||||
div.important p.admonition-title, div.note p.admonition-title,
|
||||
div.tip p.admonition-title {
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
div.attention p.admonition-title, div.caution p.admonition-title,
|
||||
div.danger p.admonition-title, div.error p.admonition-title,
|
||||
div.warning p.admonition-title, .code .error {
|
||||
color: red ;
|
||||
font-weight: bold ;
|
||||
font-family: sans-serif }
|
||||
|
||||
/* Uncomment (and remove this text!) to get reduced vertical space in
|
||||
compound paragraphs.
|
||||
div.compound .compound-first, div.compound .compound-middle {
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
div.compound .compound-last, div.compound .compound-middle {
|
||||
margin-top: 0.5em }
|
||||
*/
|
||||
|
||||
div.dedication {
|
||||
margin: 2em 5em ;
|
||||
text-align: center ;
|
||||
font-style: italic }
|
||||
|
||||
div.dedication p.topic-title {
|
||||
font-weight: bold ;
|
||||
font-style: normal }
|
||||
|
||||
div.figure {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
div.footer, div.header {
|
||||
clear: both;
|
||||
font-size: smaller }
|
||||
|
||||
div.line-block {
|
||||
display: block ;
|
||||
margin-top: 1em ;
|
||||
margin-bottom: 1em }
|
||||
|
||||
div.line-block div.line-block {
|
||||
margin-top: 0 ;
|
||||
margin-bottom: 0 ;
|
||||
margin-left: 1.5em }
|
||||
|
||||
div.sidebar {
|
||||
margin: 0 0 0.5em 1em ;
|
||||
border: medium outset ;
|
||||
padding: 1em ;
|
||||
background-color: #ffffee ;
|
||||
width: 40% ;
|
||||
float: right ;
|
||||
clear: right }
|
||||
|
||||
div.sidebar p.rubric {
|
||||
font-family: sans-serif ;
|
||||
font-size: medium }
|
||||
|
||||
div.system-messages {
|
||||
margin: 5em }
|
||||
|
||||
div.system-messages h1 {
|
||||
color: red }
|
||||
|
||||
div.system-message {
|
||||
border: medium outset ;
|
||||
padding: 1em }
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
color: red ;
|
||||
font-weight: bold }
|
||||
|
||||
div.topic {
|
||||
margin: 2em }
|
||||
|
||||
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
||||
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
||||
margin-top: 0.4em }
|
||||
|
||||
h1.title {
|
||||
text-align: center }
|
||||
|
||||
h2.subtitle {
|
||||
text-align: center }
|
||||
|
||||
hr.docutils {
|
||||
width: 75% }
|
||||
|
||||
img.align-left, .figure.align-left, object.align-left, table.align-left {
|
||||
clear: left ;
|
||||
float: left ;
|
||||
margin-right: 1em }
|
||||
|
||||
img.align-right, .figure.align-right, object.align-right, table.align-right {
|
||||
clear: right ;
|
||||
float: right ;
|
||||
margin-left: 1em }
|
||||
|
||||
img.align-center, .figure.align-center, object.align-center {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
table.align-center {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.align-left {
|
||||
text-align: left }
|
||||
|
||||
.align-center {
|
||||
clear: both ;
|
||||
text-align: center }
|
||||
|
||||
.align-right {
|
||||
text-align: right }
|
||||
|
||||
/* reset inner alignment in figures */
|
||||
div.align-right {
|
||||
text-align: inherit }
|
||||
|
||||
/* div.align-center * { */
|
||||
/* text-align: left } */
|
||||
|
||||
.align-top {
|
||||
vertical-align: top }
|
||||
|
||||
.align-middle {
|
||||
vertical-align: middle }
|
||||
|
||||
.align-bottom {
|
||||
vertical-align: bottom }
|
||||
|
||||
ol.simple, ul.simple {
|
||||
margin-bottom: 1em }
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal }
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha }
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha }
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman }
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman }
|
||||
|
||||
p.attribution {
|
||||
text-align: right ;
|
||||
margin-left: 50% }
|
||||
|
||||
p.caption {
|
||||
font-style: italic }
|
||||
|
||||
p.credits {
|
||||
font-style: italic ;
|
||||
font-size: smaller }
|
||||
|
||||
p.label {
|
||||
white-space: nowrap }
|
||||
|
||||
p.rubric {
|
||||
font-weight: bold ;
|
||||
font-size: larger ;
|
||||
color: maroon ;
|
||||
text-align: center }
|
||||
|
||||
p.sidebar-title {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold ;
|
||||
font-size: larger }
|
||||
|
||||
p.sidebar-subtitle {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
p.topic-title {
|
||||
font-weight: bold }
|
||||
|
||||
pre.address {
|
||||
margin-bottom: 0 ;
|
||||
margin-top: 0 ;
|
||||
font: inherit }
|
||||
|
||||
pre.literal-block, pre.doctest-block, pre.math, pre.code {
|
||||
margin-left: 2em ;
|
||||
margin-right: 2em }
|
||||
|
||||
pre.code .ln { color: grey; } /* line numbers */
|
||||
pre.code, code { background-color: #eeeeee }
|
||||
pre.code .comment, code .comment { color: #5C6576 }
|
||||
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
|
||||
pre.code .literal.string, code .literal.string { color: #0C5404 }
|
||||
pre.code .name.builtin, code .name.builtin { color: #352B84 }
|
||||
pre.code .deleted, code .deleted { background-color: #DEB0A1}
|
||||
pre.code .inserted, code .inserted { background-color: #A3D289}
|
||||
|
||||
span.classifier {
|
||||
font-family: sans-serif ;
|
||||
font-style: oblique }
|
||||
|
||||
span.classifier-delimiter {
|
||||
font-family: sans-serif ;
|
||||
font-weight: bold }
|
||||
|
||||
span.interpreted {
|
||||
font-family: sans-serif }
|
||||
|
||||
span.option {
|
||||
white-space: nowrap }
|
||||
|
||||
span.pre {
|
||||
white-space: pre }
|
||||
|
||||
span.problematic {
|
||||
color: red }
|
||||
|
||||
span.section-subtitle {
|
||||
/* font-size relative to parent (h1..h6 element) */
|
||||
font-size: 80% }
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docinfo {
|
||||
margin: 2em 4em }
|
||||
|
||||
table.docutils {
|
||||
margin-top: 0.5em ;
|
||||
margin-bottom: 0.5em }
|
||||
|
||||
table.footnote {
|
||||
border-left: solid 1px black;
|
||||
margin-left: 1px }
|
||||
|
||||
table.docutils td, table.docutils th,
|
||||
table.docinfo td, table.docinfo th {
|
||||
padding-left: 0.5em ;
|
||||
padding-right: 0.5em ;
|
||||
vertical-align: top }
|
||||
|
||||
table.docutils th.field-name, table.docinfo th.docinfo-name {
|
||||
font-weight: bold ;
|
||||
text-align: left ;
|
||||
white-space: nowrap ;
|
||||
padding-left: 0 }
|
||||
|
||||
/* "booktabs" style (no vertical lines) */
|
||||
table.docutils.booktabs {
|
||||
border: 0px;
|
||||
border-top: 2px solid;
|
||||
border-bottom: 2px solid;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
table.docutils.booktabs * {
|
||||
border: 0px;
|
||||
}
|
||||
table.docutils.booktabs th {
|
||||
border-bottom: thin solid;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
||||
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
||||
font-size: 100% }
|
||||
|
||||
ul.auto-toc {
|
||||
list-style-type: none }
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="document" id="product-warranty">
|
||||
<h1 class="title">Product Warranty</h1>
|
||||
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! This file is generated by oca-gen-addon-readme !!
|
||||
!! changes will be overwritten. !!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Production/Stable" src="https://img.shields.io/badge/maturity-Production%2FStable-green.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/rma/tree/12.0/product_warranty"><img alt="OCA/rma" src="https://img.shields.io/badge/github-OCA%2Frma-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/rma-12-0/rma-12-0-product_warranty"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/145/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
|
||||
<p>Extends the product warranty management with warranty details on product /
|
||||
supplier relation:</p>
|
||||
<ul class="simple">
|
||||
<li>Supplier warranty duration</li>
|
||||
<li>Set default return address for company (if different from standard one)</li>
|
||||
<li>Whether to return product to company, supplier, other</li>
|
||||
</ul>
|
||||
<p><strong>Table of contents</strong></p>
|
||||
<div class="contents local topic" id="contents">
|
||||
<ul class="simple">
|
||||
<li><a class="reference internal" href="#usage" id="id1">Usage</a></li>
|
||||
<li><a class="reference internal" href="#bug-tracker" id="id2">Bug Tracker</a></li>
|
||||
<li><a class="reference internal" href="#credits" id="id3">Credits</a><ul>
|
||||
<li><a class="reference internal" href="#authors" id="id4">Authors</a></li>
|
||||
<li><a class="reference internal" href="#contributors" id="id5">Contributors</a></li>
|
||||
<li><a class="reference internal" href="#other-credits" id="id6">Other credits</a></li>
|
||||
<li><a class="reference internal" href="#maintainers" id="id7">Maintainers</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="usage">
|
||||
<h1><a class="toc-backref" href="#id1">Usage</a></h1>
|
||||
<p>The new information is not explicitly used by the system until you install
|
||||
another module that makes use of it, e.g. RMA Claim (Product Return
|
||||
Management).</p>
|
||||
</div>
|
||||
<div class="section" id="bug-tracker">
|
||||
<h1><a class="toc-backref" href="#id2">Bug Tracker</a></h1>
|
||||
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/rma/issues">GitHub Issues</a>.
|
||||
In case of trouble, please check there if your issue has already been reported.
|
||||
If you spotted it first, help us smashing it by providing a detailed and welcomed
|
||||
<a class="reference external" href="https://github.com/OCA/rma/issues/new?body=module:%20product_warranty%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
|
||||
<p>Do not contact contributors directly about support or help with technical issues.</p>
|
||||
</div>
|
||||
<div class="section" id="credits">
|
||||
<h1><a class="toc-backref" href="#id3">Credits</a></h1>
|
||||
<div class="section" id="authors">
|
||||
<h2><a class="toc-backref" href="#id4">Authors</a></h2>
|
||||
<ul class="simple">
|
||||
<li>Akretion</li>
|
||||
<li>Vauxoo</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="contributors">
|
||||
<h2><a class="toc-backref" href="#id5">Contributors</a></h2>
|
||||
<ul class="simple">
|
||||
<li>Emmanuel Samyn <<a class="reference external" href="mailto:esamyn@gmail.com">esamyn@gmail.com</a>></li>
|
||||
<li>Paulius Sladkevičius <<a class="reference external" href="mailto:paulius@inovera.lt">paulius@inovera.lt</a>></li>
|
||||
<li>Benoît Guillot <<a class="reference external" href="mailto:benoit.guillot@akretion.com.br">benoit.guillot@akretion.com.br</a>></li>
|
||||
<li>David Beal <<a class="reference external" href="mailto:david.beal@akretion.com">david.beal@akretion.com</a>></li>
|
||||
<li>Maxime Chambreuil <<a class="reference external" href="mailto:maxime.chambreuil@savoirfairelinux.com">maxime.chambreuil@savoirfairelinux.com</a>></li>
|
||||
<li>Joël Grand-Guillaume <<a class="reference external" href="mailto:joel.grandguillaume@gmail.com">joel.grandguillaume@gmail.com</a>></li>
|
||||
<li>Ondřej Kuzník <<a class="reference external" href="mailto:ondrej.kuznik@credativ.co.uk">ondrej.kuznik@credativ.co.uk</a>></li>
|
||||
<li>Yanina Aular <<a class="reference external" href="mailto:yanina.aular@vauxoo.com">yanina.aular@vauxoo.com</a>></li>
|
||||
<li>Cyril Gaudin <<a class="reference external" href="mailto:cyril.gaudin@camptocamp.com">cyril.gaudin@camptocamp.com</a>></li>
|
||||
<li>Bima Jati Wijaya <<a class="reference external" href="mailto:bimajatiwijaya@gmail.com">bimajatiwijaya@gmail.com</a>></li>
|
||||
<li>Serpent Consulting Services Pvt. Ltd. <<a class="reference external" href="mailto:support@serpentcs.com">support@serpentcs.com</a>></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="other-credits">
|
||||
<h2><a class="toc-backref" href="#id6">Other credits</a></h2>
|
||||
<p>This module has been financially supported by:</p>
|
||||
<ul class="simple">
|
||||
<li>Inovera <<a class="reference external" href="https://www.inovera.lt">https://www.inovera.lt</a>></li>
|
||||
<li>Akretion Brazil <<a class="reference external" href="https://www.akretion.com.br">https://www.akretion.com.br</a>></li>
|
||||
<li>Akretion <<a class="reference external" href="https://www.akretion.com">https://www.akretion.com</a>></li>
|
||||
<li>Savoir-faire Linux <<a class="reference external" href="https://www.savoirfairelinux.com">https://www.savoirfairelinux.com</a>></li>
|
||||
<li>Credativ <<a class="reference external" href="https://www.credativ.co.uk">https://www.credativ.co.uk</a>></li>
|
||||
<li>Vauxoo <<a class="reference external" href="https://www.vauxoo.com">https://www.vauxoo.com</a>></li>
|
||||
<li>Camp 2 Camp <<a class="reference external" href="https://camptocamp.com">https://camptocamp.com</a>></li>
|
||||
<li>Open Source Integrators <<a class="reference external" href="https://www.opensourceintegrators.com">https://www.opensourceintegrators.com</a>></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="maintainers">
|
||||
<h2><a class="toc-backref" href="#id7">Maintainers</a></h2>
|
||||
<p>This module is maintained by the OCA.</p>
|
||||
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
|
||||
<p>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.</p>
|
||||
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainers</a>:</p>
|
||||
<p><a class="reference external" href="https://github.com/osi-scampbell"><img alt="osi-scampbell" src="https://github.com/osi-scampbell.png?size=40px" /></a> <a class="reference external" href="https://github.com/max3903"><img alt="max3903" src="https://github.com/max3903.png?size=40px" /></a></p>
|
||||
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/rma/tree/12.0/product_warranty">OCA/rma</a> project on GitHub.</p>
|
||||
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
3
product_warranty/tests/__init__.py
Normal file
3
product_warranty/tests/__init__.py
Normal file
@@ -0,0 +1,3 @@
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from . import test_product_warranty
|
||||
73
product_warranty/tests/test_product_warranty.py
Normal file
73
product_warranty/tests/test_product_warranty.py
Normal file
@@ -0,0 +1,73 @@
|
||||
# © 2016 Cyril Gaudin (Camptocamp)
|
||||
# © 2015 Vauxoo, Yanina Aular
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from odoo.tests.common import TransactionCase
|
||||
|
||||
|
||||
class TestProductWarranty(TransactionCase):
|
||||
|
||||
def setUp(self):
|
||||
super(TestProductWarranty, self).setUp()
|
||||
self.instruction_model = self.env['return.instruction']
|
||||
self.supplierinfo = self.env['product.supplierinfo']
|
||||
self.create_product_supplierinfo()
|
||||
|
||||
def create_product_supplierinfo(self):
|
||||
"""
|
||||
Create a record of product.supplier for next tests
|
||||
"""
|
||||
|
||||
product_tmpl_id = self.env.ref('product.product_product_3')
|
||||
|
||||
partner_id = self.env.ref('base.res_partner_4')
|
||||
other_partner = self.env.ref('base.res_partner_12')
|
||||
|
||||
supplierinfo_data = dict(
|
||||
name=partner_id.id,
|
||||
product_name='Test SupplierInfo for display Default Instruction',
|
||||
min_qty=4,
|
||||
delay=5,
|
||||
warranty_return_partner='supplier',
|
||||
product_tmpl_id=product_tmpl_id.id,
|
||||
warranty_return_other_address=other_partner.id,
|
||||
)
|
||||
|
||||
self.supplierinfo_brw = self.supplierinfo.create(supplierinfo_data)
|
||||
|
||||
def test_default_instruction(self):
|
||||
"""
|
||||
Test for return.instruction record with
|
||||
default field in True. If is assigned
|
||||
correctly when one record of
|
||||
product.supplierinfo is created
|
||||
"""
|
||||
|
||||
return_instructions_id = self.env.ref('product_warranty.'
|
||||
'return_instruction_1')
|
||||
|
||||
self.assertEquals(self.supplierinfo_brw.return_instructions.id,
|
||||
return_instructions_id.id)
|
||||
|
||||
def test_warranty_return_address(self):
|
||||
"""
|
||||
Test warranty_return_address field is calculate correctly depends of
|
||||
warranty_return_partner
|
||||
"""
|
||||
self.create_product_supplierinfo()
|
||||
|
||||
self.assertEquals(self.supplierinfo_brw.warranty_return_address.id,
|
||||
self.supplierinfo_brw.name.id)
|
||||
|
||||
self.supplierinfo_brw.write({'warranty_return_partner': 'company'})
|
||||
|
||||
self.assertEquals(self.supplierinfo_brw.warranty_return_address.id,
|
||||
self.supplierinfo_brw.company_id.
|
||||
crm_return_address_id.id)
|
||||
|
||||
self.supplierinfo_brw.write({'warranty_return_partner': 'other'})
|
||||
|
||||
self.assertEquals(
|
||||
self.supplierinfo_brw.warranty_return_address.id,
|
||||
self.supplierinfo_brw.warranty_return_other_address.id
|
||||
)
|
||||
24
product_warranty/views/product_template.xml
Normal file
24
product_warranty/views/product_template.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record id="product_template_extend_warranty" model="ir.ui.view">
|
||||
<field name="model">product.template</field>
|
||||
<field name="inherit_id"
|
||||
ref="product.product_template_form_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<page name="sales" position="inside">
|
||||
<group>
|
||||
<group string="Warranty" id="warranty-left">
|
||||
<label name="warranty" for="warranty"/>
|
||||
<div>
|
||||
<field name="warranty" class="oe_inline"/>
|
||||
<field name="warranty_type" class="oe_inline"/>
|
||||
</div>
|
||||
</group>
|
||||
<group id="warranty-right"/>
|
||||
</group>
|
||||
</page>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
91
product_warranty/views/product_warranty.xml
Normal file
91
product_warranty/views/product_warranty.xml
Normal file
@@ -0,0 +1,91 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<!-- return instructions tree view -->
|
||||
<record id="product_return_instructions_tree_view" model="ir.ui.view">
|
||||
<field name="name">product.return.instructions.tree</field>
|
||||
<field name="model">return.instruction</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Return instructions">
|
||||
<field name="name"/>
|
||||
<field name="instructions"/>
|
||||
<field name="is_default"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- return instructions form view -->
|
||||
<record id="product_return_instructions_form_view" model="ir.ui.view">
|
||||
<field name="name">product.return.instructions.form</field>
|
||||
<field name="model">return.instruction</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Return instructions">
|
||||
<sheet>
|
||||
<group name="return_instructions" col='4'>
|
||||
<field name="name"/>
|
||||
<field name="is_default"/>
|
||||
</group>
|
||||
<separator string="Instructions" colspan="4"/>
|
||||
<field name="instructions" nolabel="1" colspan="4"/>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="product_return_instructions_action"
|
||||
model="ir.actions.act_window">
|
||||
<field name="name">Products Return Instructions</field>
|
||||
<field name="res_model">return.instruction</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="product_return_instructions_tree_view"/>
|
||||
</record>
|
||||
|
||||
<menuitem action="product_return_instructions_action"
|
||||
groups="base.group_no_one"
|
||||
id="menu_product_return_instructions_action"
|
||||
parent="sale.prod_config_main" sequence="3"/>
|
||||
|
||||
<!-- supplier info tree view -->
|
||||
<record id="product_supplierinfo_warranty_tree_view" model="ir.ui.view">
|
||||
<field name="name">product.supplierinfo.warranty.tree</field>
|
||||
<field name="model">product.supplierinfo</field>
|
||||
<field name="inherit_id" ref="product.product_supplierinfo_tree_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="min_qty" position="before">
|
||||
<field name="warranty_duration"/>
|
||||
<field name="warranty_return_partner"/>
|
||||
<field name="warranty_return_address"/>
|
||||
<field name="active_supplier"/>
|
||||
<field name="return_instructions"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- supplier info form view -->
|
||||
<record id="product_supplierinfo_warranty_form_view" model="ir.ui.view">
|
||||
<field name="name">product.supplierinfo.warranty.form</field>
|
||||
<field name="model">product.supplierinfo</field>
|
||||
<field name="inherit_id" ref="product.product_supplierinfo_form_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//group[last()]" position="after">
|
||||
<group name="waranty_group" string="Warranty informations"
|
||||
col="4">
|
||||
<field name="active_supplier"/>
|
||||
<field name="warranty_duration"/>
|
||||
<field name="return_instructions"/>
|
||||
</group>
|
||||
<group col="4">
|
||||
<field name="warranty_return_partner"/>
|
||||
<field name="warranty_return_other_address"
|
||||
attrs="{'invisible':[('warranty_return_partner', '!=', 'other')], 'required':[('warranty_return_partner', '=', 'other')]}"
|
||||
class="oe_inline"/>
|
||||
<field name="warranty_return_address"
|
||||
attrs="{'invisible':[('warranty_return_partner', '=', 'other')]}"
|
||||
class="oe_inline"/>
|
||||
</group>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
22
product_warranty/views/res_company.xml
Normal file
22
product_warranty/views/res_company.xml
Normal file
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<!-- INHERITED VIEW FOR THE OBJECT : res_company -->
|
||||
<record id="company_form" model="ir.ui.view">
|
||||
<field name="name">crm_claim_rma.company_form</field>
|
||||
<field name="model">res.company</field>
|
||||
<field name="inherit_id" ref="base.view_company_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='company_registry']/ancestor::group"
|
||||
position="after">
|
||||
<separator string="CRM Product Return Address"/>
|
||||
<group col="2">
|
||||
<group>
|
||||
<field name="crm_return_address_id"/>
|
||||
</group>
|
||||
</group>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user