[FIX+IMP] rma: usability + Translated using Weblate (Spanish) + 5 things:

[FIX+IMP] rma: usability

* IMP - Now the description will be an html son we can show rich styles
in the customers report.
* FIX - On locked sale orders it was need to unlock them to be able to open an RMA.
* IMP - Make the description label visible in the backend form so the
user can easily spot it.
* IMP - Added date and deadline filters.
* IMP - Added pending RMAs filter.
* IMP - Added late RMAs filter.
* IMP - Added danger decoration in tree view

rma 12.0.1.5.0

[UPD] Update rma.pot

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: rma-12.0/rma-12.0-rma
Translate-URL: https://translation.odoo-community.org/projects/rma-12-0/rma-12-0-rma/

Translated using Weblate (Spanish)

Currently translated at 100.0% (268 of 268 strings)

Translation: rma-12.0/rma-12.0-rma
Translate-URL: https://translation.odoo-community.org/projects/rma-12-0/rma-12-0-rma/es/

[FIX] rma: return permissions

When a user with no stock manager permissions was doing the return, an
access error would raise.

rma 12.0.1.5.1

[FIX] rma: multicompany returns

The move was created with the default company

[UPD] Update rma.pot

rma 12.0.1.5.2

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: rma-12.0/rma-12.0-rma
Translate-URL: https://translation.odoo-community.org/projects/rma-12-0/rma-12-0-rma/

[FIX] rma: non rma users confirm

The sudo had to be before calling the records

rma 12.0.1.5.3

[FIX] rma: pass company as record to procurement

This upstream commit expects `company_id` as a record instead of as an
integer id: 836ff55dc9

rma 12.0.1.5.4

[FIX] rma: internal users portal

Internal users with no RMA permissions got an access error when entering
the portal

[UPD] Update rma.pot

rma 12.0.1.6.0

Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: rma-12.0/rma-12.0-rma
Translate-URL: https://translation.odoo-community.org/projects/rma-12-0/rma-12-0-rma/
This commit is contained in:
david
2020-09-30 16:32:04 +02:00
committed by Ernesto Tejeda
parent 30a59efcc9
commit 8010b6d9f2
11 changed files with 157 additions and 41 deletions

View File

