odoo-addon-rma 16.0.1.2.0.2__py3-none-any.whl → 17.0.1.0.0.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- odoo/addons/rma/README.rst +87 -78
- odoo/addons/rma/__manifest__.py +1 -1
- odoo/addons/rma/controllers/main.py +2 -1
- odoo/addons/rma/data/mail_data.xml +3 -6
- odoo/addons/rma/hooks.py +1 -5
- odoo/addons/rma/i18n/de.po +108 -93
- odoo/addons/rma/i18n/de_AT.po +48 -80
- odoo/addons/rma/i18n/es.po +108 -93
- odoo/addons/rma/i18n/fr.po +102 -93
- odoo/addons/rma/i18n/it.po +126 -111
- odoo/addons/rma/i18n/nl.po +48 -80
- odoo/addons/rma/i18n/pt.po +86 -87
- odoo/addons/rma/i18n/pt_BR.po +76 -85
- odoo/addons/rma/i18n/rma.pot +49 -81
- odoo/addons/rma/i18n/ro.po +66 -85
- odoo/addons/rma/i18n/zh_CN.po +48 -80
- odoo/addons/rma/models/rma.py +51 -112
- odoo/addons/rma/models/stock_move.py +1 -1
- odoo/addons/rma/readme/CONFIGURE.md +22 -0
- odoo/addons/rma/readme/CONTRIBUTORS.md +9 -0
- odoo/addons/rma/readme/{DESCRIPTION.rst → DESCRIPTION.md} +4 -4
- odoo/addons/rma/readme/ROADMAP.md +3 -0
- odoo/addons/rma/readme/USAGE.md +59 -0
- odoo/addons/rma/static/description/index.html +55 -46
- odoo/addons/rma/tests/test_rma.py +21 -37
- odoo/addons/rma/views/res_config_settings_views.xml +55 -124
- odoo/addons/rma/views/res_partner_views.xml +1 -1
- odoo/addons/rma/views/rma_finalization_views.xml +1 -1
- odoo/addons/rma/views/rma_team_views.xml +2 -6
- odoo/addons/rma/views/rma_views.xml +71 -39
- odoo/addons/rma/views/stock_picking_views.xml +1 -1
- odoo/addons/rma/wizard/rma_delivery_views.xml +8 -19
- odoo/addons/rma/wizard/stock_picking_return_views.xml +1 -1
- odoo_addon_rma-17.0.1.0.0.3.dist-info/METADATA +220 -0
- odoo_addon_rma-17.0.1.0.0.3.dist-info/RECORD +70 -0
- {odoo_addon_rma-16.0.1.2.0.2.dist-info → odoo_addon_rma-17.0.1.0.0.3.dist-info}/WHEEL +1 -1
- odoo_addon_rma-17.0.1.0.0.3.dist-info/top_level.txt +1 -0
- odoo/addons/rma/readme/CONFIGURE.rst +0 -21
- odoo/addons/rma/readme/CONTRIBUTORS.rst +0 -9
- odoo/addons/rma/readme/ROADMAP.rst +0 -3
- odoo/addons/rma/readme/USAGE.rst +0 -57
- odoo_addon_rma-16.0.1.2.0.2.dist-info/METADATA +0 -214
- odoo_addon_rma-16.0.1.2.0.2.dist-info/RECORD +0 -70
- odoo_addon_rma-16.0.1.2.0.2.dist-info/top_level.txt +0 -1
odoo/addons/rma/README.rst
CHANGED
@@ -7,7 +7,7 @@ Return Merchandise Authorization Management
|
|
7
7
|
!! This file is generated by oca-gen-addon-readme !!
|
8
8
|
!! changes will be overwritten. !!
|
9
9
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
10
|
-
!! source digest: sha256:
|
10
|
+
!! source digest: sha256:9ca167b75e0dcd82a66217ef64dd006910f4feda1f408dbdf09ef43e6555eb22
|
11
11
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
12
12
|
|
13
13
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
|
@@ -17,25 +17,25 @@ Return Merchandise Authorization Management
|
|
17
17
|
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
18
18
|
:alt: License: AGPL-3
|
19
19
|
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Frma-lightgray.png?logo=github
|
20
|
-
:target: https://github.com/OCA/rma/tree/
|
20
|
+
:target: https://github.com/OCA/rma/tree/17.0/rma
|
21
21
|
:alt: OCA/rma
|
22
22
|
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
|
23
|
-
:target: https://translation.odoo-community.org/projects/rma-
|
23
|
+
:target: https://translation.odoo-community.org/projects/rma-17-0/rma-17-0-rma
|
24
24
|
:alt: Translate me on Weblate
|
25
25
|
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
|
26
|
-
:target: https://runboat.odoo-community.org/builds?repo=OCA/rma&target_branch=
|
26
|
+
:target: https://runboat.odoo-community.org/builds?repo=OCA/rma&target_branch=17.0
|
27
27
|
:alt: Try me on Runboat
|
28
28
|
|
29
29
|
|badge1| |badge2| |badge3| |badge4| |badge5|
|
30
30
|
|
31
|
-
This module allows you to manage `Return Merchandise Authorization
|
32
|
-
<https://en.wikipedia.org/wiki/Return_merchandise_authorization>`
|
31
|
+
This module allows you to manage `Return Merchandise Authorization
|
32
|
+
(RMA) <https://en.wikipedia.org/wiki/Return_merchandise_authorization>`__.
|
33
33
|
RMA documents can be created from scratch, from a delivery order or from
|
34
34
|
an incoming email. Product receptions and returning delivery operations
|
35
35
|
of the RMA module are fully integrated with the Receipts and Deliveries
|
36
36
|
Operations of Odoo inventory core module. It also allows you to generate
|
37
|
-
refunds in the same way as Odoo generates it.
|
38
|
-
|
37
|
+
refunds in the same way as Odoo generates it. Besides, you have full
|
38
|
+
integration of the RMA documents in the customer portal.
|
39
39
|
|
40
40
|
**Table of contents**
|
41
41
|
|
@@ -47,23 +47,24 @@ Configuration
|
|
47
47
|
|
48
48
|
If you want RMAs to be created from incoming emails, you need to:
|
49
49
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
one.
|
55
|
-
|
50
|
+
1. Go to *Settings > General Settings*.
|
51
|
+
2. Check 'External Email Servers' checkbox under *Discuss* section.
|
52
|
+
3. Set an 'alias domain' and an incoming server.
|
53
|
+
4. Go to *RMA > Configuration > RMA Team* and select a team or create a
|
54
|
+
new one.
|
55
|
+
5. Go to 'Email' tab and set an 'Email Alias'.
|
56
56
|
|
57
57
|
If you want to manually finish RMAs, you need to:
|
58
58
|
|
59
|
-
|
60
|
-
|
59
|
+
1. Go to *Settings > Inventory*.
|
60
|
+
2. Set *Finish RMAs manually* checkbox on.
|
61
61
|
|
62
|
-
By default, returns to customer are grouped by shipping address,
|
63
|
-
If you want to avoid this grouping you can:
|
62
|
+
By default, returns to customer are grouped by shipping address,
|
63
|
+
warehouse and company. If you want to avoid this grouping you can:
|
64
64
|
|
65
|
-
|
66
|
-
|
65
|
+
1. Go to *Settings > Inventory*.
|
66
|
+
2. Set *Group RMA returns by customer address and warehouse* checkbox
|
67
|
+
off.
|
67
68
|
|
68
69
|
The users will still be able to group those pickings from the wizard.
|
69
70
|
|
@@ -72,68 +73,73 @@ Usage
|
|
72
73
|
|
73
74
|
To use this module, you need to:
|
74
75
|
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
the reception operation form.
|
81
|
-
|
82
|
-
see it in a 'received' state.
|
83
|
-
|
84
|
-
to the customer the same product or another product as a
|
85
|
-
the RMA by extracting a part of the remaining
|
86
|
-
preview the RMA in the website. All of these
|
87
|
-
clicking on the buttons in the status bar.
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
76
|
+
1. Go to *RMA > Orders* and create a new RMA.
|
77
|
+
2. Select a partner, an invoice address, select a product (or select a
|
78
|
+
picking and a move instead), write a quantity, fill the rest of the
|
79
|
+
form and click on 'confirm' button in the status bar.
|
80
|
+
3. You will see an smart button labeled 'Receipt'. Click on that button
|
81
|
+
to see the reception operation form.
|
82
|
+
4. If everything is right, validate the operation and go back to the RMA
|
83
|
+
to see it in a 'received' state.
|
84
|
+
5. Now you are able to generate a refund, generate a delivery order to
|
85
|
+
return to the customer the same product or another product as a
|
86
|
+
replacement, split the RMA by extracting a part of the remaining
|
87
|
+
quantity to another RMA, preview the RMA in the website. All of these
|
88
|
+
operations can be done by clicking on the buttons in the status bar.
|
89
|
+
|
90
|
+
- If you click on 'To Refund' button, a refund will be created, and
|
91
|
+
it will be accessible via the smart button labeled Refund. The RMA
|
92
|
+
will be set automatically to 'Refunded' state when the refund is
|
93
|
+
validated.
|
94
|
+
- If you click on 'Replace' or 'Return to customer' button instead,
|
95
|
+
a popup wizard will guide you to create a Delivery order to the
|
96
|
+
client and this order will be accessible via the smart button
|
97
|
+
labeled Delivery. The RMA will be set automatically to 'Replaced'
|
98
|
+
or 'Returned' state when the RMA quantity is equal or lower than
|
99
|
+
the quantity in done delivery orders linked to it.
|
100
|
+
|
101
|
+
6. You can also finish the RMA without further ado. To do so click on
|
102
|
+
the *Finish* button. A wizard will ask you for the reason from a
|
103
|
+
selection of preconfigured ones. Be sure to configure them in advance
|
104
|
+
on *RMA > Configuration > Finalization Reasons*. Once the RMA is
|
105
|
+
finished, it will be set to that state and the reason will be
|
102
106
|
registered.
|
103
107
|
|
104
108
|
An RMA can also be created from a return of a delivery order:
|
105
109
|
|
106
|
-
|
107
|
-
|
110
|
+
1. Select a delivery order and click on 'Return' button to create a
|
111
|
+
return.
|
112
|
+
2. Check "Create RMAs" checkbox in the returning wizard, select the RMA
|
108
113
|
stock location and click on 'Return' button.
|
109
|
-
|
110
|
-
Every RMA will be in confirmed state and they will
|
111
|
-
|
114
|
+
3. An RMA will be created for each product returned in the previous
|
115
|
+
step. Every RMA will be in confirmed state and they will be linked to
|
116
|
+
the returning operation generated previously.
|
112
117
|
|
113
118
|
There are Optional RMA Teams that can be used for:
|
114
119
|
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
120
|
+
- Organize RMAs in sections.
|
121
|
+
- Subscribe users to notifications.
|
122
|
+
- Create RMAs from incoming mail to special aliases (See
|
123
|
+
configuration section).
|
119
124
|
|
120
125
|
To create an RMA Team (RMA Responsible user level required):
|
121
126
|
|
122
|
-
|
123
|
-
|
124
|
-
|
127
|
+
1. Go to *RMA > Configuration > RMA Teams*
|
128
|
+
2. Create a new team and assign a name, a responsible and members.
|
129
|
+
3. Subscribe users to notifications, that can be of these subtypes:
|
125
130
|
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
131
|
+
- RMA draft. When a new RMA is created.
|
132
|
+
- Notes, Debates, Activities. As in standard Odoo.
|
133
|
+
|
134
|
+
4. In the list view, use the cross handle to sort RMA Teams. The top
|
135
|
+
team will be the default one if no team is set.
|
130
136
|
|
131
137
|
Known issues / Roadmap
|
132
138
|
======================
|
133
139
|
|
134
|
-
|
135
|
-
|
136
|
-
|
140
|
+
- As soon as the picking is selected, the user should select the move,
|
141
|
+
but perhaps stock.move \_rec_name could be improved to better show
|
142
|
+
what the product of that move is.
|
137
143
|
|
138
144
|
Bug Tracker
|
139
145
|
===========
|
@@ -141,7 +147,7 @@ Bug Tracker
|
|
141
147
|
Bugs are tracked on `GitHub Issues <https://github.com/OCA/rma/issues>`_.
|
142
148
|
In case of trouble, please check there if your issue has already been reported.
|
143
149
|
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
144
|
-
`feedback <https://github.com/OCA/rma/issues/new?body=module:%20rma%0Aversion:%
|
150
|
+
`feedback <https://github.com/OCA/rma/issues/new?body=module:%20rma%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
145
151
|
|
146
152
|
Do not contact contributors directly about support or help with technical issues.
|
147
153
|
|
@@ -149,25 +155,28 @@ Credits
|
|
149
155
|
=======
|
150
156
|
|
151
157
|
Authors
|
152
|
-
|
158
|
+
-------
|
153
159
|
|
154
160
|
* Tecnativa
|
155
161
|
|
156
162
|
Contributors
|
157
|
-
|
163
|
+
------------
|
164
|
+
|
165
|
+
- `Tecnativa <https://www.tecnativa.com>`__:
|
158
166
|
|
159
|
-
|
167
|
+
- Ernesto Tejeda
|
168
|
+
- Pedro M. Baeza
|
169
|
+
- David Vidal
|
170
|
+
- Víctor Martínez
|
160
171
|
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
* Víctor Martínez
|
172
|
+
- Chafique Delli <chafique.delli@akretion.com>
|
173
|
+
- Giovanni Serra - Ooops <giovanni@ooops404.com>
|
174
|
+
- `APSL-Nagarro <https://www.apsl.tech>`__:
|
165
175
|
|
166
|
-
|
167
|
-
* Giovanni Serra - Ooops <giovanni@ooops404.com>
|
176
|
+
- Antoni Marroig <amarroig@apsl.net>
|
168
177
|
|
169
178
|
Maintainers
|
170
|
-
|
179
|
+
-----------
|
171
180
|
|
172
181
|
This module is maintained by the OCA.
|
173
182
|
|
@@ -190,6 +199,6 @@ Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:
|
|
190
199
|
|
191
200
|
|maintainer-pedrobaeza| |maintainer-chienandalu|
|
192
201
|
|
193
|
-
This module is part of the `OCA/rma <https://github.com/OCA/rma/tree/
|
202
|
+
This module is part of the `OCA/rma <https://github.com/OCA/rma/tree/17.0/rma>`_ project on GitHub.
|
194
203
|
|
195
204
|
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
|
odoo/addons/rma/__manifest__.py
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
{
|
6
6
|
"name": "Return Merchandise Authorization Management",
|
7
7
|
"summary": "Return Merchandise Authorization (RMA)",
|
8
|
-
"version": "
|
8
|
+
"version": "17.0.1.0.0",
|
9
9
|
"development_status": "Production/Stable",
|
10
10
|
"category": "RMA",
|
11
11
|
"website": "https://github.com/OCA/rma",
|
@@ -7,7 +7,8 @@ from odoo.exceptions import AccessError, MissingError
|
|
7
7
|
from odoo.http import request
|
8
8
|
from odoo.tools import consteq
|
9
9
|
|
10
|
-
from odoo.addons.portal.controllers.portal import CustomerPortal
|
10
|
+
from odoo.addons.portal.controllers.portal import CustomerPortal
|
11
|
+
from odoo.addons.portal.controllers.portal import pager as portal_pager
|
11
12
|
|
12
13
|
|
13
14
|
class PortalRma(CustomerPortal):
|
@@ -41,8 +41,7 @@
|
|
41
41
|
<field
|
42
42
|
name="subject"
|
43
43
|
>{{object.company_id.name}} RMA (Ref {{object.name or 'n/a' }})</field>
|
44
|
-
<field name="
|
45
|
-
<field name="report_name">{{(object.name or '')}}</field>
|
44
|
+
<field name="report_template_ids" eval="[(4, ref('rma.report_rma_action'))]" />
|
46
45
|
<field name="lang">{{object.partner_id.lang}}</field>
|
47
46
|
<field name="auto_delete" eval="True" />
|
48
47
|
<field name="body_html" type="html">
|
@@ -78,8 +77,7 @@
|
|
78
77
|
<field
|
79
78
|
name="subject"
|
80
79
|
>{{object.company_id.name}} RMA (Ref {{object.name or 'n/a' }}) products received</field>
|
81
|
-
<field name="
|
82
|
-
<field name="report_name">{{(object.name or '')}}</field>
|
80
|
+
<field name="report_template_ids" eval="[(4, ref('rma.report_rma_action'))]" />
|
83
81
|
<field name="lang">{{object.partner_id.lang}}</field>
|
84
82
|
<field name="auto_delete" eval="True" />
|
85
83
|
<field name="body_html" type="html">
|
@@ -114,8 +112,7 @@
|
|
114
112
|
<field
|
115
113
|
name="subject"
|
116
114
|
>{{object.company_id.name}} Your RMA has been succesfully created (Ref {{object.name or 'n/a' }})</field>
|
117
|
-
<field name="
|
118
|
-
<field name="report_name">{{(object.name or '')}}</field>
|
115
|
+
<field name="report_template_ids" eval="[(4, ref('rma.report_rma_action'))]" />
|
119
116
|
<field name="lang">{{object.partner_id.lang}}</field>
|
120
117
|
<field name="auto_delete" eval="True" />
|
121
118
|
<field name="body_html" type="html">
|
odoo/addons/rma/hooks.py
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
# Copyright 2020 Tecnativa - Ernesto Tejeda
|
2
2
|
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
3
3
|
|
4
|
-
from odoo import SUPERUSER_ID, api
|
5
|
-
|
6
|
-
|
7
|
-
def post_init_hook(cr, registry):
|
8
|
-
env = api.Environment(cr, SUPERUSER_ID, {})
|
9
4
|
|
5
|
+
def post_init_hook(env):
|
10
6
|
def _get_next_picking_type_color():
|
11
7
|
"""Choose the next available color for the operation types."""
|
12
8
|
stock_picking_type = env["stock.picking.type"]
|