mirror of
https://github.com/ForgeFlow/stock-rma.git
synced 2025-01-21 12:57:49 +02:00
RMA as an APP
This commit is contained in:
@@ -1,6 +1,3 @@
|
|||||||
.. image:: https://img.shields.io/badge/licence-LGPL--3-blue.svg
|
|
||||||
:alt: License LGPL-3
|
|
||||||
|
|
||||||
======================================
|
======================================
|
||||||
RMA (Return Merchandise Authorization)
|
RMA (Return Merchandise Authorization)
|
||||||
======================================
|
======================================
|
||||||
@@ -24,12 +21,16 @@ of the product to the manufacturer, commonly referred to as a return.
|
|||||||
As returns are costly for the vendor and inconvenient for the customer,
|
As returns are costly for the vendor and inconvenient for the customer,
|
||||||
any return that can be prevented benefits both parties.
|
any return that can be prevented benefits both parties.
|
||||||
|
|
||||||
|
**Table of contents**
|
||||||
|
|
||||||
|
.. contents::
|
||||||
|
:local:
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
=============
|
=============
|
||||||
|
|
||||||
Security
|
Security
|
||||||
--------
|
~~~~~~~~
|
||||||
|
|
||||||
Go to Settings > Users and assign the appropiate permissions to users.
|
Go to Settings > Users and assign the appropiate permissions to users.
|
||||||
Different security groups grant distinct levels of access to the RMA features.
|
Different security groups grant distinct levels of access to the RMA features.
|
||||||
@@ -41,7 +42,7 @@ Different security groups grant distinct levels of access to the RMA features.
|
|||||||
associated to both customers and suppliers.
|
associated to both customers and suppliers.
|
||||||
|
|
||||||
RMA Approval Policy
|
RMA Approval Policy
|
||||||
-------------------
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
There are two RMA approval policies in product catogories:
|
There are two RMA approval policies in product catogories:
|
||||||
|
|
||||||
@@ -57,12 +58,12 @@ steps:
|
|||||||
#. Select one and change the field *RMA Approval Policy* to your convenience.
|
#. Select one and change the field *RMA Approval Policy* to your convenience.
|
||||||
|
|
||||||
Other Settings
|
Other Settings
|
||||||
--------------
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
#. Go to Inventory > Configuration > Settings > Return Merchandising
|
#. Go to RMA > Configuration > Settings > Return Merchandising
|
||||||
Authorization and select the option "Display 3 fields on rma: partner,
|
Authorization and select the option "Display 3 fields on rma: partner,
|
||||||
invoice address, delivery address" if needed.
|
invoice address, delivery address" if needed.
|
||||||
#. Go to Inventory > Configuration > Warehouse management > Warehouses and add
|
#. Go to RMA > Configuration > Warehouse management > Warehouses and add
|
||||||
a default RMA location and RMA picking type for customers and suppliers RMA
|
a default RMA location and RMA picking type for customers and suppliers RMA
|
||||||
picking type. In case the warehouse is configured to use routes, you need to
|
picking type. In case the warehouse is configured to use routes, you need to
|
||||||
create at least one route per rma type with at least two push rules (one for
|
create at least one route per rma type with at least two push rules (one for
|
||||||
@@ -86,8 +87,8 @@ Create an RMA:
|
|||||||
Order".
|
Order".
|
||||||
#. Go back to the RMA. Set the RMA to done if not further action is required.
|
#. Go back to the RMA. Set the RMA to done if not further action is required.
|
||||||
|
|
||||||
Known issues and Roadmap
|
Known issues / Roadmap
|
||||||
========================
|
======================
|
||||||
|
|
||||||
* Picking operations report in customer RMA dropshipping case is showing
|
* Picking operations report in customer RMA dropshipping case is showing
|
||||||
"Vendor Address" while it should be "Customer Address".
|
"Vendor Address" while it should be "Customer Address".
|
||||||
@@ -99,27 +100,37 @@ Known issues and Roadmap
|
|||||||
Bug Tracker
|
Bug Tracker
|
||||||
===========
|
===========
|
||||||
|
|
||||||
Bugs are tracked on `GitHub Issues
|
Bugs are tracked on `GitHub Issues <https://github.com/ForgeFlow/stock-rma/issues>`_.
|
||||||
<https://github.com/ForgeFlow/stock-rma/issues>`_. In case of trouble, please
|
In case of trouble, please check there if your issue has already been reported.
|
||||||
check there if your issue has already been reported. If you spotted it first,
|
If you spotted it first, help us smashing it by providing a detailed and welcomed
|
||||||
help us smashing it by providing a detailed and welcomed feedback.
|
`feedback <https://github.com/ForgeFlow/stock-rma/issues/new?body=module:%20rma%0Aversion:%2013.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
|
Credits
|
||||||
=======
|
=======
|
||||||
|
|
||||||
Contributors
|
Authors
|
||||||
------------
|
~~~~~~~
|
||||||
|
|
||||||
* Jordi Ballester Alomar <jordi.ballester@ForgeFlow.com>
|
* ForgeFlow S.L.
|
||||||
* Aaron Henriquez <ahenriquez@ForgeFlow.com>
|
|
||||||
* Lois Rilo <lois.rilo@ForgeFlow.com>
|
Contributors
|
||||||
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
|
* Jordi Ballester Alomar <jordi.ballester@forgeflow.com>
|
||||||
|
* Aaron Henriquez <ahenriquez@forgeflow.com>
|
||||||
|
* Lois Rilo <lois.rilo@forgeflow.com>
|
||||||
* Bhavesh Odedra <bodedra@opensourceintegrators.com>
|
* Bhavesh Odedra <bodedra@opensourceintegrators.com>
|
||||||
* Akim Juillerat <akim.juillerat@camptocamp.com>
|
* Akim Juillerat <akim.juillerat@camptocamp.com>
|
||||||
* Alexandre Fayolle <alexandre.fayolle@camptocamp.com>
|
* Alexandre Fayolle <alexandre.fayolle@camptocamp.com>
|
||||||
* Chafique Delli <chafique.delli@akretion.com>
|
* Chafique Delli <chafique.delli@akretion.com>
|
||||||
|
* Héctor Villarreal <hector.villarreal@forgeflow.com>
|
||||||
|
|
||||||
Maintainer
|
Maintainers
|
||||||
----------
|
~~~~~~~~~~~
|
||||||
|
|
||||||
|
This module is maintained by the ForgeFlow.
|
||||||
|
|
||||||
|
This module is part of the `ForgeFlow/stock-rma <https://github.com/ForgeFlow/stock-rma/tree/13.0/rma>`_ project on GitHub.
|
||||||
|
|
||||||
This module is maintained by ForgeFlow.
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2017 ForgeFlow
|
# Copyright (C) 2017-20 ForgeFlow S.L.
|
||||||
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
||||||
|
|
||||||
from . import models
|
from . import models
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2017 ForgeFlow
|
# Copyright (C) 2017-20 ForgeFlow S.L.
|
||||||
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -27,10 +27,12 @@
|
|||||||
"views/stock_warehouse.xml",
|
"views/stock_warehouse.xml",
|
||||||
"views/product_view.xml",
|
"views/product_view.xml",
|
||||||
"views/res_partner_view.xml",
|
"views/res_partner_view.xml",
|
||||||
|
"views/res_config_settings_views.xml",
|
||||||
|
"views/rma_menu.xml",
|
||||||
"wizards/rma_make_picking_view.xml",
|
"wizards/rma_make_picking_view.xml",
|
||||||
"wizards/rma_add_stock_move_view.xml",
|
"wizards/rma_add_stock_move_view.xml",
|
||||||
"wizards/stock_config_settings.xml",
|
|
||||||
"wizards/rma_order_line_make_supplier_rma_view.xml",
|
"wizards/rma_order_line_make_supplier_rma_view.xml",
|
||||||
],
|
],
|
||||||
"installable": True,
|
"installable": True,
|
||||||
|
"application": True,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
<field name="prefix">RTVG/%(year)s/</field>
|
<field name="prefix">RTVG/%(year)s/</field>
|
||||||
<field eval="1" name="number_next"/>
|
<field eval="1" name="number_next"/>
|
||||||
<field eval="1" name="number_increment"/>
|
<field eval="1" name="number_increment"/>
|
||||||
|
<field name="company_id" eval="False"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="rma_line_seq" model="ir.sequence">
|
<record id="rma_line_seq" model="ir.sequence">
|
||||||
@@ -25,6 +26,7 @@
|
|||||||
<field name="prefix">RMA/%(year)s/</field>
|
<field name="prefix">RMA/%(year)s/</field>
|
||||||
<field eval="1" name="number_next"/>
|
<field eval="1" name="number_next"/>
|
||||||
<field eval="1" name="number_increment"/>
|
<field eval="1" name="number_increment"/>
|
||||||
|
<field name="company_id" eval="False"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="rma_line_supplier_seq" model="ir.sequence">
|
<record id="rma_line_supplier_seq" model="ir.sequence">
|
||||||
@@ -34,6 +36,7 @@
|
|||||||
<field name="prefix">RTV/%(year)s/</field>
|
<field name="prefix">RTV/%(year)s/</field>
|
||||||
<field eval="1" name="number_next"/>
|
<field eval="1" name="number_next"/>
|
||||||
<field eval="1" name="number_increment"/>
|
<field eval="1" name="number_increment"/>
|
||||||
|
<field name="company_id" eval="False"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -10,3 +10,4 @@ from . import product_category
|
|||||||
from . import procurement
|
from . import procurement
|
||||||
from . import res_partner
|
from . import res_partner
|
||||||
from . import res_company
|
from . import res_company
|
||||||
|
from . import res_config_settings
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2017 ForgeFlow
|
# Copyright (C) 2017-20 ForgeFlow S.L.
|
||||||
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
||||||
|
|
||||||
from odoo import fields, models
|
from odoo import fields, models
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2017 ForgeFlow
|
# Copyright (C) 2017-20 ForgeFlow S.L.
|
||||||
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
||||||
|
|
||||||
from odoo import fields, models
|
from odoo import fields, models
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
# Copyright (C) 2017 ForgeFlow
|
# Copyright (C) 2017-20 ForgeFlow S.L.
|
||||||
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
||||||
|
|
||||||
from odoo import fields, models
|
from odoo import fields, models
|
||||||
|
|
||||||
|
|
||||||
class StockConfigSettings(models.TransientModel):
|
class ResConfigSettings(models.TransientModel):
|
||||||
_inherit = "res.config.settings"
|
_inherit = "res.config.settings"
|
||||||
|
|
||||||
group_rma_delivery_address = fields.Boolean(
|
group_rma_delivery_address = fields.Boolean(
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2017 ForgeFlow
|
# Copyright (C) 2017-20 ForgeFlow S.L.
|
||||||
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2017 ForgeFlow
|
# Copyright (C) 2017-20 ForgeFlow S.L.
|
||||||
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
||||||
|
|
||||||
import operator
|
import operator
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2017 ForgeFlow
|
# Copyright (C) 2017-20 ForgeFlow S.L.
|
||||||
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
||||||
|
|
||||||
from odoo import api, fields, models
|
from odoo import api, fields, models
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2017 ForgeFlow
|
# Copyright (C) 2017-20 ForgeFlow S.L.
|
||||||
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
||||||
|
|
||||||
from odoo import _, fields, models
|
from odoo import _, fields, models
|
||||||
@@ -114,6 +114,7 @@ class StockWarehouse(models.Model):
|
|||||||
"default_location_dest_id": customer_loc.id,
|
"default_location_dest_id": customer_loc.id,
|
||||||
"sequence": max_sequence,
|
"sequence": max_sequence,
|
||||||
"color": color,
|
"color": color,
|
||||||
|
"sequence_code": "RMA → Customer",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
# create rma_sup_out_type_id:
|
# create rma_sup_out_type_id:
|
||||||
@@ -129,6 +130,7 @@ class StockWarehouse(models.Model):
|
|||||||
"default_location_dest_id": supplier_loc.id,
|
"default_location_dest_id": supplier_loc.id,
|
||||||
"sequence": max_sequence,
|
"sequence": max_sequence,
|
||||||
"color": color,
|
"color": color,
|
||||||
|
"sequence_code": "Customer → RMA",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
# create rma_cust_in_type_id:
|
# create rma_cust_in_type_id:
|
||||||
@@ -144,6 +146,7 @@ class StockWarehouse(models.Model):
|
|||||||
"default_location_dest_id": wh.lot_rma_id.id,
|
"default_location_dest_id": wh.lot_rma_id.id,
|
||||||
"sequence": max_sequence,
|
"sequence": max_sequence,
|
||||||
"color": color,
|
"color": color,
|
||||||
|
"sequence_code": "RMA -> Supplier",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
# create rma_sup_in_type_id:
|
# create rma_sup_in_type_id:
|
||||||
@@ -159,6 +162,7 @@ class StockWarehouse(models.Model):
|
|||||||
"default_location_dest_id": wh.lot_rma_id.id,
|
"default_location_dest_id": wh.lot_rma_id.id,
|
||||||
"sequence": max_sequence,
|
"sequence": max_sequence,
|
||||||
"color": color,
|
"color": color,
|
||||||
|
"sequence_code": "Supplier -> RMA",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
wh.write(
|
wh.write(
|
||||||
|
|||||||
41
rma/readme/CONFIGURE.rst
Normal file
41
rma/readme/CONFIGURE.rst
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
Security
|
||||||
|
--------
|
||||||
|
|
||||||
|
Go to Settings > Users and assign the appropiate permissions to users.
|
||||||
|
Different security groups grant distinct levels of access to the RMA features.
|
||||||
|
|
||||||
|
* Users in group "RMA Customer User" or "RMA Supplier User" can access to,
|
||||||
|
create and process RMA's associated to customers or suppliers respectively.
|
||||||
|
|
||||||
|
* Users in group "RMA Manager" can access to, create, approve and process RMA's
|
||||||
|
associated to both customers and suppliers.
|
||||||
|
|
||||||
|
RMA Approval Policy
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
There are two RMA approval policies in product catogories:
|
||||||
|
|
||||||
|
* One step: Always auto-approve RMAs that only contain products within
|
||||||
|
categories with this policy.
|
||||||
|
* Two steps: A RMA order containing a product within a category with this
|
||||||
|
policy will request the RMA manager approval.
|
||||||
|
|
||||||
|
In order to change the approval policy of a product category follow the next
|
||||||
|
steps:
|
||||||
|
|
||||||
|
#. Go to *Inventory > Configuration > Products > Product Categories*.
|
||||||
|
#. Select one and change the field *RMA Approval Policy* to your convenience.
|
||||||
|
|
||||||
|
Other Settings
|
||||||
|
--------------
|
||||||
|
|
||||||
|
#. Go to RMA > Configuration > Settings > Return Merchandising
|
||||||
|
Authorization and select the option "Display 3 fields on rma: partner,
|
||||||
|
invoice address, delivery address" if needed.
|
||||||
|
#. Go to RMA > Configuration > Warehouse management > Warehouses and add
|
||||||
|
a default RMA location and RMA picking type for customers and suppliers RMA
|
||||||
|
picking type. In case the warehouse is configured to use routes, you need to
|
||||||
|
create at least one route per rma type with at least two push rules (one for
|
||||||
|
inbound another for outbound) it's very important to select the type of
|
||||||
|
operation supplier if we are moving in the company and customer if we are
|
||||||
|
moving out of the company.
|
||||||
8
rma/readme/CONTRIBUTORS.rst
Normal file
8
rma/readme/CONTRIBUTORS.rst
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
* Jordi Ballester Alomar <jordi.ballester@forgeflow.com>
|
||||||
|
* Aaron Henriquez <ahenriquez@forgeflow.com>
|
||||||
|
* Lois Rilo <lois.rilo@forgeflow.com>
|
||||||
|
* Bhavesh Odedra <bodedra@opensourceintegrators.com>
|
||||||
|
* Akim Juillerat <akim.juillerat@camptocamp.com>
|
||||||
|
* Alexandre Fayolle <alexandre.fayolle@camptocamp.com>
|
||||||
|
* Chafique Delli <chafique.delli@akretion.com>
|
||||||
|
* Héctor Villarreal <hector.villarreal@forgeflow.com>
|
||||||
18
rma/readme/DESCRIPTION.rst
Normal file
18
rma/readme/DESCRIPTION.rst
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
A Return Merchandise Authorization (RMA), is a part of the process of
|
||||||
|
returning a product in order to receive a refund, replacement, or repair
|
||||||
|
during the product's warranty period.
|
||||||
|
|
||||||
|
The purchaser of the product must contact the manufacturer (or distributor
|
||||||
|
or retailer) to obtain authorization to return the product.
|
||||||
|
|
||||||
|
The resulting RMA number must be displayed on or included in the returned
|
||||||
|
product's packaging.
|
||||||
|
|
||||||
|
The issuance of an RMA is a key gatekeeping moment in the reverse logistics
|
||||||
|
cycle, providing the vendor with a final opportunity to diagnose and correct
|
||||||
|
the customer's problem with the product (such as improper installation or
|
||||||
|
configuration) before the customer permanently relinquishes ownership
|
||||||
|
of the product to the manufacturer, commonly referred to as a return.
|
||||||
|
|
||||||
|
As returns are costly for the vendor and inconvenient for the customer,
|
||||||
|
any return that can be prevented benefits both parties.
|
||||||
6
rma/readme/ROADMAP.rst
Normal file
6
rma/readme/ROADMAP.rst
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
* Picking operations report in customer RMA dropshipping case is showing
|
||||||
|
"Vendor Address" while it should be "Customer Address".
|
||||||
|
* Dropshipping always counted as a delivery on the smart buttons.
|
||||||
|
* Uninstall hook.
|
||||||
|
* Constraints instead of required fields on rma.order.line.
|
||||||
|
* Rename type field on rma.order and rma.order.line
|
||||||
12
rma/readme/USAGE.rst
Normal file
12
rma/readme/USAGE.rst
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
RMA are accessible though Inventory menu. There's four menus, divided by type.
|
||||||
|
Users can access to the list of RMA or RMA lines.
|
||||||
|
|
||||||
|
Create an RMA:
|
||||||
|
|
||||||
|
#. Select a partner. Enter RMA lines associated to an existing picking, or
|
||||||
|
manually.
|
||||||
|
#. Request approval and approve.
|
||||||
|
#. Click on RMA Lines button.
|
||||||
|
#. Click on more and select an option: "Receive products", "Create Delivery
|
||||||
|
Order".
|
||||||
|
#. Go back to the RMA. Set the RMA to done if not further action is required.
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2017 ForgeFlow
|
# Copyright (C) 2017-20 ForgeFlow S.L.
|
||||||
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
||||||
|
|
||||||
from . import test_rma
|
from . import test_rma
|
||||||
|
|||||||
52
rma/views/res_config_settings_views.xml
Normal file
52
rma/views/res_config_settings_views.xml
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
|
||||||
|
<odoo>
|
||||||
|
|
||||||
|
<record id="res_config_settings_view_form" model="ir.ui.view">
|
||||||
|
<field name="name">res.config.settings.view.form.inherit.rma</field>
|
||||||
|
<field name="model">res.config.settings</field>
|
||||||
|
<field name="priority" eval="10"/>
|
||||||
|
<field name="inherit_id" ref="base.res_config_settings_view_form" />
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//div[hasclass('settings')]" position="inside">
|
||||||
|
<div class="app_settings_block" data-string="RMA" string="RMA" data-key="rma" groups="rma.group_rma_manager">
|
||||||
|
<h2>Return Merchandise Authorization</h2>
|
||||||
|
<div class="row mt16 o_settings_container">
|
||||||
|
<div class="col-12 col-lg-6 o_setting_box">
|
||||||
|
<div class="o_setting_left_pane">
|
||||||
|
<field name="group_rma_delivery_address"/>
|
||||||
|
</div>
|
||||||
|
<div class="o_setting_right_pane">
|
||||||
|
<label for="group_rma_delivery_address"/>
|
||||||
|
<div class="text-muted">
|
||||||
|
Display 3 fields on rma: partner, invoice address, delivery address.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 col-lg-6 o_setting_box">
|
||||||
|
<div class="o_setting_left_pane">
|
||||||
|
<field name="group_rma_lines"/>
|
||||||
|
</div>
|
||||||
|
<div class="o_setting_right_pane">
|
||||||
|
<label for="group_rma_lines"/>
|
||||||
|
<div class="text-muted">
|
||||||
|
Group RMA lines in one RMA group
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="action_rma_config_settings" model="ir.actions.act_window">
|
||||||
|
<field name="name">Settings</field>
|
||||||
|
<field name="type">ir.actions.act_window</field>
|
||||||
|
<field name="res_model">res.config.settings</field>
|
||||||
|
<field name="view_mode">form</field>
|
||||||
|
<field name="target">inline</field>
|
||||||
|
<field name="context">{'module' : 'rma'}</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
</odoo>
|
||||||
78
rma/views/rma_menu.xml
Normal file
78
rma/views/rma_menu.xml
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<odoo>
|
||||||
|
|
||||||
|
<menuitem
|
||||||
|
id="menu_rma_root"
|
||||||
|
name="RMA"
|
||||||
|
groups="rma.group_rma_customer_user,rma.group_rma_supplier_user,rma.group_rma_manager"
|
||||||
|
web_icon="rma,static/description/icon.png"
|
||||||
|
sequence="100"/>
|
||||||
|
|
||||||
|
<!-- Customer RMA -->
|
||||||
|
<menuitem id="menu_customer_rma"
|
||||||
|
name="Customer RMA"
|
||||||
|
groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"
|
||||||
|
sequence="30"
|
||||||
|
parent="menu_rma_root"/>
|
||||||
|
|
||||||
|
<menuitem
|
||||||
|
id="menu_rma_act_customer"
|
||||||
|
sequence="50"
|
||||||
|
parent="menu_customer_rma"
|
||||||
|
groups="rma.group_rma_groups"
|
||||||
|
action="action_rma_customer"/>
|
||||||
|
|
||||||
|
<menuitem
|
||||||
|
id="menu_rma_line_customer"
|
||||||
|
sequence="20"
|
||||||
|
parent="menu_customer_rma"
|
||||||
|
groups="rma.group_rma_customer_user"
|
||||||
|
action="action_rma_customer_lines"/>
|
||||||
|
|
||||||
|
<!-- Supplier RMA -->
|
||||||
|
<menuitem id="menu_supplier_rma"
|
||||||
|
name="Supplier RMA"
|
||||||
|
groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"
|
||||||
|
sequence="31"
|
||||||
|
parent="menu_rma_root"/>
|
||||||
|
|
||||||
|
<menuitem
|
||||||
|
id="menu_rma_act_supplier"
|
||||||
|
sequence="50"
|
||||||
|
parent="menu_supplier_rma"
|
||||||
|
groups="rma.group_rma_groups"
|
||||||
|
action="action_rma_supplier"/>
|
||||||
|
|
||||||
|
<menuitem
|
||||||
|
id="menu_rma_line_supplier"
|
||||||
|
sequence="20"
|
||||||
|
parent="menu_supplier_rma"
|
||||||
|
groups="rma.group_rma_supplier_user"
|
||||||
|
action="action_rma_supplier_lines"/>
|
||||||
|
|
||||||
|
<!-- Settings-->
|
||||||
|
<menuitem id="menu_rma_config"
|
||||||
|
name="Configuration"
|
||||||
|
groups="rma.group_rma_manager"
|
||||||
|
sequence="999"
|
||||||
|
parent="menu_rma_root"/>
|
||||||
|
|
||||||
|
<menuitem id="menu_rma_global_settings" name="Settings"
|
||||||
|
parent="rma.menu_rma_config"
|
||||||
|
sequence="1" action="action_rma_config_settings"
|
||||||
|
groups="base.group_system"/>
|
||||||
|
|
||||||
|
<menuitem id="menu_rma_operation_customer"
|
||||||
|
name="Customer Operations"
|
||||||
|
groups="rma.group_rma_manager"
|
||||||
|
sequence="35"
|
||||||
|
parent="rma.menu_rma_config"
|
||||||
|
action="action_rma_operation_customer"/>
|
||||||
|
|
||||||
|
<menuitem id="menu_rma_operation_supplier"
|
||||||
|
name="Supplier Operations"
|
||||||
|
groups="rma.group_rma_manager"
|
||||||
|
sequence="40"
|
||||||
|
parent="rma.menu_rma_config"
|
||||||
|
action="action_rma_operation_supplier"/>
|
||||||
|
</odoo>
|
||||||
@@ -78,18 +78,4 @@
|
|||||||
<field name="view_id" ref="rma_operation_tree"/>
|
<field name="view_id" ref="rma_operation_tree"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<menuitem id="menu_rma_operation_customer"
|
|
||||||
name="Customer Operations"
|
|
||||||
groups="rma.group_rma_manager"
|
|
||||||
sequence="35"
|
|
||||||
parent="rma.menu_rma_config"
|
|
||||||
action="action_rma_operation_customer"/>
|
|
||||||
|
|
||||||
<menuitem id="menu_rma_operation_supplier"
|
|
||||||
name="Supplier Operations"
|
|
||||||
groups="rma.group_rma_manager"
|
|
||||||
sequence="40"
|
|
||||||
parent="rma.menu_rma_config"
|
|
||||||
action="action_rma_operation_supplier"/>
|
|
||||||
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -93,7 +93,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="oe_title" name="title">
|
<div class="oe_title" name="title">
|
||||||
<h1>
|
<h1>
|
||||||
<field name="name"
|
<field name="name" readonly="1"
|
||||||
invisible="context.get('hide_title',False)"/>
|
invisible="context.get('hide_title',False)"/>
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
@@ -248,11 +248,12 @@
|
|||||||
<field name="out_shipment_count" widget="statinfo"
|
<field name="out_shipment_count" widget="statinfo"
|
||||||
string="Deliveries"/>
|
string="Deliveries"/>
|
||||||
</button>
|
</button>
|
||||||
<button type="object" name="action_view_invoice"
|
<!--Move this button to rma_account-->
|
||||||
|
<!--<button type="object" name="action_view_invoice"
|
||||||
class="oe_stat_button"
|
class="oe_stat_button"
|
||||||
icon="fa-pencil-square-o"
|
icon="fa-pencil-square-o"
|
||||||
string="Origin Inv">
|
string="Origin Inv">
|
||||||
</button>
|
</button>-->
|
||||||
<button type="object" name="action_view_rma_lines"
|
<button type="object" name="action_view_rma_lines"
|
||||||
class="oe_stat_button"
|
class="oe_stat_button"
|
||||||
icon="fa-link"
|
icon="fa-link"
|
||||||
@@ -263,7 +264,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="oe_title" name="title">
|
<div class="oe_title" name="title">
|
||||||
<h1>
|
<h1>
|
||||||
<field name="name"
|
<field name="name" readonly="1"
|
||||||
invisible="context.get('hide_title',False)"/>
|
invisible="context.get('hide_title',False)"/>
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
@@ -454,21 +455,5 @@
|
|||||||
<field name="act_window_id" ref="action_rma_supplier_lines"/>
|
<field name="act_window_id" ref="action_rma_supplier_lines"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<menuitem
|
|
||||||
id="menu_rma_line_customer"
|
|
||||||
sequence="20"
|
|
||||||
parent="menu_customer_rma"
|
|
||||||
groups="rma.group_rma_customer_user"
|
|
||||||
action="action_rma_customer_lines"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<menuitem
|
|
||||||
id="menu_rma_line_supplier"
|
|
||||||
sequence="20"
|
|
||||||
parent="menu_supplier_rma"
|
|
||||||
groups="rma.group_rma_supplier_user"
|
|
||||||
action="action_rma_supplier_lines"
|
|
||||||
/>
|
|
||||||
|
|
||||||
</data>
|
</data>
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -289,36 +289,4 @@
|
|||||||
<field name="act_window_id" ref="action_rma_supplier"/>
|
<field name="act_window_id" ref="action_rma_supplier"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<menuitem id="menu_customer_rma"
|
|
||||||
name="Customer RMA"
|
|
||||||
groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"
|
|
||||||
sequence="30"
|
|
||||||
parent="stock.menu_stock_root"/>
|
|
||||||
|
|
||||||
<menuitem id="menu_supplier_rma"
|
|
||||||
name="Supplier RMA"
|
|
||||||
groups="rma.group_rma_customer_user,rma.group_rma_supplier_user"
|
|
||||||
sequence="31"
|
|
||||||
parent="stock.menu_stock_root"/>
|
|
||||||
|
|
||||||
<menuitem
|
|
||||||
id="menu_rma_act_customer"
|
|
||||||
sequence="50"
|
|
||||||
parent="menu_customer_rma"
|
|
||||||
groups="rma.group_rma_groups"
|
|
||||||
action="action_rma_customer"/>
|
|
||||||
|
|
||||||
<menuitem
|
|
||||||
id="menu_rma_act_supplier"
|
|
||||||
sequence="50"
|
|
||||||
parent="menu_supplier_rma"
|
|
||||||
groups="rma.group_rma_groups"
|
|
||||||
action="action_rma_supplier"/>
|
|
||||||
|
|
||||||
<menuitem id="menu_rma_config"
|
|
||||||
name="RMA"
|
|
||||||
groups="rma.group_rma_manager"
|
|
||||||
sequence="30"
|
|
||||||
parent="stock.menu_stock_config_settings"/>
|
|
||||||
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
# Copyright (C) 2017 ForgeFlow
|
# Copyright (C) 2017-20 ForgeFlow S.L.
|
||||||
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
||||||
|
|
||||||
from . import rma_add_stock_move
|
from . import rma_add_stock_move
|
||||||
from . import rma_make_picking
|
from . import rma_make_picking
|
||||||
from . import stock_config_settings
|
|
||||||
from . import rma_order_line_make_supplier_rma
|
from . import rma_order_line_make_supplier_rma
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2017 ForgeFlow
|
# Copyright (C) 2017-20 ForgeFlow S.L.
|
||||||
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
||||||
|
|
||||||
from odoo import _, api, fields, models
|
from odoo import _, api, fields, models
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2017 ForgeFlow
|
# Copyright (C) 2017-20 ForgeFlow S.L.
|
||||||
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html)
|
||||||
|
|
||||||
import time
|
import time
|
||||||
|
|||||||
@@ -1,37 +0,0 @@
|
|||||||
<?xml version="1.0"?>
|
|
||||||
<odoo>
|
|
||||||
<record id="res_config_settings_view_form" model="ir.ui.view">
|
|
||||||
<field name="name">stock.config.settings.rma</field>
|
|
||||||
<field name="model">res.config.settings</field>
|
|
||||||
<field name="inherit_id" ref="stock.res_config_settings_view_form"/>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<div id="production_lot_info" position="after">
|
|
||||||
<h2>Return Merchandise Authorization</h2>
|
|
||||||
<div class="row mt16 o_settings_container">
|
|
||||||
<div class="col-12 col-lg-6 o_setting_box">
|
|
||||||
<div class="o_setting_left_pane">
|
|
||||||
<field name="group_rma_delivery_address"/>
|
|
||||||
</div>
|
|
||||||
<div class="o_setting_right_pane">
|
|
||||||
<label for="group_rma_delivery_address"/>
|
|
||||||
<div class="text-muted">
|
|
||||||
Display 3 fields on rma: partner, invoice address, delivery address.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-12 col-lg-6 o_setting_box">
|
|
||||||
<div class="o_setting_left_pane">
|
|
||||||
<field name="group_rma_lines"/>
|
|
||||||
</div>
|
|
||||||
<div class="o_setting_right_pane">
|
|
||||||
<label for="group_rma_lines"/>
|
|
||||||
<div class="text-muted">
|
|
||||||
Group RMA lines in one RMA group.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
</odoo>
|
|
||||||
Reference in New Issue
Block a user