[MIG] rma: Migration to 15.0

This commit is contained in:
Nikolaus Weingartmair
2022-08-10 07:48:08 +02:00
committed by Víctor Martínez
parent c983c807b6
commit dd03cb78f1
19 changed files with 663 additions and 561 deletions

View File

@@ -14,13 +14,13 @@ Return Merchandise Authorization Management
: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/14.0/rma
:target: https://github.com/OCA/rma/tree/15.0/rma
:alt: OCA/rma
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/rma-14-0/rma-14-0-rma
:target: https://translation.odoo-community.org/projects/rma-15-0/rma-15-0-rma
: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/14.0
:target: https://runbot.odoo-community.org/runbot/145/15.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -138,7 +138,7 @@ 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:%20rma%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
`feedback <https://github.com/OCA/rma/issues/new?body=module:%20rma%0Aversion:%2015.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.
@@ -158,6 +158,7 @@ Contributors
* Ernesto Tejeda
* Pedro M. Baeza
* David Vidal
* Víctor Martínez
* Chafique Delli <chafique.delli@akretion.com>
* Giovanni Serra - Ooops <giovanni@ooops404.com>
@@ -183,6 +184,6 @@ Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
|maintainer-ernestotejeda|
This module is part of the `OCA/rma <https://github.com/OCA/rma/tree/14.0/rma>`_ project on GitHub.
This module is part of the `OCA/rma <https://github.com/OCA/rma/tree/15.0/rma>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

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

View File

@@ -30,31 +30,42 @@
<field name="parent_id" eval="ref('rma.mt_rma_notification')" />
<field name="relation_field">team_id</field>
</record>
<!--RMA email template -->
<record id="mail_template_rma_notification" model="mail.template">
<field name="name">RMA Notification</field>
<field name="model_id" ref="model_rma" />
<field name="email_from">${object.user_id.email_formatted |safe}</field>
<field name="partner_to">${object.partner_id.id}</field>
<field name="email_from">{{object.user_id.email_formatted}}</field>
<field name="partner_to">{{object.partner_id.id}}</field>
<field
name="subject"
>${object.company_id.name} RMA (Ref ${object.name or 'n/a' })</field>
>{{object.company_id.name}} RMA (Ref {{object.name or 'n/a' }})</field>
<field name="report_template" ref="report_rma_action" />
<field name="report_name">${(object.name or '')}</field>
<field name="lang">${object.partner_id.lang}</field>
<field name="report_name">{{(object.name or '')}}</field>
<field name="lang">{{object.partner_id.lang}}</field>
<field name="auto_delete" eval="True" />
<field name="body_html" type="html">
<div style="margin: 0px; padding: 0px;">
<p style="margin: 0px; padding: 0px; font-size: 13px;">
Dear ${object.partner_id.name}
% if object.partner_id.parent_id:
(${object.partner_id.parent_id.name})
% endif
<br /><br />
Here is the RMA <strong>${object.name}</strong> from ${object.company_id.name}.
<br /><br />
Do not hesitate to contact us if you have any question.
</p>
Dear
<t t-out="object.partner_id.name" />
<t t-if="object.partner_id.parent_id">
<t t-out="object.partner_id.parent_id.name" />
</t>
<br />
<br />
Here is the RMA
<strong>
<t t-out="object.name" />
</strong>
from
<t t-out="object.company_id.name" />
.
<br />
<br />
Do not hesitate to contact us if you have any question.
</p>
</div>
</field>
</record>
@@ -62,58 +73,73 @@
<record id="mail_template_rma_receipt_notification" model="mail.template">
<field name="name">RMA Receipt Notification</field>
<field name="model_id" ref="model_rma" />
<field name="email_from">${object.user_id.email_formatted |safe}</field>
<field name="partner_to">${object.partner_id.id}</field>
<field name="email_from">{{object.user_id.email_formatted }}</field>
<field name="partner_to">{{object.partner_id.id}}</field>
<field
name="subject"
>${object.company_id.name} RMA (Ref ${object.name or 'n/a' }) products received</field>
>{{object.company_id.name}} RMA (Ref {{object.name or 'n/a' }}) products received</field>
<field name="report_template" ref="report_rma_action" />
<field name="report_name">${(object.name or '')}</field>
<field name="lang">${object.partner_id.lang}</field>
<field name="report_name">{{(object.name or '')}}</field>
<field name="lang">{{object.partner_id.lang}}</field>
<field name="auto_delete" eval="True" />
<field name="body_html" type="html">
<div style="margin: 0px; padding: 0px;">
<p style="margin: 0px; padding: 0px; font-size: 13px;">
Dear ${object.partner_id.name}
% if object.partner_id.parent_id:
(${object.partner_id.parent_id.name})
% endif
<br /><br />
The products for your RMA <strong>${object.name}</strong>
from ${object.company_id.name} have been received in our warehouse.
<br /><br />
Do not hesitate to contact us if you have any question.
</p>
</div>
<div style="margin: 0px; padding: 0px;">
<p style="margin: 0px; padding: 0px; font-size: 13px;">
Dear
<t t-out="object.partner_id.name" />
<t t-if="object.partner_id.parent_id">
<t t-out="object.partner_id.parent_id.name" />
</t>
<br />
<br />
The products for your RMA
<strong>
<t t-out="object.name" />
</strong>
from
<t t-out="object.company_id.name" />
have been received in our warehouse.
<br />
<br />
Do not hesitate to contact us if you have any question.
</p>
</div>
</field>
</record>
<record id="mail_template_rma_draft_notification" model="mail.template">
<field name="name">RMA Draft Notification</field>
<field name="model_id" ref="model_rma" />
<field name="email_from">${object.user_id.email_formatted |safe}</field>
<field name="partner_to">${object.partner_id.id}</field>
<field name="email_from">{{object.user_id.email_formatted}}</field>
<field name="partner_to">{{object.partner_id.id}}</field>
<field
name="subject"
>${object.company_id.name} Your RMA has been succesfully created (Ref ${object.name or 'n/a' })</field>
>{{object.company_id.name}} Your RMA has been succesfully created (Ref {{object.name or 'n/a' }})</field>
<field name="report_template" ref="report_rma_action" />
<field name="report_name">${(object.name or '')}</field>
<field name="lang">${object.partner_id.lang}</field>
<field name="report_name">{{(object.name or '')}}</field>
<field name="lang">{{object.partner_id.lang}}</field>
<field name="auto_delete" eval="True" />
<field name="body_html" type="html">
<div style="margin: 0px; padding: 0px;">
<p style="margin: 0px; padding: 0px; font-size: 13px;">
Dear ${object.partner_id.name}
% if object.partner_id.parent_id:
(${object.partner_id.parent_id.name})
% endif
<br /><br />
You've succesfully placed your RMA <strong>${object.name}</strong>
on ${object.company_id.name}. Our team will check it and will validate
it as soon as possible.
<br /><br />
Do not hesitate to contact us if you have any question.
</p>
</div>
<div style="margin: 0px; padding: 0px;">
<p style="margin: 0px; padding: 0px; font-size: 13px;">
Dear
<t t-out="object.partner_id.name" />
<t t-if="object.partner_id.parent_id">
<t t-out="object.partner_id.parent_id.name" />
</t>
<br />
<br />
You've succesfully placed your RMA
<strong>
<t t-out="object.name" />
</strong>
on
<t t-out="object.company_id.name" />
. Our team will check it and will validate it as soon as possible.
<br />
<br />
Do not hesitate to contact us if you have any question.
</p>
</div>
</field>
</record>
</data>

View File

@@ -6,47 +6,16 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-23 20:11+0000\n"
"PO-Revision-Date: 2022-01-17 12:39+0000\n"
"POT-Creation-Date: 2022-08-09 08:07+0000\n"
"PO-Revision-Date: 2022-08-09 10:16+0200\n"
"Last-Translator: xavigutipujol <jgutierrez@pyming.com>\n"
"Language-Team: \n"
"Language: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.3.2\n"
#. module: rma
#: model:mail.template,report_name:rma.mail_template_rma_draft_notification
#: model:mail.template,report_name:rma.mail_template_rma_notification
#: model:mail.template,report_name:rma.mail_template_rma_receipt_notification
msgid "${(object.name or '')}"
msgstr "${(object.name or '')}"
#. module: rma
#: model:mail.template,subject:rma.mail_template_rma_notification
msgid "${object.company_id.name} RMA (Ref ${object.name or 'n/a' })"
msgstr "${object.company_id.name} RMA (Ref ${object.name or 'n/a' })"
#. module: rma
#: model:mail.template,subject:rma.mail_template_rma_receipt_notification
#, fuzzy
msgid ""
"${object.company_id.name} RMA (Ref ${object.name or 'n/a' }) products "
"received"
msgstr ""
"${object.company_id.name} RMA (Ref ${object.name or 'n/a' }) productos "
"recibidos"
#. module: rma
#: model:mail.template,subject:rma.mail_template_rma_draft_notification
msgid ""
"${object.company_id.name} Your RMA has been succesfully created (Ref "
"${object.name or 'n/a' })"
msgstr ""
"${object.company_id.name} Su RMA se ha creado con éxito (Ref ${object.name "
"or 'n/a' })"
"X-Generator: Poedit 2.3\n"
#. module: rma
#: code:addons/rma/models/rma_team.py:0
@@ -61,27 +30,54 @@ msgstr ""
#. module: rma
#: code:addons/rma/models/rma.py:0
#, python-format
msgid "<b>E-mail subject:</b> %s<br/><br/><b>E-mail body:</b><br/>%s"
#, fuzzy, python-format
#| msgid "<b>E-mail subject:</b> %s<br/><br/><b>E-mail body:</b><br/>%s"
msgid ""
"<b>E-mail subject:</b> %(subject)s<br/><br/><b>E-mail body:</b><br/>%(body)s"
msgstr ""
"<b>Asunto del correo electrónico:</b> %s<br/><br/><b>Cuerpo del correo "
"electrónico:</b><br/>%s"
"<b>Asunto del correo electrónico:</b> %(subject)s<br/><br/><b>Cuerpo del correo "
"electrónico:</b><br/>%(body)s"
#. module: rma
#: model:mail.template,body_html:rma.mail_template_rma_notification
#, fuzzy
#| msgid ""
#| "<div style=\"margin: 0px; padding: 0px;\">\n"
#| " <p style=\"margin: 0px; padding: 0px; font-size: 13px;"
#| "\">\n"
#| " Dear ${object.partner_id.name}\n"
#| " % if object.partner_id.parent_id:\n"
#| " (${object.partner_id.parent_id.name})\n"
#| " % endif\n"
#| " <br/><br/>\n"
#| " Here is the RMA <strong>${object.name}</strong> from ${object."
#| "company_id.name}.\n"
#| " <br/><br/>\n"
#| " Do not hesitate to contact us if you have any question.\n"
#| "</p>\n"
#| " </div>\n"
#| " "
msgid ""
"<div style=\"margin: 0px; padding: 0px;\">\n"
" <p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
" Dear ${object.partner_id.name}\n"
" % if object.partner_id.parent_id:\n"
" (${object.partner_id.parent_id.name})\n"
" % endif\n"
" <br/><br/>\n"
" Here is the RMA <strong>${object.name}</strong> from ${object.company_id."
"name}.\n"
" <br/><br/>\n"
" Do not hesitate to contact us if you have any question.\n"
"</p>\n"
" Dear\n"
" <t t-out=\"object.partner_id.name\"/>\n"
" <t t-if=\"object.partner_id.parent_id\">\n"
" <t t-out=\"object.partner_id.parent_id.name\"/>\n"
" </t>\n"
" <br/>\n"
" <br/>\n"
" Here is the RMA\n"
" <strong>\n"
" <t t-out=\"object.name\"/>\n"
" </strong>\n"
" from\n"
" <t t-out=\"object.company_id.name\"/>\n"
" .\n"
" <br/>\n"
" <br/>\n"
" Do not hesitate to contact us if you have any question.\n"
" </p>\n"
" </div>\n"
" "
msgstr ""
@@ -102,20 +98,44 @@ msgstr ""
#. module: rma
#: model:mail.template,body_html:rma.mail_template_rma_receipt_notification
#, fuzzy
#| msgid ""
#| "<div style=\"margin: 0px; padding: 0px;\">\n"
#| "<p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
#| " Dear ${object.partner_id.name}\n"
#| " % if object.partner_id.parent_id:\n"
#| " (${object.partner_id.parent_id.name})\n"
#| " % endif\n"
#| " <br/><br/>\n"
#| " The products for your RMA <strong>${object.name}</strong>\n"
#| " from ${object.company_id.name} have been received in our warehouse.\n"
#| " <br/><br/>\n"
#| " Do not hesitate to contact us if you have any question.\n"
#| "</p>\n"
#| "</div>\n"
#| " "
msgid ""
"<div style=\"margin: 0px; padding: 0px;\">\n"
"<p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
" Dear ${object.partner_id.name}\n"
" % if object.partner_id.parent_id:\n"
" (${object.partner_id.parent_id.name})\n"
" % endif\n"
" <br/><br/>\n"
" The products for your RMA <strong>${object.name}</strong>\n"
" from ${object.company_id.name} have been received in our warehouse.\n"
" <br/><br/>\n"
" Do not hesitate to contact us if you have any question.\n"
"</p>\n"
"</div>\n"
" <p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
" Dear\n"
" <t t-out=\"object.partner_id.name\"/>\n"
" <t t-if=\"object.partner_id.parent_id\">\n"
" <t t-out=\"object.partner_id.parent_id.name\"/>\n"
" </t>\n"
" <br/>\n"
" <br/>\n"
" The products for your RMA\n"
" <strong>\n"
" <t t-out=\"object.name\"/>\n"
" </strong>\n"
" from\n"
" <t t-out=\"object.company_id.name\"/>\n"
" have been received in our warehouse.\n"
" <br/>\n"
" <br/>\n"
" Do not hesitate to contact us if you have any question.\n"
" </p>\n"
" </div>\n"
" "
msgstr ""
"<div style=\"margin: 0px; padding: 0px;\">\n"
@@ -135,21 +155,47 @@ msgstr ""
#. module: rma
#: model:mail.template,body_html:rma.mail_template_rma_draft_notification
#, fuzzy
#| msgid ""
#| "<div style=\"margin: 0px; padding: 0px;\">\n"
#| "<p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
#| " Dear ${object.partner_id.name}\n"
#| " % if object.partner_id.parent_id:\n"
#| " (${object.partner_id.parent_id.name})\n"
#| " % endif\n"
#| " <br/><br/>\n"
#| " You've succesfully placed your RMA <strong>${object.name}</strong>\n"
#| " on ${object.company_id.name}. Our team will check it and will "
#| "validate\n"
#| " it as soon as possible.\n"
#| " <br/><br/>\n"
#| " Do not hesitate to contact us if you have any question.\n"
#| "</p>\n"
#| "</div>\n"
#| " "
msgid ""
"<div style=\"margin: 0px; padding: 0px;\">\n"
"<p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
" Dear ${object.partner_id.name}\n"
" % if object.partner_id.parent_id:\n"
" (${object.partner_id.parent_id.name})\n"
" % endif\n"
" <br/><br/>\n"
" You've succesfully placed your RMA <strong>${object.name}</strong>\n"
" on ${object.company_id.name}. Our team will check it and will validate\n"
" it as soon as possible.\n"
" <br/><br/>\n"
" Do not hesitate to contact us if you have any question.\n"
"</p>\n"
"</div>\n"
" <p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
" Dear\n"
" <t t-out=\"object.partner_id.name\"/>\n"
" <t t-if=\"object.partner_id.parent_id\">\n"
" <t t-out=\"object.partner_id.parent_id.name\"/>\n"
" </t>\n"
" <br/>\n"
" <br/>\n"
" You've succesfully placed your RMA\n"
" <strong>\n"
" <t t-out=\"object.name\"/>\n"
" </strong>\n"
" on\n"
" <t t-out=\"object.company_id.name\"/>\n"
" . Our team will check it and will validate it as soon as "
"possible.\n"
" <br/>\n"
" <br/>\n"
" Do not hesitate to contact us if you have any question.\n"
" </p>\n"
" </div>\n"
" "
msgstr ""
"<div style=\"margin: 0px; padding: 0px;\">\n"
@@ -418,7 +464,7 @@ msgstr "Actividades"
#. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__activity_exception_decoration
msgid "Activity Exception Decoration"
msgstr ""
msgstr "Decoración de excepción de actividad"
#. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__activity_state
@@ -534,7 +580,7 @@ msgstr "Cancelado"
#. module: rma
#: model:ir.model.fields,field_description:rma.field_rma_delivery_wizard__uom_category_id
msgid "Category"
msgstr ""
msgstr "Categoría"
#. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__uom_category_id
@@ -697,12 +743,12 @@ msgstr "Entregar"
#. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__delivered_qty
msgid "Delivered qty"
msgid "Delivered Qty"
msgstr "Ctd. entregada"
#. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__delivered_qty_done
msgid "Delivered qty done"
msgid "Delivered Qty Done"
msgstr "Ctd. entregada realizada"
#. module: rma
@@ -727,12 +773,6 @@ msgid "Description"
msgstr "Descripción"
#. module: rma
#: model:ir.model.fields,field_description:rma.field_account_move__display_name
#: model:ir.model.fields,field_description:rma.field_account_move_line__display_name
#: model:ir.model.fields,field_description:rma.field_res_company__display_name
#: model:ir.model.fields,field_description:rma.field_res_config_settings__display_name
#: model:ir.model.fields,field_description:rma.field_res_partner__display_name
#: model:ir.model.fields,field_description:rma.field_res_users__display_name
#: model:ir.model.fields,field_description:rma.field_rma__display_name
#: model:ir.model.fields,field_description:rma.field_rma_delivery_wizard__display_name
#: model:ir.model.fields,field_description:rma.field_rma_finalization__display_name
@@ -741,11 +781,6 @@ msgstr "Descripción"
#: model:ir.model.fields,field_description:rma.field_rma_split_wizard__display_name
#: model:ir.model.fields,field_description:rma.field_rma_tag__display_name
#: model:ir.model.fields,field_description:rma.field_rma_team__display_name
#: model:ir.model.fields,field_description:rma.field_stock_move__display_name
#: model:ir.model.fields,field_description:rma.field_stock_picking__display_name
#: model:ir.model.fields,field_description:rma.field_stock_return_picking__display_name
#: model:ir.model.fields,field_description:rma.field_stock_rule__display_name
#: model:ir.model.fields,field_description:rma.field_stock_warehouse__display_name
msgid "Display Name"
msgstr "Nombre mostrado"
@@ -871,12 +906,6 @@ msgstr "Finalizado"
msgid "Followers"
msgstr "Seguidores"
#. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__message_channel_ids
#: model:ir.model.fields,field_description:rma.field_rma_team__message_channel_ids
msgid "Followers (Channels)"
msgstr "Seguidores (Canales)"
#. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__message_partner_ids
#: model:ir.model.fields,field_description:rma.field_rma_team__message_partner_ids
@@ -908,12 +937,12 @@ msgstr ""
"Agrupar las devoluciones de RMA a cliente por dirección de envío y almacén"
#. module: rma
#: model:ir.model.fields,field_description:rma.field_account_move__id
#: model:ir.model.fields,field_description:rma.field_account_move_line__id
#: model:ir.model.fields,field_description:rma.field_res_company__id
#: model:ir.model.fields,field_description:rma.field_res_config_settings__id
#: model:ir.model.fields,field_description:rma.field_res_partner__id
#: model:ir.model.fields,field_description:rma.field_res_users__id
#: model:ir.model.fields,field_description:rma.field_rma__has_message
#: model:ir.model.fields,field_description:rma.field_rma_team__has_message
msgid "Has Message"
msgstr ""
#. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__id
#: model:ir.model.fields,field_description:rma.field_rma_delivery_wizard__id
#: model:ir.model.fields,field_description:rma.field_rma_finalization__id
@@ -922,13 +951,8 @@ msgstr ""
#: model:ir.model.fields,field_description:rma.field_rma_split_wizard__id
#: model:ir.model.fields,field_description:rma.field_rma_tag__id
#: model:ir.model.fields,field_description:rma.field_rma_team__id
#: model:ir.model.fields,field_description:rma.field_stock_move__id
#: model:ir.model.fields,field_description:rma.field_stock_picking__id
#: model:ir.model.fields,field_description:rma.field_stock_return_picking__id
#: model:ir.model.fields,field_description:rma.field_stock_rule__id
#: model:ir.model.fields,field_description:rma.field_stock_warehouse__id
msgid "ID"
msgstr ""
msgstr "ID"
#. module: rma
#: model:ir.model.fields,help:rma.field_rma_team__alias_parent_thread_id
@@ -947,7 +971,7 @@ msgstr "Icono"
#. module: rma
#: model:ir.model.fields,help:rma.field_rma__activity_exception_icon
msgid "Icon to indicate an exception activity."
msgstr ""
msgstr "Icono para indicar una actividad de excepción."
#. module: rma
#: model:ir.model.fields,help:rma.field_rma__message_needaction
@@ -1011,7 +1035,7 @@ msgstr "Es un seguidor"
#. module: rma
#: model:ir.model,name:rma.model_account_move
msgid "Journal Entry"
msgstr ""
msgstr "Asiento contable"
#. module: rma
#: model:ir.model,name:rma.model_account_move_line
@@ -1019,12 +1043,6 @@ msgid "Journal Item"
msgstr "Apunte contable"
#. module: rma
#: model:ir.model.fields,field_description:rma.field_account_move____last_update
#: model:ir.model.fields,field_description:rma.field_account_move_line____last_update
#: model:ir.model.fields,field_description:rma.field_res_company____last_update
#: model:ir.model.fields,field_description:rma.field_res_config_settings____last_update
#: model:ir.model.fields,field_description:rma.field_res_partner____last_update
#: model:ir.model.fields,field_description:rma.field_res_users____last_update
#: model:ir.model.fields,field_description:rma.field_rma____last_update
#: model:ir.model.fields,field_description:rma.field_rma_delivery_wizard____last_update
#: model:ir.model.fields,field_description:rma.field_rma_finalization____last_update
@@ -1033,11 +1051,6 @@ msgstr "Apunte contable"
#: model:ir.model.fields,field_description:rma.field_rma_split_wizard____last_update
#: model:ir.model.fields,field_description:rma.field_rma_tag____last_update
#: model:ir.model.fields,field_description:rma.field_rma_team____last_update
#: model:ir.model.fields,field_description:rma.field_stock_move____last_update
#: model:ir.model.fields,field_description:rma.field_stock_picking____last_update
#: model:ir.model.fields,field_description:rma.field_stock_return_picking____last_update
#: model:ir.model.fields,field_description:rma.field_stock_rule____last_update
#: model:ir.model.fields,field_description:rma.field_stock_warehouse____last_update
msgid "Last Modified on"
msgstr "Última modificación en"
@@ -1180,7 +1193,7 @@ msgstr "Ninguno de los RMAs seleccionados puede realizar una devolución."
#. module: rma
#: model:ir.model.fields.selection,name:rma.selection__rma__priority__0
msgid "Normal"
msgstr ""
msgstr "Normal"
#. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__message_needaction_counter
@@ -1347,11 +1360,11 @@ msgstr "Cantidad a extraer"
#: code:addons/rma/models/rma.py:0
#, python-format
msgid ""
"Quantity to extract cannot be greater than remaining delivery quantity (%s "
"%s)"
"Quantity to extract cannot be greater than remaining delivery quantity "
"(%(remaining_qty)s %(product_uom)s)"
msgstr ""
"La cantidad a extraer no puede ser mayor que la cantidad de entrega "
"restante(%s %s)"
"restante(%(remaining_qty)s %(product_uom)s)"
#. module: rma
#: model:ir.model.fields,help:rma.field_rma_split_wizard__product_uom_qty
@@ -1409,6 +1422,11 @@ msgstr "Órdenes de entrega de RMA"
msgid "RMA Delivery Wizard"
msgstr "Asistente de entrega de RMA"
#. module: rma
#: model:mail.template,name:rma.mail_template_rma_draft_notification
msgid "RMA Draft Notification"
msgstr ""
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.view_rma_finalization_form
msgid "RMA Finalization"
@@ -1423,7 +1441,6 @@ msgstr "Motivo de finalización de RMA"
#: model:ir.actions.act_window,name:rma.action_rma_finalization
#: model:ir.ui.menu,name:rma.rma_configuration_rma_finalization_menu
#: model_terms:ir.ui.view,arch_db:rma.rma_finalization_view_search
#: model_terms:ir.ui.view,arch_db:rma.view_rma_finalization_list
msgid "RMA Finalization Reasons"
msgstr "Motivos de finalización de RMA"
@@ -1450,6 +1467,7 @@ msgstr ""
#. module: rma
#: model:mail.message.subtype,name:rma.mt_rma_notification
#: model:mail.message.subtype,name:rma.mt_rma_team_rma_notification
#: model:mail.template,name:rma.mail_template_rma_notification
msgid "RMA Notification"
msgstr "Notificación de RMA"
@@ -1475,6 +1493,11 @@ msgstr "Tipo de operación para entrega de RMA"
msgid "RMA Receipt Confirmation Email"
msgstr "Correo de confirmación de recepción de RMA"
#. module: rma
#: model:mail.template,name:rma.mail_template_rma_receipt_notification
msgid "RMA Receipt Notification"
msgstr ""
#. module: rma
#: code:addons/rma/models/stock_warehouse.py:0
#, python-format
@@ -1501,7 +1524,6 @@ msgstr "Etiqueta RMA"
#: model:ir.model,name:rma.model_rma_tag
#: model:ir.ui.menu,name:rma.rma_configuration_rma_tag_menu
#: model_terms:ir.ui.view,arch_db:rma.rma_tag_view_search
#: model_terms:ir.ui.view,arch_db:rma.view_rma_tag_list
msgid "RMA Tags"
msgstr "Etiquetas RMA"
@@ -1629,16 +1651,16 @@ msgstr "Referencia al documento que generó este RMA."
msgid "Refund"
msgstr "Factura rectificativa"
#. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__refund_line_id
msgid "Refund Line"
msgstr ""
#. module: rma
#: model:ir.model.fields,help:rma.field_rma__partner_invoice_id
msgid "Refund address for current RMA."
msgstr "Dirección de facturación de este RMA."
#. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__refund_line_id
msgid "Refund line"
msgstr "Línea de factura rectificativa"
#. module: rma
#: model:ir.model.fields.selection,name:rma.selection__rma__state__refunded
msgid "Refunded"
@@ -1680,27 +1702,29 @@ msgstr "Reemplazado"
#: code:addons/rma/models/rma.py:0
#, 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."
"Replacement: Move <a href=\"#\" data-oe-model=\"stock.move\" data-oe-id="
"\"%(move_id)d\">%(move_name)s</a> (Picking <a href=\"#\" data-oe-model="
"\"stock.picking\" data-oe-id=\"%(picking_id)d\"> %(picking_name)s</a>) has "
"been created."
msgstr ""
"Reemplazo: El movimiento <a href=\"#\" data-oe-model=\"stock.move\" data-oe-"
"id=\"%d\">%s</a> (Orden de entrega <a href=\"#\" data-oe-model=\"stock."
"picking\" data-oe-id=\"%d\">%s</a>) ha sido creado."
"id=\"%(move_id)d\">%(move_name)s</a> (Orden de entrega <a href=\"#\" data-oe-"
"model=\"stock.picking\" data-oe-id=\"%(picking_id)d\">%(picking_name)s</a>) "
"ha sido creado."
#. module: rma
#: code:addons/rma/models/rma.py:0
#, 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."
"data-oe-id=\"%(id)d\">%(name)s</a><br/>Quantity %(qty)s %(uom)s<br/>This "
"replacement did not create a new move, but one of the previously created "
"moves was updated with this data."
msgstr ""
"Reemplazo:<br/>Producto <a href=\"#\" data-oe-model=\"product.product\" data-"
"oe-id=\"%d\">%s</a><br/>Cantidad %f %s<br/>El reemplazo realizado no creó un "
"movimiento nuevo, pero uno de los movimientos creados anteriormente fué "
"actualizado con estos datos."
"oe-id=\"%(id)d\">%(name)s</a><br/>Cantidad %(qty) s%(uom)s<br/>El reemplazo "
"realizado no creó un movimiento nuevo, pero uno de los movimientos creados "
"anteriormente fué actualizado con estos datos."
#. module: rma
#: model:ir.ui.menu,name:rma.rma_reporting_menu
@@ -1745,11 +1769,11 @@ msgstr "Devolver al cliente"
#: code:addons/rma/models/rma.py:0
#, python-format
msgid ""
"Return: <a href=\"#\" data-oe-model=\"stock.picking\" data-oe-id=\"%d\">%s</"
"a> has been created."
"Return: <a href=\"#\" data-oe-model=\"stock.picking\" data-oe-id=\"%(id)d\">"
"%(name)s</a> has been created."
msgstr ""
"Devolución: La orden de entrega <a href=\"#\" data-oe-model=\"stock.picking"
"\" data-oe-id=\"%d\">%s</a> ha sido creada."
"\" data-oe-id=\"%(id)d\">%(name)s</a> ha sido creada."
#. module: rma
#: model:ir.model.fields.selection,name:rma.selection__rma__state__returned
@@ -1887,11 +1911,11 @@ msgstr "Dividir RMA"
#: code:addons/rma/models/rma.py:0
#, python-format
msgid ""
"Split: <a href=\"#\" data-oe-model=\"rma\" data-oe-id=\"%d\">%s</a> has been "
"created."
"Split: <a href=\"#\" data-oe-model=\"rma\" data-oe-id=\"%(id)d\">%(name)s</"
"a> has been created."
msgstr ""
"División: El RMA <a href=\"#\" data-oe-model=\"rma\" data-oe-id=\"%d\">%s</"
"a> ha sido creado."
"División: El RMA <a href=\"#\" data-oe-model=\"rma\" data-oe-id=\"%(id)d\">"
"%(name)s</a> ha sido creado."
#. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__state
@@ -1968,7 +1992,7 @@ msgstr "¡El nombre de operación ya existe!"
#. module: rma
#: model:ir.model.fields,help:rma.field_rma_tag__active
msgid "The active field allows you to hide the category without removing it."
msgstr ""
msgstr "El campo activo le permite ocultar la clase sin tener que eliminarla."
#. module: rma
#: model:ir.model.fields,help:rma.field_rma_team__alias_model_id
@@ -2008,11 +2032,11 @@ msgstr ""
#: code:addons/rma/models/stock_move.py:0
#, python-format
msgid ""
"The quantity done for the product '%s' must be equal to its initial demand "
"because the stock move is linked to an RMA (%s)."
"The quantity done for the product '%(id)s' must be equal to its initial "
"demand because the stock move is linked to an RMA (%(name)s)."
msgstr ""
"La cantidad realizada para el producto '%s' debe ser igual a la demanda "
"inicial porque el movimiento está enlazado a un RMA (%s)."
"La cantidad realizada para el producto '%(id)s' debe ser igual a la demanda "
"inicial porque el movimiento está enlazado a un RMA (%(name)s)."
#. module: rma
#: code:addons/rma/models/rma.py:0
@@ -2077,7 +2101,7 @@ msgstr "Tipo de operación"
#. module: rma
#: model:ir.model.fields,help:rma.field_rma__activity_exception_decoration
msgid "Type of the exception activity on record."
msgstr ""
msgstr "Tipo de actividad de excepción en registro."
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search
@@ -2247,3 +2271,36 @@ msgid ""
msgstr ""
"El usuario tendrá acceso a la configuración de RMA y a los informes "
"estadísticos."
#. module: rma
#: model:mail.template,report_name:rma.mail_template_rma_draft_notification
#: model:mail.template,report_name:rma.mail_template_rma_notification
#: model:mail.template,report_name:rma.mail_template_rma_receipt_notification
msgid "{{(object.name or '')}}"
msgstr "{{(object.name or '')}}"
#. module: rma
#: model:mail.template,subject:rma.mail_template_rma_notification
msgid "{{object.company_id.name}} RMA (Ref {{object.name or 'n/a' }})"
msgstr "{{object.company_id.name}} RMA (Ref {{object.name or 'n/a' }})"
#. module: rma
#: model:mail.template,subject:rma.mail_template_rma_receipt_notification
msgid ""
"{{object.company_id.name}} RMA (Ref {{object.name or 'n/a' }}) products "
"received"
msgstr ""
"{{object.company_id.name}} RMA (Ref {{object.name or 'n/a' }}) productos "
"recibidos"
#. module: rma
#: model:mail.template,subject:rma.mail_template_rma_draft_notification
msgid ""
"{{object.company_id.name}} Your RMA has been succesfully created (Ref "
"{{object.name or 'n/a' }})"
msgstr ""
"{{object.company_id.name}} Su RMA se ha creado con éxito (Ref {{object.name "
"or 'n/a' }})"
#~ msgid "Followers (Channels)"
#~ msgstr "Seguidores (Canales)"

View File

@@ -2255,6 +2255,3 @@ msgid ""
"the user will have an access to the RMA configuration as well as statistic "
"reports."
msgstr "l'utente avrà accesso alla configurazione RMA e ai report statistici."
#~ msgid "<strong>Invoicing address:</strong>"
#~ msgstr "<strong>Indirizzo di fatturazione:</strong>"

View File

@@ -2188,6 +2188,3 @@ msgid ""
msgstr ""
"o utilizador terá acesso à configuração RMA, bem como aos relatórios "
"estatísticos."
#~ msgid "<strong>Invoicing address:</strong>"
#~ msgstr "<strong>Endereço de Cobrança:</strong>"

View File

@@ -2183,88 +2183,3 @@ msgid ""
msgstr ""
"o usuário terá acesso à configuração RMA, bem como aos relatórios "
"estatísticos."
#~ msgid "<strong>Invoicing address:</strong>"
#~ msgstr "<strong>Endereço de Cobrança:</strong>"
#~ msgid "Not urgent"
#~ msgstr "Não é urgente"
#~ msgid "Very Urgent"
#~ msgstr "Muito Urgente"
#~ msgid ""
#~ "<div style=\"margin: 0px; padding: 0px;\">\n"
#~ "<p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
#~ " Dear ${object.partner_id.name}\n"
#~ " % if object.partner_id.parent_id:\n"
#~ " (${object.partner_id.parent_id.name})\n"
#~ " % endif\n"
#~ " <br/><br/>\n"
#~ " Here is the RMA <strong>${object.name}</strong> from ${object."
#~ "company_id.name}.\n"
#~ " <br/><br/>\n"
#~ " Do not hesitate to contact us if you have any question.\n"
#~ "</p>\n"
#~ "</div>\n"
#~ " "
#~ msgstr ""
#~ "<div style=\"margin: 0px; padding: 0px;\">\n"
#~ "<p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
#~ " Dear ${object.partner_id.name}\n"
#~ " % if object.partner_id.parent_id:\n"
#~ " (${object.partner_id.parent_id.name})\n"
#~ " % endif\n"
#~ " <br/><br/>\n"
#~ " Aqui está o RMA <strong>${object.name}</strong> from ${object."
#~ "company_id.name}.\n"
#~ " <br/><br/>\n"
#~ " Não deixe de nos contactar se houver qualquer dúvida ou outra "
#~ "questão.\n"
#~ "</p>\n"
#~ "</div>\n"
#~ " "
#~ msgid "<i class=\"fa fa-fw fa-check\"/> <b>Paid</b>"
#~ msgstr "<i class=\"fa fa-fw fa-check\"/> <b>Pago</b>"
#~ msgid "<i class=\"fa fa-fw fa-clock-o\"/> <b>Waiting Payment</b>"
#~ msgstr "<i class=\"fa fa-fw fa-clock-o\"/> <b>Aguardando Pagamento</b>"
#~ msgid ""
#~ "E-mail subject: %s\n"
#~ "\n"
#~ "E-mail body:\n"
#~ "%s"
#~ msgstr ""
#~ "Assunto do E-mail: %s\n"
#~ "\n"
#~ "Corpo do E-mail:\n"
#~ "%s"
#~ msgid "If checked new messages require your attention."
#~ msgstr "Se marcada, novas mensagens requerem sua atenção."
#~ msgid "Invoice"
#~ msgstr "Fatura"
#~ msgid "Invoice Line"
#~ msgstr "Linha da Fatura"
#~ msgid "Number of error"
#~ msgstr "Número de Erros"
#~ msgid "Overdue"
#~ msgstr "Vencidos(as)"
#~ msgid "Planned"
#~ msgstr "Planejado)a)"
#~ msgid "Today"
#~ msgstr "Hoje"
#~ msgid "Waiting for refund"
#~ msgstr "Aguardando Restituição"
#~ msgid "New RMA in draft state"
#~ msgstr "Novo Rascunho de RMA"

View File

@@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -13,32 +13,6 @@ msgstr ""
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: rma
#: model:mail.template,report_name:rma.mail_template_rma_draft_notification
#: model:mail.template,report_name:rma.mail_template_rma_notification
#: model:mail.template,report_name:rma.mail_template_rma_receipt_notification
msgid "${(object.name or '')}"
msgstr ""
#. module: rma
#: model:mail.template,subject:rma.mail_template_rma_notification
msgid "${object.company_id.name} RMA (Ref ${object.name or 'n/a' })"
msgstr ""
#. module: rma
#: model:mail.template,subject:rma.mail_template_rma_receipt_notification
msgid ""
"${object.company_id.name} RMA (Ref ${object.name or 'n/a' }) products "
"received"
msgstr ""
#. module: rma
#: model:mail.template,subject:rma.mail_template_rma_draft_notification
msgid ""
"${object.company_id.name} Your RMA has been succesfully created (Ref "
"${object.name or 'n/a' })"
msgstr ""
#. module: rma
#: code:addons/rma/models/rma_team.py:0
#, python-format
@@ -53,7 +27,8 @@ msgstr ""
#. module: rma
#: code:addons/rma/models/rma.py:0
#, python-format
msgid "<b>E-mail subject:</b> %s<br/><br/><b>E-mail body:</b><br/>%s"
msgid ""
"<b>E-mail subject:</b> %(subject)s<br/><br/><b>E-mail body:</b><br/>%(body)s"
msgstr ""
#. module: rma
@@ -61,15 +36,24 @@ msgstr ""
msgid ""
"<div style=\"margin: 0px; padding: 0px;\">\n"
" <p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
" Dear ${object.partner_id.name}\n"
" % if object.partner_id.parent_id:\n"
" (${object.partner_id.parent_id.name})\n"
" % endif\n"
" <br/><br/>\n"
" Here is the RMA <strong>${object.name}</strong> from ${object.company_id.name}.\n"
" <br/><br/>\n"
" Do not hesitate to contact us if you have any question.\n"
"</p>\n"
" Dear\n"
" <t t-out=\"object.partner_id.name\"/>\n"
" <t t-if=\"object.partner_id.parent_id\">\n"
" <t t-out=\"object.partner_id.parent_id.name\"/>\n"
" </t>\n"
" <br/>\n"
" <br/>\n"
" Here is the RMA\n"
" <strong>\n"
" <t t-out=\"object.name\"/>\n"
" </strong>\n"
" from\n"
" <t t-out=\"object.company_id.name\"/>\n"
" .\n"
" <br/>\n"
" <br/>\n"
" Do not hesitate to contact us if you have any question.\n"
" </p>\n"
" </div>\n"
" "
msgstr ""
@@ -78,18 +62,26 @@ msgstr ""
#: model:mail.template,body_html:rma.mail_template_rma_receipt_notification
msgid ""
"<div style=\"margin: 0px; padding: 0px;\">\n"
"<p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
" Dear ${object.partner_id.name}\n"
" % if object.partner_id.parent_id:\n"
" (${object.partner_id.parent_id.name})\n"
" % endif\n"
" <br/><br/>\n"
" The products for your RMA <strong>${object.name}</strong>\n"
" from ${object.company_id.name} have been received in our warehouse.\n"
" <br/><br/>\n"
" Do not hesitate to contact us if you have any question.\n"
"</p>\n"
"</div>\n"
" <p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
" Dear\n"
" <t t-out=\"object.partner_id.name\"/>\n"
" <t t-if=\"object.partner_id.parent_id\">\n"
" <t t-out=\"object.partner_id.parent_id.name\"/>\n"
" </t>\n"
" <br/>\n"
" <br/>\n"
" The products for your RMA\n"
" <strong>\n"
" <t t-out=\"object.name\"/>\n"
" </strong>\n"
" from\n"
" <t t-out=\"object.company_id.name\"/>\n"
" have been received in our warehouse.\n"
" <br/>\n"
" <br/>\n"
" Do not hesitate to contact us if you have any question.\n"
" </p>\n"
" </div>\n"
" "
msgstr ""
@@ -97,19 +89,26 @@ msgstr ""
#: model:mail.template,body_html:rma.mail_template_rma_draft_notification
msgid ""
"<div style=\"margin: 0px; padding: 0px;\">\n"
"<p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
" Dear ${object.partner_id.name}\n"
" % if object.partner_id.parent_id:\n"
" (${object.partner_id.parent_id.name})\n"
" % endif\n"
" <br/><br/>\n"
" You've succesfully placed your RMA <strong>${object.name}</strong>\n"
" on ${object.company_id.name}. Our team will check it and will validate\n"
" it as soon as possible.\n"
" <br/><br/>\n"
" Do not hesitate to contact us if you have any question.\n"
"</p>\n"
"</div>\n"
" <p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
" Dear\n"
" <t t-out=\"object.partner_id.name\"/>\n"
" <t t-if=\"object.partner_id.parent_id\">\n"
" <t t-out=\"object.partner_id.parent_id.name\"/>\n"
" </t>\n"
" <br/>\n"
" <br/>\n"
" You've succesfully placed your RMA\n"
" <strong>\n"
" <t t-out=\"object.name\"/>\n"
" </strong>\n"
" on\n"
" <t t-out=\"object.company_id.name\"/>\n"
" . Our team will check it and will validate it as soon as possible.\n"
" <br/>\n"
" <br/>\n"
" Do not hesitate to contact us if you have any question.\n"
" </p>\n"
" </div>\n"
" "
msgstr ""
@@ -149,29 +148,73 @@ msgstr ""
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.portal_rma_page
msgid ""
"<span class=\"badge badge-danger label-text-align\"><i class=\"fa fa-fw fa-"
"times\"/> Cancelled</span>"
"<span class=\"badge badge-danger label-text-align\">\n"
" <i class=\"fa fa-fw fa-times\"/>\n"
" Cancelled\n"
" </span>"
msgstr ""
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.portal_rma_page
msgid ""
"<span class=\"badge badge-info label-text-align\"><i class=\"fa fa-fw fa-"
"clock-o\"/> Preparation</span>"
"<span class=\"badge badge-danger label-text-align\">\n"
" <i class=\"fa fa-fw fa-times\"/>\n"
" Cancelled\n"
" </span>"
msgstr ""
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.portal_rma_page
msgid ""
"<span class=\"badge badge-success label-text-align\"><i class=\"fa fa-fw fa-"
"truck\"/> Shipped</span>"
"<span class=\"badge badge-info label-text-align\">\n"
" <i class=\"fa fa-fw fa-clock-o\"/>\n"
" Preparation\n"
" </span>"
msgstr ""
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.portal_rma_page
msgid ""
"<span class=\"badge badge-warning label-text-align\"><i class=\"fa fa-fw fa-"
"clock-o\"/> Partially Available</span>"
"<span class=\"badge badge-info label-text-align\">\n"
" <i class=\"fa fa-fw fa-clock-o\"/>\n"
" Preparation\n"
" </span>"
msgstr ""
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.portal_rma_page
msgid ""
"<span class=\"badge badge-success label-text-align\">\n"
" <i class=\"fa fa-fw fa-truck\"/>\n"
" Shipped\n"
" </span>"
msgstr ""
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.portal_rma_page
msgid ""
"<span class=\"badge badge-success label-text-align\">\n"
" <i class=\"fa fa-fw fa-truck\"/>\n"
" Shipped\n"
" </span>"
msgstr ""
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.portal_rma_page
msgid ""
"<span class=\"badge badge-warning label-text-align\">\n"
" <i class=\"fa fa-fw fa-clock-o\"/>\n"
" Partially Available\n"
" </span>"
msgstr ""
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.portal_rma_page
msgid ""
"<span class=\"badge badge-warning label-text-align\">\n"
" <i class=\"fa fa-fw fa-clock-o\"/>\n"
" Partially Available\n"
" </span>"
msgstr ""
#. module: rma
@@ -622,12 +665,12 @@ msgstr ""
#. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__delivered_qty
msgid "Delivered qty"
msgid "Delivered Qty"
msgstr ""
#. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__delivered_qty_done
msgid "Delivered qty done"
msgid "Delivered Qty Done"
msgstr ""
#. module: rma
@@ -652,12 +695,6 @@ msgid "Description"
msgstr ""
#. module: rma
#: model:ir.model.fields,field_description:rma.field_account_move__display_name
#: model:ir.model.fields,field_description:rma.field_account_move_line__display_name
#: model:ir.model.fields,field_description:rma.field_res_company__display_name
#: model:ir.model.fields,field_description:rma.field_res_config_settings__display_name
#: model:ir.model.fields,field_description:rma.field_res_partner__display_name
#: model:ir.model.fields,field_description:rma.field_res_users__display_name
#: model:ir.model.fields,field_description:rma.field_rma__display_name
#: model:ir.model.fields,field_description:rma.field_rma_delivery_wizard__display_name
#: model:ir.model.fields,field_description:rma.field_rma_finalization__display_name
@@ -666,11 +703,6 @@ msgstr ""
#: model:ir.model.fields,field_description:rma.field_rma_split_wizard__display_name
#: model:ir.model.fields,field_description:rma.field_rma_tag__display_name
#: model:ir.model.fields,field_description:rma.field_rma_team__display_name
#: model:ir.model.fields,field_description:rma.field_stock_move__display_name
#: model:ir.model.fields,field_description:rma.field_stock_picking__display_name
#: model:ir.model.fields,field_description:rma.field_stock_return_picking__display_name
#: model:ir.model.fields,field_description:rma.field_stock_rule__display_name
#: model:ir.model.fields,field_description:rma.field_stock_warehouse__display_name
msgid "Display Name"
msgstr ""
@@ -794,12 +826,6 @@ msgstr ""
msgid "Followers"
msgstr ""
#. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__message_channel_ids
#: model:ir.model.fields,field_description:rma.field_rma_team__message_channel_ids
msgid "Followers (Channels)"
msgstr ""
#. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__message_partner_ids
#: model:ir.model.fields,field_description:rma.field_rma_team__message_partner_ids
@@ -829,12 +855,12 @@ msgid "Group RMA returns by customer and warehouse."
msgstr ""
#. module: rma
#: model:ir.model.fields,field_description:rma.field_account_move__id
#: model:ir.model.fields,field_description:rma.field_account_move_line__id
#: model:ir.model.fields,field_description:rma.field_res_company__id
#: model:ir.model.fields,field_description:rma.field_res_config_settings__id
#: model:ir.model.fields,field_description:rma.field_res_partner__id
#: model:ir.model.fields,field_description:rma.field_res_users__id
#: model:ir.model.fields,field_description:rma.field_rma__has_message
#: model:ir.model.fields,field_description:rma.field_rma_team__has_message
msgid "Has Message"
msgstr ""
#. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__id
#: model:ir.model.fields,field_description:rma.field_rma_delivery_wizard__id
#: model:ir.model.fields,field_description:rma.field_rma_finalization__id
@@ -843,11 +869,6 @@ msgstr ""
#: model:ir.model.fields,field_description:rma.field_rma_split_wizard__id
#: model:ir.model.fields,field_description:rma.field_rma_tag__id
#: model:ir.model.fields,field_description:rma.field_rma_team__id
#: model:ir.model.fields,field_description:rma.field_stock_move__id
#: model:ir.model.fields,field_description:rma.field_stock_picking__id
#: model:ir.model.fields,field_description:rma.field_stock_return_picking__id
#: model:ir.model.fields,field_description:rma.field_stock_rule__id
#: model:ir.model.fields,field_description:rma.field_stock_warehouse__id
msgid "ID"
msgstr ""
@@ -936,12 +957,6 @@ msgid "Journal Item"
msgstr ""
#. module: rma
#: model:ir.model.fields,field_description:rma.field_account_move____last_update
#: model:ir.model.fields,field_description:rma.field_account_move_line____last_update
#: model:ir.model.fields,field_description:rma.field_res_company____last_update
#: model:ir.model.fields,field_description:rma.field_res_config_settings____last_update
#: model:ir.model.fields,field_description:rma.field_res_partner____last_update
#: model:ir.model.fields,field_description:rma.field_res_users____last_update
#: model:ir.model.fields,field_description:rma.field_rma____last_update
#: model:ir.model.fields,field_description:rma.field_rma_delivery_wizard____last_update
#: model:ir.model.fields,field_description:rma.field_rma_finalization____last_update
@@ -950,11 +965,6 @@ msgstr ""
#: model:ir.model.fields,field_description:rma.field_rma_split_wizard____last_update
#: model:ir.model.fields,field_description:rma.field_rma_tag____last_update
#: model:ir.model.fields,field_description:rma.field_rma_team____last_update
#: model:ir.model.fields,field_description:rma.field_stock_move____last_update
#: model:ir.model.fields,field_description:rma.field_stock_picking____last_update
#: model:ir.model.fields,field_description:rma.field_stock_return_picking____last_update
#: model:ir.model.fields,field_description:rma.field_stock_rule____last_update
#: model:ir.model.fields,field_description:rma.field_stock_warehouse____last_update
msgid "Last Modified on"
msgstr ""
@@ -1249,8 +1259,8 @@ msgstr ""
#: code:addons/rma/models/rma.py:0
#, python-format
msgid ""
"Quantity to extract cannot be greater than remaining delivery quantity (%s "
"%s)"
"Quantity to extract cannot be greater than remaining delivery quantity "
"(%(remaining_qty)s %(product_uom)s)"
msgstr ""
#. module: rma
@@ -1309,6 +1319,11 @@ msgstr ""
msgid "RMA Delivery Wizard"
msgstr ""
#. module: rma
#: model:mail.template,name:rma.mail_template_rma_draft_notification
msgid "RMA Draft Notification"
msgstr ""
#. module: rma
#: model_terms:ir.ui.view,arch_db:rma.view_rma_finalization_form
msgid "RMA Finalization"
@@ -1323,7 +1338,6 @@ msgstr ""
#: model:ir.actions.act_window,name:rma.action_rma_finalization
#: model:ir.ui.menu,name:rma.rma_configuration_rma_finalization_menu
#: model_terms:ir.ui.view,arch_db:rma.rma_finalization_view_search
#: model_terms:ir.ui.view,arch_db:rma.view_rma_finalization_list
msgid "RMA Finalization Reasons"
msgstr ""
@@ -1350,6 +1364,7 @@ msgstr ""
#. module: rma
#: model:mail.message.subtype,name:rma.mt_rma_notification
#: model:mail.message.subtype,name:rma.mt_rma_team_rma_notification
#: model:mail.template,name:rma.mail_template_rma_notification
msgid "RMA Notification"
msgstr ""
@@ -1375,6 +1390,11 @@ msgstr ""
msgid "RMA Receipt Confirmation Email"
msgstr ""
#. module: rma
#: model:mail.template,name:rma.mail_template_rma_receipt_notification
msgid "RMA Receipt Notification"
msgstr ""
#. module: rma
#: code:addons/rma/models/stock_warehouse.py:0
#, python-format
@@ -1401,7 +1421,6 @@ msgstr ""
#: model:ir.model,name:rma.model_rma_tag
#: model:ir.ui.menu,name:rma.rma_configuration_rma_tag_menu
#: model_terms:ir.ui.view,arch_db:rma.rma_tag_view_search
#: model_terms:ir.ui.view,arch_db:rma.view_rma_tag_list
msgid "RMA Tags"
msgstr ""
@@ -1529,13 +1548,13 @@ msgid "Refund"
msgstr ""
#. module: rma
#: model:ir.model.fields,help:rma.field_rma__partner_invoice_id
msgid "Refund address for current RMA."
#: model:ir.model.fields,field_description:rma.field_rma__refund_line_id
msgid "Refund Line"
msgstr ""
#. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__refund_line_id
msgid "Refund line"
#: model:ir.model.fields,help:rma.field_rma__partner_invoice_id
msgid "Refund address for current RMA."
msgstr ""
#. module: rma
@@ -1580,8 +1599,9 @@ msgstr ""
#, 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."
"id=\"%(move_id)d\">%(move_name)s</a> (Picking <a href=\"#\" data-oe-"
"model=\"stock.picking\" data-oe-id=\"%(picking_id)d\"> %(picking_name)s</a>)"
" has been created."
msgstr ""
#. module: rma
@@ -1589,9 +1609,9 @@ msgstr ""
#, 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."
"data-oe-id=\"%(id)d\">%(name)s</a><br/>Quantity %(qty)s %(uom)s<br/>This "
"replacement did not create a new move, but one of the previously created "
"moves was updated with this data."
msgstr ""
#. module: rma
@@ -1638,7 +1658,7 @@ msgstr ""
#, python-format
msgid ""
"Return: <a href=\"#\" data-oe-model=\"stock.picking\" data-oe-"
"id=\"%d\">%s</a> has been created."
"id=\"%(id)d\">%(name)s</a> has been created."
msgstr ""
#. module: rma
@@ -1777,8 +1797,8 @@ msgstr ""
#: code:addons/rma/models/rma.py:0
#, python-format
msgid ""
"Split: <a href=\"#\" data-oe-model=\"rma\" data-oe-id=\"%d\">%s</a> has been"
" created."
"Split: <a href=\"#\" data-oe-model=\"rma\" data-oe-"
"id=\"%(id)d\">%(name)s</a> has been created."
msgstr ""
#. module: rma
@@ -1882,8 +1902,8 @@ msgstr ""
#: code:addons/rma/models/stock_move.py:0
#, python-format
msgid ""
"The quantity done for the product '%s' must be equal to its initial demand "
"because the stock move is linked to an RMA (%s)."
"The quantity done for the product '%(id)s' must be equal to its initial "
"demand because the stock move is linked to an RMA (%(name)s)."
msgstr ""
#. module: rma
@@ -2113,3 +2133,29 @@ msgid ""
"the user will have an access to the RMA configuration as well as statistic "
"reports."
msgstr ""
#. module: rma
#: model:mail.template,report_name:rma.mail_template_rma_draft_notification
#: model:mail.template,report_name:rma.mail_template_rma_notification
#: model:mail.template,report_name:rma.mail_template_rma_receipt_notification
msgid "{{(object.name or '')}}"
msgstr ""
#. module: rma
#: model:mail.template,subject:rma.mail_template_rma_notification
msgid "{{object.company_id.name}} RMA (Ref {{object.name or 'n/a' }})"
msgstr ""
#. module: rma
#: model:mail.template,subject:rma.mail_template_rma_receipt_notification
msgid ""
"{{object.company_id.name}} RMA (Ref {{object.name or 'n/a' }}) products "
"received"
msgstr ""
#. module: rma
#: model:mail.template,subject:rma.mail_template_rma_draft_notification
msgid ""
"{{object.company_id.name}} Your RMA has been succesfully created (Ref "
"{{object.name or 'n/a' }})"
msgstr ""

View File

@@ -2174,12 +2174,3 @@ msgid ""
"the user will have an access to the RMA configuration as well as statistic "
"reports."
msgstr ""
#~ msgid "<strong>Invoicing address:</strong>"
#~ msgstr "<strong>Adresă facturare:</strong>"
#~ msgid "Not urgent"
#~ msgstr "Nu e urgent"
#~ msgid "Very Urgent"
#~ msgstr "Forate urgent"

View File

@@ -1,6 +1,6 @@
# Copyright 2020 Tecnativa - Ernesto Tejeda
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
import logging
from collections import Counter
from odoo import _, api, fields, models
@@ -10,6 +10,8 @@ from odoo.tools import html2plaintext
from odoo.addons.stock.models.stock_move import PROCUREMENT_PRIORITIES
_logger = logging.getLogger(__name__)
class Rma(models.Model):
_name = "rma"
@@ -31,7 +33,6 @@ class Rma(models.Model):
# General fields
sent = fields.Boolean()
name = fields.Char(
string="Name",
index=True,
readonly=True,
states={"draft": [("readonly", False)]},
@@ -40,31 +41,43 @@ class Rma(models.Model):
)
origin = fields.Char(
string="Source Document",
states={"locked": [("readonly", True)], "cancelled": [("readonly", True)]},
states={
"locked": [("readonly", True)],
"cancelled": [("readonly", True)],
},
help="Reference of the document that generated this RMA.",
)
date = fields.Datetime(
default=lambda self: fields.Datetime.now(),
default=fields.Datetime.now,
index=True,
required=True,
readonly=True,
states={"draft": [("readonly", False)]},
)
deadline = fields.Date(
states={"locked": [("readonly", True)], "cancelled": [("readonly", True)]},
states={
"locked": [("readonly", True)],
"cancelled": [("readonly", True)],
},
)
user_id = fields.Many2one(
comodel_name="res.users",
string="Responsible",
index=True,
tracking=True,
states={"locked": [("readonly", True)], "cancelled": [("readonly", True)]},
states={
"locked": [("readonly", True)],
"cancelled": [("readonly", True)],
},
)
team_id = fields.Many2one(
comodel_name="rma.team",
string="RMA team",
index=True,
states={"locked": [("readonly", True)], "cancelled": [("readonly", True)]},
states={
"locked": [("readonly", True)],
"cancelled": [("readonly", True)],
},
)
tag_ids = fields.Many2many(comodel_name="rma.tag", string="Tags")
finalization_id = fields.Many2one(
@@ -72,13 +85,18 @@ class Rma(models.Model):
comodel_name="rma.finalization",
copy=False,
readonly=True,
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]",
domain=(
"['|', ('company_id', '=', False), ('company_id', '='," " company_id)]"
),
tracking=True,
)
company_id = fields.Many2one(
comodel_name="res.company",
default=lambda self: self.env.company,
states={"locked": [("readonly", True)], "cancelled": [("readonly", True)]},
states={
"locked": [("readonly", True)],
"cancelled": [("readonly", True)],
},
)
partner_id = fields.Many2one(
string="Customer",
@@ -100,7 +118,9 @@ class Rma(models.Model):
comodel_name="res.partner",
readonly=True,
states={"draft": [("readonly", False)]},
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]",
domain=(
"['|', ('company_id', '=', False), ('company_id', '='," " company_id)]"
),
help="Refund address for current RMA.",
)
commercial_partner_id = fields.Many2one(
@@ -110,21 +130,25 @@ class Rma(models.Model):
picking_id = fields.Many2one(
comodel_name="stock.picking",
string="Origin Delivery",
domain="["
" ('state', '=', 'done'),"
" ('picking_type_id.code', '=', 'outgoing'),"
" ('partner_id', 'child_of', commercial_partner_id),"
"]",
domain=(
"["
" ('state', '=', 'done'),"
" ('picking_type_id.code', '=', 'outgoing'),"
" ('partner_id', 'child_of', commercial_partner_id),"
"]"
),
readonly=True,
states={"draft": [("readonly", False)]},
)
move_id = fields.Many2one(
comodel_name="stock.move",
string="Origin move",
domain="["
" ('picking_id', '=', picking_id),"
" ('picking_id', '!=', False)"
"]",
domain=(
"["
" ('picking_id', '=', picking_id),"
" ('picking_id', '!=', False)"
"]"
),
readonly=True,
states={"draft": [("readonly", False)]},
)
@@ -159,7 +183,6 @@ class Rma(models.Model):
},
)
priority = fields.Selection(
string="Priority",
selection=PROCUREMENT_PRIORITIES,
default="1",
readonly=True,
@@ -188,7 +211,10 @@ class Rma(models.Model):
tracking=True,
)
description = fields.Html(
states={"locked": [("readonly", True)], "cancelled": [("readonly", True)]},
states={
"locked": [("readonly", True)],
"cancelled": [("readonly", True)],
},
)
# Reception fields
location_id = fields.Many2one(
@@ -210,13 +236,11 @@ class Rma(models.Model):
# Refund fields
refund_id = fields.Many2one(
comodel_name="account.move",
string="Refund",
readonly=True,
copy=False,
)
refund_line_id = fields.Many2one(
comodel_name="account.move.line",
string="Refund line",
readonly=True,
copy=False,
)
@@ -234,13 +258,11 @@ class Rma(models.Model):
compute="_compute_delivery_picking_count",
)
delivered_qty = fields.Float(
string="Delivered qty",
digits="Product Unit of Measure",
compute="_compute_delivered_qty",
store=True,
)
delivered_qty_done = fields.Float(
string="Delivered qty done",
digits="Product Unit of Measure",
compute="_compute_delivered_qty",
compute_sudo=True,
@@ -447,7 +469,11 @@ class Rma(models.Model):
# Constrains methods (@api.constrains)
@api.constrains(
"state", "partner_id", "partner_shipping_id", "partner_invoice_id", "product_id"
"state",
"partner_id",
"partner_shipping_id",
"partner_invoice_id",
"product_id",
)
def _check_required_after_draft(self):
"""Check that RMAs are being created or edited with the
@@ -695,6 +721,7 @@ class Rma(models.Model):
# in other models
action = (
self.env.ref("rma.rma_delivery_wizard_action")
.sudo()
.with_context(active_id=self.id)
.read()[0]
)
@@ -717,6 +744,7 @@ class Rma(models.Model):
# in other models
action = (
self.env.ref("rma.rma_delivery_wizard_action")
.sudo()
.with_context(active_id=self.id)
.read()[0]
)
@@ -736,6 +764,7 @@ class Rma(models.Model):
# in other models
action = (
self.env.ref("rma.rma_split_wizard_action")
.sudo()
.with_context(active_id=self.id)
.read()[0]
)
@@ -751,6 +780,7 @@ class Rma(models.Model):
# in other models
action = (
self.env.ref("rma.rma_finalization_wizard_action")
.sudo()
.with_context(active_id=self.id)
.read()[0]
)
@@ -792,6 +822,7 @@ class Rma(models.Model):
# in other models
action = (
self.env.ref("stock.action_picking_tree_all")
.sudo()
.with_context(active_id=self.id)
.read()[0]
)
@@ -820,6 +851,7 @@ class Rma(models.Model):
"""Invoked when 'Delivery' smart button in rma form view is clicked."""
action = (
self.env.ref("stock.action_picking_tree_all")
.sudo()
.with_context(active_id=self.id)
.read()[0]
)
@@ -929,10 +961,15 @@ class Rma(models.Model):
if to_split_uom_qty > self.remaining_qty:
raise ValidationError(
_(
"Quantity to extract cannot be greater than remaining "
"delivery quantity (%s %s)"
"Quantity to extract cannot be greater than remaining"
" delivery quantity (%(remaining_qty)s %(product_uom)s)"
)
% (
{
"remaining_qty": self.remaining_qty,
"product_uom": self.product_uom.name,
}
)
% (self.remaining_qty, self.product_uom.name)
)
# Reception business methods
@@ -1030,12 +1067,9 @@ class Rma(models.Model):
self.message_post(
body=_(
'Split: <a href="#" data-oe-model="rma" '
'data-oe-id="%d">%s</a> has been created.'
)
% (
extracted_rma.id,
extracted_rma.name,
'data-oe-id="%(id)d">%(name)s</a> has been created.'
)
% ({"id": extracted_rma.id, "name": extracted_rma.name})
)
return extracted_rma
@@ -1143,9 +1177,9 @@ class Rma(models.Model):
rma.message_post(
body=_(
'Return: <a href="#" data-oe-model="stock.picking" '
'data-oe-id="%d">%s</a> has been created.'
'data-oe-id="%(id)d">%(name)s</a> has been created.'
)
% (picking.id, picking.name)
% ({"id": picking.id, "name": picking.name})
)
picking.action_confirm()
picking.action_assign()
@@ -1180,17 +1214,19 @@ class Rma(models.Model):
if new_move:
self.message_post(
body=_(
"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."
'Replacement: Move <a href="#" data-oe-model="stock.move"'
' data-oe-id="%(move_id)d">%(move_name)s</a> (Picking <a'
' href="#" data-oe-model="stock.picking"'
' data-oe-id="%(picking_id)d"> %(picking_name)s</a>) has'
" been created."
)
% (
new_move.id,
new_move.name_get()[0][1],
new_move.picking_id.id,
new_move.picking_id.name,
{
"move_id": new_move.id,
"move_name": new_move.name_get()[0][1],
"picking_id": new_move.picking_id.id,
"picking_name": new_move.picking_id.name,
}
)
)
else:
@@ -1198,12 +1234,19 @@ class Rma(models.Model):
body=_(
"Replacement:<br/>"
'Product <a href="#" data-oe-model="product.product" '
'data-oe-id="%d">%s</a><br/>'
"Quantity %f %s<br/>"
'data-oe-id="%(id)d">%(name)s</a><br/>'
"Quantity %(qty)s %(uom)s<br/>"
"This replacement did not create a new move, but one of "
"the previously created moves was updated with this data."
)
% (product.id, product.display_name, qty, uom.name)
% (
{
"id": product.id,
"name": product.display_name,
"qty": qty,
"uom": uom.name,
}
)
)
if self.state != "waiting_replacement":
self.state = "waiting_replacement"
@@ -1291,10 +1334,10 @@ class Rma(models.Model):
custom_values = {}
subject = msg_dict.get("subject", "")
body = html2plaintext(msg_dict.get("body", ""))
desc = _("<b>E-mail subject:</b> %s<br/><br/><b>E-mail body:</b><br/>%s") % (
subject,
body,
)
desc = _(
"<b>E-mail subject:</b> %(subject)s<br/><br/><b>E-mail"
" body:</b><br/>%(body)s"
) % ({"subject": subject, "body": body})
defaults = {
"description": desc,
"name": _("New"),
@@ -1336,8 +1379,8 @@ class Rma(models.Model):
record._message_add_suggested_recipient(
recipients, partner=record.partner_id, reason=_("Customer")
)
except AccessError: # no read access rights
pass
except AccessError as e: # no read access rights
_logger.debug(e)
return recipients
# Reporting business methods

View File

@@ -60,11 +60,16 @@ class StockMove(models.Model):
if rma_receiver and move.quantity_done != rma_receiver.product_uom_qty:
raise ValidationError(
_(
"The quantity done for the product '%s' must "
"The quantity done for the product '%(id)s' must "
"be equal to its initial demand because the "
"stock move is linked to an RMA (%s)."
"stock move is linked to an RMA (%(name)s)."
)
% (
{
"id": move.product_id.name,
"name": move.rma_receiver_ids.name,
}
)
% (move.product_id.name, move.rma_receiver_ids.name)
)
res = super()._action_done(cancel_backorder=cancel_backorder)
move_done = self.filtered(lambda r: r.state == "done").sudo()

View File

@@ -3,6 +3,7 @@
* Ernesto Tejeda
* Pedro M. Baeza
* David Vidal
* Víctor Martínez
* Chafique Delli <chafique.delli@akretion.com>
* Giovanni Serra - Ooops <giovanni@ooops404.com>

View File

@@ -367,7 +367,7 @@ ul.auto-toc {
!! 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/14.0/rma"><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-14-0/rma-14-0-rma"><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/14.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<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/15.0/rma"><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-15-0/rma-15-0-rma"><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/15.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>This module allows you to manage <a class="reference external" href="https://en.wikipedia.org/wiki/Return_merchandise_authorization">Return Merchandise Authorization (RMA)</a>.
RMA documents can be created from scratch, from a delivery order or from
an incoming email. Product receptions and returning delivery operations
@@ -494,7 +494,7 @@ the product of that move is.</li>
<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:%20rma%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<a class="reference external" href="https://github.com/OCA/rma/issues/new?body=module:%20rma%0Aversion:%2015.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">
@@ -512,6 +512,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<li>Ernesto Tejeda</li>
<li>Pedro M. Baeza</li>
<li>David Vidal</li>
<li>Víctor Martínez</li>
</ul>
</li>
<li>Chafique Delli &lt;<a class="reference external" href="mailto:chafique.delli&#64;akretion.com">chafique.delli&#64;akretion.com</a>&gt;</li>
@@ -527,7 +528,7 @@ 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">maintainer</a>:</p>
<p><a class="reference external" href="https://github.com/ernestotejeda"><img alt="ernestotejeda" src="https://github.com/ernestotejeda.png?size=40px" /></a></p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/rma/tree/14.0/rma">OCA/rma</a> project on GitHub.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/rma/tree/15.0/rma">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>

View File

@@ -2,13 +2,13 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo.exceptions import UserError, ValidationError
from odoo.tests import Form, SavepointCase, new_test_user, users
from odoo.tests import Form, TransactionCase, new_test_user, users
class TestRma(SavepointCase):
class TestRma(TransactionCase):
@classmethod
def setUpClass(cls):
super(TestRma, cls).setUpClass()
super().setUpClass()
cls.user_rma = new_test_user(
cls.env,
login="user_rma",
@@ -25,7 +25,11 @@ class TestRma(SavepointCase):
{"name": "Product test 1", "type": "product"}
)
account_type = cls.env["account.account.type"].create(
{"name": "RCV type", "type": "receivable", "internal_group": "income"}
{
"name": "RCV type",
"type": "receivable",
"internal_group": "income",
}
)
cls.account_receiv = cls.env["account.account"].create(
{
@@ -59,7 +63,7 @@ class TestRma(SavepointCase):
}
)
cls.finalization_reason_1 = cls.env["rma.finalization"].create(
{"name": "[Test] It can't be repaired and customer doesn't want it"}
{"name": ("[Test] It can't be repaired and customer doesn't want it")}
)
cls.finalization_reason_2 = cls.env["rma.finalization"].create(
{"name": "[Test] It's out of warranty. To be scrapped"}
@@ -199,7 +203,7 @@ class TestRmaCase(TestRma):
with self.assertRaises(ValidationError) as e:
rma.action_confirm()
self.assertEqual(
e.exception.name,
e.exception.args[0],
"Required field(s):\nCustomer\nShipping Address\nInvoice Address\n"
"Product\nLocation",
)
@@ -207,7 +211,7 @@ class TestRmaCase(TestRma):
rma_form.partner_id = self.partner
with self.assertRaises(ValidationError) as e:
rma.action_confirm()
self.assertEqual(e.exception.name, "Required field(s):\nProduct\nLocation")
self.assertEqual(e.exception.args[0], "Required field(s):\nProduct\nLocation")
with Form(rma) as rma_form:
rma_form.product_id = self.product
rma_form.location_id = self.rma_loc
@@ -334,7 +338,7 @@ class TestRmaCase(TestRma):
action = self.env.ref("rma.rma_refund_action_server")
ctx = dict(self.env.context)
ctx.update(active_ids=all_rmas.ids, active_model="rma")
action.with_context(ctx).run()
action.with_context(**ctx).run()
# After that all RMAs are in 'refunded' state
self.assertEqual(all_rmas.mapped("state"), ["refunded"] * 4)
# Two refunds were created

View File

@@ -9,9 +9,11 @@
t-field="doc.partner_id"
t-options='{"widget": "contact", "fields": ["address", "name"], "no_marker": True}'
/>
<p t-if="doc.partner_id.vat"><t
t-esc="doc.company_id.country_id.vat_label or 'Tax ID'"
/>: <span t-field="doc.partner_id.vat" /></p>
<p t-if="doc.partner_id.vat">
<t t-esc="doc.company_id.country_id.vat_label or 'Tax ID'" />
:
<span t-field="doc.partner_id.vat" />
</p>
</t>
</t>
<t
@@ -19,24 +21,24 @@
and doc.partner_invoice_id != doc.partner_id
or doc.partner_shipping_id != doc.partner_invoice_id"
>
<t t-set="information_block">
<strong
<t t-set="information_block">
<strong
t-if="doc.partner_shipping_id == doc.partner_invoice_id"
>Invoicing and Shipping Address:</strong>
<strong
<strong
t-if="doc.partner_shipping_id != doc.partner_invoice_id"
>Invoicing Address:</strong>
<div
<div
t-field="doc.partner_invoice_id"
t-options='{"widget": "contact", "fields": ["address", "name", "phone"], "no_marker": True, "phone_icons": True}'
/>
<t t-if="doc.partner_shipping_id != doc.partner_invoice_id">
<strong>Shipping Address:</strong>
<div
<t t-if="doc.partner_shipping_id != doc.partner_invoice_id">
<strong>Shipping Address:</strong>
<div
t-field="doc.partner_shipping_id"
t-options='{"widget": "contact", "fields": ["address", "name", "phone"], "no_marker": True, "phone_icons": True}'
/>
</t>
</t>
</t>
</t>
<div class="page">
@@ -120,7 +122,7 @@
</div>
<div t-if="doc.description">
<strong>RMA Note:</strong>
<p t-raw="doc.description" />
<p t-out="doc.description" />
</div>
</div>
</t>

View File

@@ -44,7 +44,7 @@
<field name="model">rma.finalization</field>
<field eval="6" name="priority" />
<field name="arch" type="xml">
<tree string="RMA Finalization Reasons">
<tree>
<field name="name" />
<field name="company_id" groups="base.group_multi_company" />
</tree>
@@ -57,7 +57,8 @@
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create a new RMA finalization
</p><p>
</p>
<p>
Manage RMA finalization reasons to better classify them for tracking and analysis purposes.
</p>
</field>

View File

@@ -97,7 +97,8 @@
<t t-set="card_header">
<h5 class="mb-0">
<span>
RMA Order - <span t-field="rma.name" />
RMA Order -
<span t-field="rma.name" />
</span>
<span
style="position: absolute; left: 50%;"
@@ -353,32 +354,36 @@
title="Download"
/>
<span t-esc="picking.name" class="mr-lg-3" />
<div class="d-lg-inline-block">Date: <span
class="text-muted"
t-field="picking.date"
/></div>
<div class="d-lg-inline-block">
Date:
<span class="text-muted" t-field="picking.date" />
</div>
</div>
<t t-if="picking.state == 'done'">
<span class="badge badge-success label-text-align"><i
class="fa fa-fw fa-truck"
/> Shipped</span>
<span class="badge badge-success label-text-align">
<i class="fa fa-fw fa-truck" />
Shipped
</span>
</t>
<t t-if="picking.state == 'partially_available'">
<span class="badge badge-warning label-text-align"><i
class="fa fa-fw fa-clock-o"
/> Partially Available</span>
<span class="badge badge-warning label-text-align">
<i class="fa fa-fw fa-clock-o" />
Partially Available
</span>
</t>
<t t-if="picking.state == 'cancel'">
<span class="badge badge-danger label-text-align"><i
class="fa fa-fw fa-times"
/> Cancelled</span>
<span class="badge badge-danger label-text-align">
<i class="fa fa-fw fa-times" />
Cancelled
</span>
</t>
<t
t-if="picking.state in ['draft', 'waiting', 'confirmed', 'assigned']"
>
<span class="badge badge-info label-text-align"><i
class="fa fa-fw fa-clock-o"
/> Preparation</span>
<span class="badge badge-info label-text-align">
<i class="fa fa-fw fa-clock-o" />
Preparation
</span>
</t>
</a>
</section>
@@ -406,10 +411,13 @@
title="Download"
/>
<span t-esc="refund.name" class="mr-lg-3" />
<div class="d-lg-inline-block">Date: <span
<div class="d-lg-inline-block">
Date:
<span
class="text-muted"
t-field="refund.invoice_date"
/></div>
/>
</div>
</div>
<span
t-if="refund.state == 'paid'"
@@ -455,38 +463,45 @@
title="Download"
/>
<span t-esc="picking.name" class="mr-lg-3" />
<div class="d-lg-inline-block">Date: <span
<div class="d-lg-inline-block">
Date:
<span
class="text-muted"
t-field="picking.date"
/></div>
/>
</div>
</div>
<t t-if="picking.state == 'done'">
<span
class="badge badge-success label-text-align"
><i class="fa fa-fw fa-truck" /> Shipped</span>
>
<i class="fa fa-fw fa-truck" />
Shipped
</span>
</t>
<t t-if="picking.state == 'partially_available'">
<span
class="badge badge-warning label-text-align"
><i
class="fa fa-fw fa-clock-o"
/> Partially Available</span>
>
<i class="fa fa-fw fa-clock-o" />
Partially Available
</span>
</t>
<t t-if="picking.state == 'cancel'">
<span
class="badge badge-danger label-text-align"
><i
class="fa fa-fw fa-times"
/> Cancelled</span>
>
<i class="fa fa-fw fa-times" />
Cancelled
</span>
</t>
<t
t-if="picking.state in ['draft', 'waiting', 'confirmed', 'assigned']"
>
<span
class="badge badge-info label-text-align"
><i
class="fa fa-fw fa-clock-o"
/> Preparation</span>
<span class="badge badge-info label-text-align">
<i class="fa fa-fw fa-clock-o" />
Preparation
</span>
</t>
</a>
</t>
@@ -495,7 +510,7 @@
<section id="description" class="mt-5" t-if="rma.description">
<h3 class="">Description</h3>
<hr class="mt-0 mb-1" />
<t t-raw="rma.description" />
<t t-out="rma.description" />
</section>
</t>
</t>

View File

@@ -37,7 +37,7 @@
<field name="model">rma.tag</field>
<field eval="6" name="priority" />
<field name="arch" type="xml">
<tree string="RMA Tags">
<tree>
<field name="name" />
<field name="is_public" />
<field name="active" />
@@ -51,7 +51,8 @@
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create a new RMA tag
</p><p>
</p>
<p>
Manage RMA tags to better classify them for tracking and analysis purposes.
</p>
</field>

View File

@@ -12,7 +12,6 @@ class RmaReDeliveryWizard(models.TransientModel):
rma_count = fields.Integer()
type = fields.Selection(
selection=[("replace", "Replace"), ("return", "Return to customer")],
string="Type",
required=True,
)
product_id = fields.Many2one(
@@ -24,7 +23,7 @@ class RmaReDeliveryWizard(models.TransientModel):
digits="Product Unit of Measure",
)
product_uom = fields.Many2one(comodel_name="uom.uom", string="Unit of measure")
scheduled_date = fields.Datetime(required=True, default=fields.Datetime.now())
scheduled_date = fields.Datetime(required=True, default=fields.Datetime.now)
warehouse_id = fields.Many2one(
comodel_name="stock.warehouse",
string="Warehouse",