@@ -3,7 +3,7 @@
{ {
"name": "Return Merchandise Authorization Management", "name": "Return Merchandise Authorization Management",
"summary": "Return Merchandise Authorization (RMA)", "summary": "Return Merchandise Authorization (RMA)",
"version": "12.0.1.4.3", "version": "12.0.1.6.0",
"development_status": "Beta", "development_status": "Beta",
"category": "RMA", "category": "RMA",
"website": "https://github.com/OCA/rma", "website": "https://github.com/OCA/rma",

View File

@@ -13,7 +13,11 @@ class PortalRma(CustomerPortal):
def _prepare_portal_layout_values(self): def _prepare_portal_layout_values(self):
values = super()._prepare_portal_layout_values() values = super()._prepare_portal_layout_values()
values['rma_count'] = request.env['rma'].search_count([]) if request.env['rma'].check_access_rights(
'read', raise_exception=False):
values['rma_count'] = request.env['rma'].search_count([])
else:
values['rma_count'] = 0
return values return values
def _rma_get_page_view_values(self, rma, access_token, **kwargs): def _rma_get_page_view_values(self, rma, access_token, **kwargs):

View File

@@ -7,8 +7,8 @@ msgstr ""
"Project-Id-Version: Odoo Server 12.0\n" "Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-21 05:13+0000\n" "POT-Creation-Date: 2020-06-21 05:13+0000\n"
"PO-Revision-Date: 2020-08-22 13:59+0000\n" "PO-Revision-Date: 2020-10-06 14:16+0000\n"
"Last-Translator: Pedro M. Baeza <pedro.baeza@gmail.com>\n" "Last-Translator: David Vidal <david.vidal@tecnativa.com>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: es\n" "Language: es\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -455,7 +455,7 @@ msgid "Customer Portal URL"
msgstr "URL del portal de cliente" msgstr "URL del portal de cliente"
#. module: rma #. module: rma
#: code:addons/rma/controllers/main.py:38 #: code:addons/rma/controllers/main.py:42
#: model:ir.model.fields,field_description:rma.field_rma__date #: model:ir.model.fields,field_description:rma.field_rma__date
#: model_terms:ir.ui.view,arch_db:rma.portal_my_rmas #: model_terms:ir.ui.view,arch_db:rma.portal_my_rmas
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search #: model_terms:ir.ui.view,arch_db:rma.rma_view_search
@@ -536,7 +536,7 @@ msgid "Draft RMA"
msgstr "RMA en estado Borrador" msgstr "RMA en estado Borrador"
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:1097 #: code:addons/rma/models/rma.py:1098
#, python-format #, python-format
msgid "" msgid ""
"E-mail subject: %s\n" "E-mail subject: %s\n"
@@ -639,7 +639,7 @@ msgstr ""
"sin eliminarlo." "sin eliminarlo."
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:1101 #: code:addons/rma/models/rma.py:1102
#, python-format #, python-format
msgid "Incoming e-mail" msgid "Incoming e-mail"
msgstr "Correo electrónico entrante" msgstr "Correo electrónico entrante"
@@ -692,6 +692,11 @@ msgstr "Última actualización por"
msgid "Last Updated on" msgid "Last Updated on"
msgstr "Última actualización el" msgstr "Última actualización el"
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search
msgid "Late RMAs"
msgstr "RMAs retrasados"
#. module: rma #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__location_id #: model:ir.model.fields,field_description:rma.field_rma__location_id
msgid "Location" msgid "Location"
@@ -736,7 +741,7 @@ msgid "Messages"
msgstr "Mensajes" msgstr "Mensajes"
#. module: rma #. module: rma
#: code:addons/rma/controllers/main.py:39 #: code:addons/rma/controllers/main.py:43
#: model:ir.model.fields,field_description:rma.field_rma__name #: model:ir.model.fields,field_description:rma.field_rma__name
#: model:ir.model.fields,field_description:rma.field_rma_operation__name #: model:ir.model.fields,field_description:rma.field_rma_operation__name
#: model:ir.model.fields,field_description:rma.field_rma_team__name #: model:ir.model.fields,field_description:rma.field_rma_team__name
@@ -746,7 +751,7 @@ msgstr "Nombre"
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:31 code:addons/rma/models/rma.py:494 #: code:addons/rma/models/rma.py:31 code:addons/rma/models/rma.py:494
#: code:addons/rma/models/rma.py:1100 #: code:addons/rma/models/rma.py:1101
#, python-format #, python-format
msgid "New" msgid "New"
msgstr "Nuevo" msgstr "Nuevo"
@@ -993,6 +998,16 @@ msgstr "RMA nº"
msgid "RMA Code" msgid "RMA Code"
msgstr "Código de RMA" msgstr "Código de RMA"
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search
msgid "RMA Date"
msgstr "Fecha de RMA"
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search
msgid "RMA Deadline"
msgstr "RMA fecha límite"
#. module: rma #. module: rma
#: code:addons/rma/models/stock_warehouse.py:82 #: code:addons/rma/models/stock_warehouse.py:82
#, python-format #, python-format
@@ -1106,6 +1121,16 @@ msgstr "Equipo de RMA"
msgid "RMAs" msgid "RMAs"
msgstr "RMAs" msgstr "RMAs"
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search
msgid "RMAs which deadline has passed"
msgstr "RMAs pasados de fecha límite"
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search
msgid "RMAs yet to be fully processed"
msgstr "RMAs pendientes de ser procesados por completo"
#. module: rma #. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_form #: model_terms:ir.ui.view,arch_db:rma.rma_view_form
msgid "Receipt" msgid "Receipt"
@@ -1188,7 +1213,7 @@ msgid "Replaced"
msgstr "Reemplazado" msgstr "Reemplazado"
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:1010 #: code:addons/rma/models/rma.py:1011
#, python-format #, python-format
msgid "" msgid ""
"Replacement: Move <a href=\"#\" data-oe-model=\"stock.move\" data-oe-id=\"%d" "Replacement: Move <a href=\"#\" data-oe-model=\"stock.move\" data-oe-id=\"%d"
@@ -1200,7 +1225,7 @@ msgstr ""
"picking\" data-oe-id=\"%d\">%s</a>) ha sido creado." "picking\" data-oe-id=\"%d\">%s</a>) ha sido creado."
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:1021 #: code:addons/rma/models/rma.py:1022
#, python-format #, python-format
msgid "" msgid ""
"Replacement:<br/>Product <a href=\"#\" data-oe-model=\"product.product\" " "Replacement:<br/>Product <a href=\"#\" data-oe-model=\"product.product\" "
@@ -1253,7 +1278,7 @@ msgid "Return to customer"
msgstr "Devolver al cliente" msgstr "Devolver al cliente"
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:971 #: code:addons/rma/models/rma.py:972
#, python-format #, python-format
msgid "" msgid ""
"Return: <a href=\"#\" data-oe-model=\"stock.picking\" data-oe-id=\"%d\">%s</" "Return: <a href=\"#\" data-oe-model=\"stock.picking\" data-oe-id=\"%d\">%s</"
@@ -1357,7 +1382,7 @@ msgid "State"
msgstr "Estado" msgstr "Estado"
#. module: rma #. module: rma
#: code:addons/rma/controllers/main.py:40 #: code:addons/rma/controllers/main.py:44
#: model_terms:ir.ui.view,arch_db:rma.portal_my_rmas #: model_terms:ir.ui.view,arch_db:rma.portal_my_rmas
#, python-format #, python-format
msgid "Status" msgid "Status"
@@ -1534,6 +1559,11 @@ msgstr "Mensajes por leer"
msgid "Unread Messages Counter" msgid "Unread Messages Counter"
msgstr "Contador de mensajes sin leer" msgstr "Contador de mensajes sin leer"
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search
msgid "Unresolved RMAs"
msgstr "RMAs sin resolver"
#. module: rma #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__product_uom #: model:ir.model.fields,field_description:rma.field_rma__product_uom
msgid "UoM" msgid "UoM"

View File

@@ -454,7 +454,7 @@ msgid "Customer Portal URL"
msgstr "URL do portal do cliente" msgstr "URL do portal do cliente"
#. module: rma #. module: rma
#: code:addons/rma/controllers/main.py:38 #: code:addons/rma/controllers/main.py:42
#: model:ir.model.fields,field_description:rma.field_rma__date #: model:ir.model.fields,field_description:rma.field_rma__date
#: model_terms:ir.ui.view,arch_db:rma.portal_my_rmas #: model_terms:ir.ui.view,arch_db:rma.portal_my_rmas
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search #: model_terms:ir.ui.view,arch_db:rma.rma_view_search
@@ -535,7 +535,7 @@ msgid "Draft RMA"
msgstr "Rascunho do RMA" msgstr "Rascunho do RMA"
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:1097 #: code:addons/rma/models/rma.py:1098
#, python-format #, python-format
msgid "" msgid ""
"E-mail subject: %s\n" "E-mail subject: %s\n"
@@ -638,7 +638,7 @@ msgstr ""
"sem removê-lo." "sem removê-lo."
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:1101 #: code:addons/rma/models/rma.py:1102
#, python-format #, python-format
msgid "Incoming e-mail" msgid "Incoming e-mail"
msgstr "E-mail recebido" msgstr "E-mail recebido"
@@ -691,6 +691,11 @@ msgstr "Última Atualização Feita por"
msgid "Last Updated on" msgid "Last Updated on"
msgstr "Última Atualização Feita em" msgstr "Última Atualização Feita em"
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search
msgid "Late RMAs"
msgstr ""
#. module: rma #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__location_id #: model:ir.model.fields,field_description:rma.field_rma__location_id
msgid "Location" msgid "Location"
@@ -735,7 +740,7 @@ msgid "Messages"
msgstr "Mensagens" msgstr "Mensagens"
#. module: rma #. module: rma
#: code:addons/rma/controllers/main.py:39 #: code:addons/rma/controllers/main.py:43
#: model:ir.model.fields,field_description:rma.field_rma__name #: model:ir.model.fields,field_description:rma.field_rma__name
#: model:ir.model.fields,field_description:rma.field_rma_operation__name #: model:ir.model.fields,field_description:rma.field_rma_operation__name
#: model:ir.model.fields,field_description:rma.field_rma_team__name #: model:ir.model.fields,field_description:rma.field_rma_team__name
@@ -745,7 +750,7 @@ msgstr "Nome"
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:31 code:addons/rma/models/rma.py:494 #: code:addons/rma/models/rma.py:31 code:addons/rma/models/rma.py:494
#: code:addons/rma/models/rma.py:1100 #: code:addons/rma/models/rma.py:1101
#, python-format #, python-format
msgid "New" msgid "New"
msgstr "Novo(a)" msgstr "Novo(a)"
@@ -992,6 +997,16 @@ msgstr "RMA #"
msgid "RMA Code" msgid "RMA Code"
msgstr "Código RMA" msgstr "Código RMA"
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search
msgid "RMA Date"
msgstr ""
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search
msgid "RMA Deadline"
msgstr ""
#. module: rma #. module: rma
#: code:addons/rma/models/stock_warehouse.py:82 #: code:addons/rma/models/stock_warehouse.py:82
#, python-format #, python-format
@@ -1104,6 +1119,16 @@ msgstr "Equipe RMA"
msgid "RMAs" msgid "RMAs"
msgstr "RMAs" msgstr "RMAs"
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search
msgid "RMAs which deadline has passed"
msgstr ""
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search
msgid "RMAs yet to be fully processed"
msgstr ""
#. module: rma #. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_form #: model_terms:ir.ui.view,arch_db:rma.rma_view_form
msgid "Receipt" msgid "Receipt"
@@ -1186,7 +1211,7 @@ msgid "Replaced"
msgstr "Substituído" msgstr "Substituído"
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:1010 #: code:addons/rma/models/rma.py:1011
#, python-format #, python-format
msgid "" msgid ""
"Replacement: Move <a href=\"#\" data-oe-model=\"stock.move\" data-oe-id=\"%d" "Replacement: Move <a href=\"#\" data-oe-model=\"stock.move\" data-oe-id=\"%d"
@@ -1198,7 +1223,7 @@ msgstr ""
"data-oe-id=\"%d\">%s</a> foi criada." "data-oe-id=\"%d\">%s</a> foi criada."
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:1021 #: code:addons/rma/models/rma.py:1022
#, python-format #, python-format
msgid "" msgid ""
"Replacement:<br/>Product <a href=\"#\" data-oe-model=\"product.product\" " "Replacement:<br/>Product <a href=\"#\" data-oe-model=\"product.product\" "
@@ -1251,7 +1276,7 @@ msgid "Return to customer"
msgstr "Retornar ao cliente" msgstr "Retornar ao cliente"
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:971 #: code:addons/rma/models/rma.py:972
#, python-format #, python-format
msgid "" msgid ""
"Return: <a href=\"#\" data-oe-model=\"stock.picking\" data-oe-id=\"%d\">%s</" "Return: <a href=\"#\" data-oe-model=\"stock.picking\" data-oe-id=\"%d\">%s</"
@@ -1355,7 +1380,7 @@ msgid "State"
msgstr "Situação" msgstr "Situação"
#. module: rma #. module: rma
#: code:addons/rma/controllers/main.py:40 #: code:addons/rma/controllers/main.py:44
#: model_terms:ir.ui.view,arch_db:rma.portal_my_rmas #: model_terms:ir.ui.view,arch_db:rma.portal_my_rmas
#, python-format #, python-format
msgid "Status" msgid "Status"
@@ -1531,6 +1556,11 @@ msgstr "Mensagens não lidas"
msgid "Unread Messages Counter" msgid "Unread Messages Counter"
msgstr "Contador de Mensagens Não Lidas" msgstr "Contador de Mensagens Não Lidas"
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search
msgid "Unresolved RMAs"
msgstr ""
#. module: rma #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__product_uom #: model:ir.model.fields,field_description:rma.field_rma__product_uom
msgid "UoM" msgid "UoM"

View File

@@ -404,7 +404,7 @@ msgid "Customer Portal URL"
msgstr "" msgstr ""
#. module: rma #. module: rma
#: code:addons/rma/controllers/main.py:38 #: code:addons/rma/controllers/main.py:42
#: model:ir.model.fields,field_description:rma.field_rma__date #: model:ir.model.fields,field_description:rma.field_rma__date
#: model_terms:ir.ui.view,arch_db:rma.portal_my_rmas #: model_terms:ir.ui.view,arch_db:rma.portal_my_rmas
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search #: model_terms:ir.ui.view,arch_db:rma.rma_view_search
@@ -486,7 +486,7 @@ msgid "Draft RMA"
msgstr "" msgstr ""
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:1097 #: code:addons/rma/models/rma.py:1098
#, python-format #, python-format
msgid "E-mail subject: %s\n" msgid "E-mail subject: %s\n"
"\n" "\n"
@@ -576,7 +576,7 @@ msgid "If the active field is set to false, it will allow you to hide the RMA Te
msgstr "" msgstr ""
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:1101 #: code:addons/rma/models/rma.py:1102
#, python-format #, python-format
msgid "Incoming e-mail" msgid "Incoming e-mail"
msgstr "" msgstr ""
@@ -629,6 +629,11 @@ msgstr ""
msgid "Last Updated on" msgid "Last Updated on"
msgstr "" msgstr ""
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search
msgid "Late RMAs"
msgstr ""
#. module: rma #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__location_id #: model:ir.model.fields,field_description:rma.field_rma__location_id
msgid "Location" msgid "Location"
@@ -673,7 +678,7 @@ msgid "Messages"
msgstr "" msgstr ""
#. module: rma #. module: rma
#: code:addons/rma/controllers/main.py:39 #: code:addons/rma/controllers/main.py:43
#: model:ir.model.fields,field_description:rma.field_rma__name #: model:ir.model.fields,field_description:rma.field_rma__name
#: model:ir.model.fields,field_description:rma.field_rma_operation__name #: model:ir.model.fields,field_description:rma.field_rma_operation__name
#: model:ir.model.fields,field_description:rma.field_rma_team__name #: model:ir.model.fields,field_description:rma.field_rma_team__name
@@ -684,7 +689,7 @@ msgstr ""
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:31 #: code:addons/rma/models/rma.py:31
#: code:addons/rma/models/rma.py:494 #: code:addons/rma/models/rma.py:494
#: code:addons/rma/models/rma.py:1100 #: code:addons/rma/models/rma.py:1101
#, python-format #, python-format
msgid "New" msgid "New"
msgstr "" msgstr ""
@@ -910,6 +915,16 @@ msgstr ""
msgid "RMA Code" msgid "RMA Code"
msgstr "" msgstr ""
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search
msgid "RMA Date"
msgstr ""
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search
msgid "RMA Deadline"
msgstr ""
#. module: rma #. module: rma
#: code:addons/rma/models/stock_warehouse.py:82 #: code:addons/rma/models/stock_warehouse.py:82
#, python-format #, python-format
@@ -1022,6 +1037,16 @@ msgstr ""
msgid "RMAs" msgid "RMAs"
msgstr "" msgstr ""
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search
msgid "RMAs which deadline has passed"
msgstr ""
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search
msgid "RMAs yet to be fully processed"
msgstr ""
#. module: rma #. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_form #: model_terms:ir.ui.view,arch_db:rma.rma_view_form
msgid "Receipt" msgid "Receipt"
@@ -1105,13 +1130,13 @@ msgid "Replaced"
msgstr "" msgstr ""
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:1010 #: code:addons/rma/models/rma.py:1011
#, python-format #, python-format
msgid "Replacement: Move <a href=\"#\" data-oe-model=\"stock.move\" data-oe-id=\"%d\">%s</a> (Picking <a href=\"#\" data-oe-model=\"stock.picking\" data-oe-id=\"%d\">%s</a>) has been created." msgid "Replacement: Move <a href=\"#\" data-oe-model=\"stock.move\" data-oe-id=\"%d\">%s</a> (Picking <a href=\"#\" data-oe-model=\"stock.picking\" data-oe-id=\"%d\">%s</a>) has been created."
msgstr "" msgstr ""
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:1021 #: code:addons/rma/models/rma.py:1022
#, python-format #, python-format
msgid "Replacement:<br/>Product <a href=\"#\" data-oe-model=\"product.product\" data-oe-id=\"%d\">%s</a><br/>Quantity %f %s<br/>This replacement did not create a new move, but one of the previously created moves was updated with this data." msgid "Replacement:<br/>Product <a href=\"#\" data-oe-model=\"product.product\" data-oe-id=\"%d\">%s</a><br/>Quantity %f %s<br/>This replacement did not create a new move, but one of the previously created moves was updated with this data."
msgstr "" msgstr ""
@@ -1156,7 +1181,7 @@ msgid "Return to customer"
msgstr "" msgstr ""
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:971 #: code:addons/rma/models/rma.py:972
#, python-format #, python-format
msgid "Return: <a href=\"#\" data-oe-model=\"stock.picking\" data-oe-id=\"%d\">%s</a> has been created." msgid "Return: <a href=\"#\" data-oe-model=\"stock.picking\" data-oe-id=\"%d\">%s</a> has been created."
msgstr "" msgstr ""
@@ -1252,7 +1277,7 @@ msgid "State"
msgstr "" msgstr ""
#. module: rma #. module: rma
#: code:addons/rma/controllers/main.py:40 #: code:addons/rma/controllers/main.py:44
#: model_terms:ir.ui.view,arch_db:rma.portal_my_rmas #: model_terms:ir.ui.view,arch_db:rma.portal_my_rmas
#, python-format #, python-format
msgid "Status" msgid "Status"
@@ -1397,6 +1422,11 @@ msgstr ""
msgid "Unread Messages Counter" msgid "Unread Messages Counter"
msgstr "" msgstr ""
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search
msgid "Unresolved RMAs"
msgstr ""
#. module: rma #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__product_uom #: model:ir.model.fields,field_description:rma.field_rma__product_uom
msgid "UoM" msgid "UoM"

View File

@@ -0,0 +1,10 @@
# Copyright 2020 Tecnativa - David Vidal
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from openupgradelib import openupgrade
@openupgrade.migrate()
def migrate(env, version):
# Convert Text description field to Html
openupgrade.convert_field_to_html(
env.cr, "rma", "description", "description")

View File

@@ -176,7 +176,7 @@ class Rma(models.Model):
copy=False, copy=False,
track_visibility="onchange", track_visibility="onchange",
) )
description = fields.Text( description = fields.Html(
states={ states={
'locked': [('readonly', True)], 'locked': [('readonly', True)],
'cancelled': [('readonly', True)], 'cancelled': [('readonly', True)],
@@ -965,8 +965,9 @@ class Rma(models.Model):
picking_id=picking.id, picking_id=picking.id,
rma_id=rma.id, rma_id=rma.id,
move_orig_ids=[(4, rma.reception_move_id.id)], move_orig_ids=[(4, rma.reception_move_id.id)],
company_id=picking.company_id.id,
) )
self.env['stock.move'].create(move_vals) self.env['stock.move'].sudo().create(move_vals)
rma.message_post( rma.message_post(
body=_( body=_(
'Return: <a href="#" data-oe-model="stock.picking" ' 'Return: <a href="#" data-oe-model="stock.picking" '
@@ -1070,7 +1071,7 @@ class Rma(models.Model):
): ):
self.ensure_one() self.ensure_one()
return { return {
'company_id': self.company_id.id, 'company_id': self.company_id,
'group_id': group_id, 'group_id': group_id,
'date_planned': scheduled_date, 'date_planned': scheduled_date,
'warehouse_id': warehouse, 'warehouse_id': warehouse,

View File

@@ -57,7 +57,7 @@ class StockMove(models.Model):
""" """
for move in self.filtered( for move in self.filtered(
lambda r: r.state not in ('done', 'cancel')): lambda r: r.state not in ('done', 'cancel')):
rma_receiver = move.rma_receiver_ids.sudo() rma_receiver = move.sudo().rma_receiver_ids
if (rma_receiver if (rma_receiver
and move.quantity_done != rma_receiver.product_uom_qty): and move.quantity_done != rma_receiver.product_uom_qty):
raise ValidationError( raise ValidationError(

View File

@@ -81,7 +81,7 @@
</div> </div>
<div t-if="doc.description"> <div t-if="doc.description">
<strong>RMA Note:</strong> <strong>RMA Note:</strong>
<p t-field="doc.description" /> <p t-raw="doc.description" />
</div> </div>
</div> </div>
</t> </t>

View File

@@ -16,7 +16,7 @@
<template id="portal_my_home_rma" name="Portal My Home : RMA entries" inherit_id="portal.portal_my_home" priority="30"> <template id="portal_my_home_rma" name="Portal My Home : RMA entries" inherit_id="portal.portal_my_home" priority="30">
<xpath expr="//div[hasclass('o_portal_docs')]" position="inside"> <xpath expr="//div[hasclass('o_portal_docs')]" position="inside">
<t t-call="portal.portal_docs_entry"> <t t-call="portal.portal_docs_entry" t-if="rma_count">
<t t-set="title">RMA Orders</t> <t t-set="title">RMA Orders</t>
<t t-set="url" t-value="'/my/rmas'"/> <t t-set="url" t-value="'/my/rmas'"/>
<t t-set="count" t-value="rma_count"/> <t t-set="count" t-value="rma_count"/>
@@ -256,7 +256,7 @@
<section id="description" class="mt-5" t-if="rma.description"> <section id="description" class="mt-5" t-if="rma.description">
<h3 class="">Description</h3> <h3 class="">Description</h3>
<hr class="mt-0 mb-1"/> <hr class="mt-0 mb-1"/>
<em t-field="rma.description"/> <t t-raw="rma.description"/>
</section> </section>
</t> </t>
</t> </t>

View File

@@ -19,6 +19,17 @@
string="Received" string="Received"
domain="[('state','=', 'received')]" /> domain="[('state','=', 'received')]" />
<separator /> <separator />
<filter string="Unresolved RMAs"
name="undone_rma"
domain="[('state', 'not in', ['refunded', 'returned', 'replaced', 'locked', 'cancelled'])]"
help="RMAs yet to be fully processed"/>
<filter string="Late RMAs"
name="late_rma"
domain="[('deadline', '&lt;', context_today().strftime('%Y-%m-%d')), ('state', 'not in', ['refunded', 'returned', 'replaced', 'locked', 'cancelled'])]"
help="RMAs which deadline has passed"/>
<separator />
<filter string="RMA Date" name="filter_rma_date" date="date"/>
<filter string="RMA Deadline" name="filter_rma_deadline" date="deadline"/>
<filter name="no_user_id_filter" <filter name="no_user_id_filter"
string="Unassigned RMAs" string="Unassigned RMAs"
domain="[('user_id','=', False)]" /> domain="[('user_id','=', False)]" />
@@ -48,7 +59,8 @@
<field name="model">rma</field> <field name="model">rma</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree decoration-muted="state in ['cancelled', 'locked']" <tree decoration-muted="state in ['cancelled', 'locked']"
decoration-bf="state == 'draft' and product_id == False"> decoration-bf="state == 'draft' and product_id == False"
decoration-danger="deadline and (deadline &lt; current_date)">
<field name="name"/> <field name="name"/>
<field name="origin"/> <field name="origin"/>
<field name="user_id"/> <field name="user_id"/>
@@ -208,8 +220,7 @@
</group> </group>
</group> </group>
<group> <group>
<label for="description" class="oe_edit_only"/> <field name="description" widget="html" colspan="4" />
<field name="description" colspan="4" nolabel="1"/>
</group> </group>
</page> </page>
</notebook> </notebook>