[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 :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3 :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Frma-lightgray.png?logo=github .. |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 :alt: OCA/rma
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png .. |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 :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png .. |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 :alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5| |badge1| |badge2| |badge3| |badge4| |badge5|
@@ -138,7 +138,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues <https://github.com/OCA/rma/issues>`_. 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. 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 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. Do not contact contributors directly about support or help with technical issues.
@@ -158,6 +158,7 @@ Contributors
* Ernesto Tejeda * Ernesto Tejeda
* Pedro M. Baeza * Pedro M. Baeza
* David Vidal * David Vidal
* Víctor Martínez
* Chafique Delli <chafique.delli@akretion.com> * Chafique Delli <chafique.delli@akretion.com>
* Giovanni Serra - Ooops <giovanni@ooops404.com> * Giovanni Serra - Ooops <giovanni@ooops404.com>
@@ -183,6 +184,6 @@ Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
|maintainer-ernestotejeda| |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. 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", "name": "Return Merchandise Authorization Management",
"summary": "Return Merchandise Authorization (RMA)", "summary": "Return Merchandise Authorization (RMA)",
"version": "14.0.3.1.0", "version": "15.0.1.0.0",
"development_status": "Production/Stable", "development_status": "Production/Stable",
"category": "RMA", "category": "RMA",
"website": "https://github.com/OCA/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="parent_id" eval="ref('rma.mt_rma_notification')" />
<field name="relation_field">team_id</field> <field name="relation_field">team_id</field>
</record> </record>
<!--RMA email template --> <!--RMA email template -->
<record id="mail_template_rma_notification" model="mail.template"> <record id="mail_template_rma_notification" model="mail.template">
<field name="name">RMA Notification</field> <field name="name">RMA Notification</field>
<field name="model_id" ref="model_rma" /> <field name="model_id" ref="model_rma" />
<field name="email_from">${object.user_id.email_formatted |safe}</field> <field name="email_from">{{object.user_id.email_formatted}}</field>
<field name="partner_to">${object.partner_id.id}</field> <field name="partner_to">{{object.partner_id.id}}</field>
<field <field
name="subject" 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_template" ref="report_rma_action" />
<field name="report_name">${(object.name or '')}</field> <field name="report_name">{{(object.name or '')}}</field>
<field name="lang">${object.partner_id.lang}</field> <field name="lang">{{object.partner_id.lang}}</field>
<field name="auto_delete" eval="True" /> <field name="auto_delete" eval="True" />
<field name="body_html" type="html"> <field name="body_html" type="html">
<div style="margin: 0px; padding: 0px;"> <div style="margin: 0px; padding: 0px;">
<p style="margin: 0px; padding: 0px; font-size: 13px;"> <p style="margin: 0px; padding: 0px; font-size: 13px;">
Dear ${object.partner_id.name} Dear
% if object.partner_id.parent_id: <t t-out="object.partner_id.name" />
(${object.partner_id.parent_id.name}) <t t-if="object.partner_id.parent_id">
% endif <t t-out="object.partner_id.parent_id.name" />
<br /><br /> </t>
Here is the RMA <strong>${object.name}</strong> from ${object.company_id.name}. <br />
<br /><br /> <br />
Do not hesitate to contact us if you have any question. Here is the RMA
</p> <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> </div>
</field> </field>
</record> </record>
@@ -62,58 +73,73 @@
<record id="mail_template_rma_receipt_notification" model="mail.template"> <record id="mail_template_rma_receipt_notification" model="mail.template">
<field name="name">RMA Receipt Notification</field> <field name="name">RMA Receipt Notification</field>
<field name="model_id" ref="model_rma" /> <field name="model_id" ref="model_rma" />
<field name="email_from">${object.user_id.email_formatted |safe}</field> <field name="email_from">{{object.user_id.email_formatted }}</field>
<field name="partner_to">${object.partner_id.id}</field> <field name="partner_to">{{object.partner_id.id}}</field>
<field <field
name="subject" 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_template" ref="report_rma_action" />
<field name="report_name">${(object.name or '')}</field> <field name="report_name">{{(object.name or '')}}</field>
<field name="lang">${object.partner_id.lang}</field> <field name="lang">{{object.partner_id.lang}}</field>
<field name="auto_delete" eval="True" /> <field name="auto_delete" eval="True" />
<field name="body_html" type="html"> <field name="body_html" type="html">
<div style="margin: 0px; padding: 0px;"> <div style="margin: 0px; padding: 0px;">
<p style="margin: 0px; padding: 0px; font-size: 13px;"> <p style="margin: 0px; padding: 0px; font-size: 13px;">
Dear ${object.partner_id.name} Dear
% if object.partner_id.parent_id: <t t-out="object.partner_id.name" />
(${object.partner_id.parent_id.name}) <t t-if="object.partner_id.parent_id">
% endif <t t-out="object.partner_id.parent_id.name" />
<br /><br /> </t>
The products for your RMA <strong>${object.name}</strong> <br />
from ${object.company_id.name} have been received in our warehouse. <br />
<br /><br /> The products for your RMA
Do not hesitate to contact us if you have any question. <strong>
</p> <t t-out="object.name" />
</div> </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> </field>
</record> </record>
<record id="mail_template_rma_draft_notification" model="mail.template"> <record id="mail_template_rma_draft_notification" model="mail.template">
<field name="name">RMA Draft Notification</field> <field name="name">RMA Draft Notification</field>
<field name="model_id" ref="model_rma" /> <field name="model_id" ref="model_rma" />
<field name="email_from">${object.user_id.email_formatted |safe}</field> <field name="email_from">{{object.user_id.email_formatted}}</field>
<field name="partner_to">${object.partner_id.id}</field> <field name="partner_to">{{object.partner_id.id}}</field>
<field <field
name="subject" 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_template" ref="report_rma_action" />
<field name="report_name">${(object.name or '')}</field> <field name="report_name">{{(object.name or '')}}</field>
<field name="lang">${object.partner_id.lang}</field> <field name="lang">{{object.partner_id.lang}}</field>
<field name="auto_delete" eval="True" /> <field name="auto_delete" eval="True" />
<field name="body_html" type="html"> <field name="body_html" type="html">
<div style="margin: 0px; padding: 0px;"> <div style="margin: 0px; padding: 0px;">
<p style="margin: 0px; padding: 0px; font-size: 13px;"> <p style="margin: 0px; padding: 0px; font-size: 13px;">
Dear ${object.partner_id.name} Dear
% if object.partner_id.parent_id: <t t-out="object.partner_id.name" />
(${object.partner_id.parent_id.name}) <t t-if="object.partner_id.parent_id">
% endif <t t-out="object.partner_id.parent_id.name" />
<br /><br /> </t>
You've succesfully placed your RMA <strong>${object.name}</strong> <br />
on ${object.company_id.name}. Our team will check it and will validate <br />
it as soon as possible. You've succesfully placed your RMA
<br /><br /> <strong>
Do not hesitate to contact us if you have any question. <t t-out="object.name" />
</p> </strong>
</div> 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> </field>
</record> </record>
</data> </data>

View File

@@ -6,47 +6,16 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 13.0\n" "Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-23 20:11+0000\n" "POT-Creation-Date: 2022-08-09 08:07+0000\n"
"PO-Revision-Date: 2022-01-17 12:39+0000\n" "PO-Revision-Date: 2022-08-09 10:16+0200\n"
"Last-Translator: xavigutipujol <jgutierrez@pyming.com>\n" "Last-Translator: xavigutipujol <jgutierrez@pyming.com>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: \n" "Language: es\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.3.2\n" "X-Generator: Poedit 2.3\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' })"
#. module: rma #. module: rma
#: code:addons/rma/models/rma_team.py:0 #: code:addons/rma/models/rma_team.py:0
@@ -61,27 +30,54 @@ msgstr ""
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:0 #: code:addons/rma/models/rma.py:0
#, python-format #, 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> %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 "" msgstr ""
"<b>Asunto del correo electrónico:</b> %s<br/><br/><b>Cuerpo del correo " "<b>Asunto del correo electrónico:</b> %(subject)s<br/><br/><b>Cuerpo del correo "
"electrónico:</b><br/>%s" "electrónico:</b><br/>%(body)s"
#. module: rma #. module: rma
#: model:mail.template,body_html:rma.mail_template_rma_notification #: 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 "" msgid ""
"<div style=\"margin: 0px; padding: 0px;\">\n" "<div style=\"margin: 0px; padding: 0px;\">\n"
" <p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n" " <p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
" Dear ${object.partner_id.name}\n" " Dear\n"
" % if object.partner_id.parent_id:\n" " <t t-out=\"object.partner_id.name\"/>\n"
" (${object.partner_id.parent_id.name})\n" " <t t-if=\"object.partner_id.parent_id\">\n"
" % endif\n" " <t t-out=\"object.partner_id.parent_id.name\"/>\n"
" <br/><br/>\n" " </t>\n"
" Here is the RMA <strong>${object.name}</strong> from ${object.company_id." " <br/>\n"
"name}.\n" " <br/>\n"
" <br/><br/>\n" " Here is the RMA\n"
" Do not hesitate to contact us if you have any question.\n" " <strong>\n"
"</p>\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" " </div>\n"
" " " "
msgstr "" msgstr ""
@@ -102,20 +98,44 @@ msgstr ""
#. module: rma #. module: rma
#: model:mail.template,body_html:rma.mail_template_rma_receipt_notification #: 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 "" msgid ""
"<div style=\"margin: 0px; padding: 0px;\">\n" "<div style=\"margin: 0px; padding: 0px;\">\n"
"<p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n" " <p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
" Dear ${object.partner_id.name}\n" " Dear\n"
" % if object.partner_id.parent_id:\n" " <t t-out=\"object.partner_id.name\"/>\n"
" (${object.partner_id.parent_id.name})\n" " <t t-if=\"object.partner_id.parent_id\">\n"
" % endif\n" " <t t-out=\"object.partner_id.parent_id.name\"/>\n"
" <br/><br/>\n" " </t>\n"
" The products for your RMA <strong>${object.name}</strong>\n" " <br/>\n"
" from ${object.company_id.name} have been received in our warehouse.\n" " <br/>\n"
" <br/><br/>\n" " The products for your RMA\n"
" Do not hesitate to contact us if you have any question.\n" " <strong>\n"
"</p>\n" " <t t-out=\"object.name\"/>\n"
"</div>\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 "" msgstr ""
"<div style=\"margin: 0px; padding: 0px;\">\n" "<div style=\"margin: 0px; padding: 0px;\">\n"
@@ -135,21 +155,47 @@ msgstr ""
#. module: rma #. module: rma
#: model:mail.template,body_html:rma.mail_template_rma_draft_notification #: 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 "" msgid ""
"<div style=\"margin: 0px; padding: 0px;\">\n" "<div style=\"margin: 0px; padding: 0px;\">\n"
"<p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n" " <p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
" Dear ${object.partner_id.name}\n" " Dear\n"
" % if object.partner_id.parent_id:\n" " <t t-out=\"object.partner_id.name\"/>\n"
" (${object.partner_id.parent_id.name})\n" " <t t-if=\"object.partner_id.parent_id\">\n"
" % endif\n" " <t t-out=\"object.partner_id.parent_id.name\"/>\n"
" <br/><br/>\n" " </t>\n"
" You've succesfully placed your RMA <strong>${object.name}</strong>\n" " <br/>\n"
" on ${object.company_id.name}. Our team will check it and will validate\n" " <br/>\n"
" it as soon as possible.\n" " You've succesfully placed your RMA\n"
" <br/><br/>\n" " <strong>\n"
" Do not hesitate to contact us if you have any question.\n" " <t t-out=\"object.name\"/>\n"
"</p>\n" " </strong>\n"
"</div>\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 "" msgstr ""
"<div style=\"margin: 0px; padding: 0px;\">\n" "<div style=\"margin: 0px; padding: 0px;\">\n"
@@ -418,7 +464,7 @@ msgstr "Actividades"
#. module: rma #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__activity_exception_decoration #: model:ir.model.fields,field_description:rma.field_rma__activity_exception_decoration
msgid "Activity Exception Decoration" msgid "Activity Exception Decoration"
msgstr "" msgstr "Decoración de excepción de actividad"
#. module: rma #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__activity_state #: model:ir.model.fields,field_description:rma.field_rma__activity_state
@@ -534,7 +580,7 @@ msgstr "Cancelado"
#. module: rma #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma_delivery_wizard__uom_category_id #: model:ir.model.fields,field_description:rma.field_rma_delivery_wizard__uom_category_id
msgid "Category" msgid "Category"
msgstr "" msgstr "Categoría"
#. module: rma #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__uom_category_id #: model:ir.model.fields,field_description:rma.field_rma__uom_category_id
@@ -697,12 +743,12 @@ msgstr "Entregar"
#. module: rma #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__delivered_qty #: model:ir.model.fields,field_description:rma.field_rma__delivered_qty
msgid "Delivered qty" msgid "Delivered Qty"
msgstr "Ctd. entregada" msgstr "Ctd. entregada"
#. module: rma #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__delivered_qty_done #: model:ir.model.fields,field_description:rma.field_rma__delivered_qty_done
msgid "Delivered qty done" msgid "Delivered Qty Done"
msgstr "Ctd. entregada realizada" msgstr "Ctd. entregada realizada"
#. module: rma #. module: rma
@@ -727,12 +773,6 @@ msgid "Description"
msgstr "Descripción" msgstr "Descripción"
#. module: rma #. 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__display_name
#: model:ir.model.fields,field_description:rma.field_rma_delivery_wizard__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 #: 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_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_tag__display_name
#: model:ir.model.fields,field_description:rma.field_rma_team__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" msgid "Display Name"
msgstr "Nombre mostrado" msgstr "Nombre mostrado"
@@ -871,12 +906,6 @@ msgstr "Finalizado"
msgid "Followers" msgid "Followers"
msgstr "Seguidores" 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 #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__message_partner_ids #: 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 #: 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" "Agrupar las devoluciones de RMA a cliente por dirección de envío y almacén"
#. module: rma #. module: rma
#: model:ir.model.fields,field_description:rma.field_account_move__id #: model:ir.model.fields,field_description:rma.field_rma__has_message
#: model:ir.model.fields,field_description:rma.field_account_move_line__id #: model:ir.model.fields,field_description:rma.field_rma_team__has_message
#: model:ir.model.fields,field_description:rma.field_res_company__id msgid "Has Message"
#: model:ir.model.fields,field_description:rma.field_res_config_settings__id msgstr ""
#: model:ir.model.fields,field_description:rma.field_res_partner__id
#: model:ir.model.fields,field_description:rma.field_res_users__id #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__id #: 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_delivery_wizard__id
#: model:ir.model.fields,field_description:rma.field_rma_finalization__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_split_wizard__id
#: model:ir.model.fields,field_description:rma.field_rma_tag__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_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" msgid "ID"
msgstr "" msgstr "ID"
#. module: rma #. module: rma
#: model:ir.model.fields,help:rma.field_rma_team__alias_parent_thread_id #: model:ir.model.fields,help:rma.field_rma_team__alias_parent_thread_id
@@ -947,7 +971,7 @@ msgstr "Icono"
#. module: rma #. module: rma
#: model:ir.model.fields,help:rma.field_rma__activity_exception_icon #: model:ir.model.fields,help:rma.field_rma__activity_exception_icon
msgid "Icon to indicate an exception activity." msgid "Icon to indicate an exception activity."
msgstr "" msgstr "Icono para indicar una actividad de excepción."
#. module: rma #. module: rma
#: model:ir.model.fields,help:rma.field_rma__message_needaction #: model:ir.model.fields,help:rma.field_rma__message_needaction
@@ -1011,7 +1035,7 @@ msgstr "Es un seguidor"
#. module: rma #. module: rma
#: model:ir.model,name:rma.model_account_move #: model:ir.model,name:rma.model_account_move
msgid "Journal Entry" msgid "Journal Entry"
msgstr "" msgstr "Asiento contable"
#. module: rma #. module: rma
#: model:ir.model,name:rma.model_account_move_line #: model:ir.model,name:rma.model_account_move_line
@@ -1019,12 +1043,6 @@ msgid "Journal Item"
msgstr "Apunte contable" msgstr "Apunte contable"
#. module: rma #. 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____last_update
#: model:ir.model.fields,field_description:rma.field_rma_delivery_wizard____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 #: 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_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_tag____last_update
#: model:ir.model.fields,field_description:rma.field_rma_team____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" msgid "Last Modified on"
msgstr "Última modificación en" msgstr "Última modificación en"
@@ -1180,7 +1193,7 @@ msgstr "Ninguno de los RMAs seleccionados puede realizar una devolución."
#. module: rma #. module: rma
#: model:ir.model.fields.selection,name:rma.selection__rma__priority__0 #: model:ir.model.fields.selection,name:rma.selection__rma__priority__0
msgid "Normal" msgid "Normal"
msgstr "" msgstr "Normal"
#. module: rma #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__message_needaction_counter #: 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 #: code:addons/rma/models/rma.py:0
#, python-format #, python-format
msgid "" msgid ""
"Quantity to extract cannot be greater than remaining delivery quantity (%s " "Quantity to extract cannot be greater than remaining delivery quantity "
"%s)" "(%(remaining_qty)s %(product_uom)s)"
msgstr "" msgstr ""
"La cantidad a extraer no puede ser mayor que la cantidad de entrega " "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 #. module: rma
#: model:ir.model.fields,help:rma.field_rma_split_wizard__product_uom_qty #: 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" msgid "RMA Delivery Wizard"
msgstr "Asistente de entrega de RMA" 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 #. module: rma
#: model_terms:ir.ui.view,arch_db:rma.view_rma_finalization_form #: model_terms:ir.ui.view,arch_db:rma.view_rma_finalization_form
msgid "RMA Finalization" 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.actions.act_window,name:rma.action_rma_finalization
#: model:ir.ui.menu,name:rma.rma_configuration_rma_finalization_menu #: 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.rma_finalization_view_search
#: model_terms:ir.ui.view,arch_db:rma.view_rma_finalization_list
msgid "RMA Finalization Reasons" msgid "RMA Finalization Reasons"
msgstr "Motivos de finalización de RMA" msgstr "Motivos de finalización de RMA"
@@ -1450,6 +1467,7 @@ msgstr ""
#. module: rma #. module: rma
#: model:mail.message.subtype,name:rma.mt_rma_notification #: model:mail.message.subtype,name:rma.mt_rma_notification
#: model:mail.message.subtype,name:rma.mt_rma_team_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" msgid "RMA Notification"
msgstr "Notificación de RMA" msgstr "Notificación de RMA"
@@ -1475,6 +1493,11 @@ msgstr "Tipo de operación para entrega de RMA"
msgid "RMA Receipt Confirmation Email" msgid "RMA Receipt Confirmation Email"
msgstr "Correo de confirmación de recepción de RMA" 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 #. module: rma
#: code:addons/rma/models/stock_warehouse.py:0 #: code:addons/rma/models/stock_warehouse.py:0
#, python-format #, python-format
@@ -1501,7 +1524,6 @@ msgstr "Etiqueta RMA"
#: model:ir.model,name:rma.model_rma_tag #: model:ir.model,name:rma.model_rma_tag
#: model:ir.ui.menu,name:rma.rma_configuration_rma_tag_menu #: 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.rma_tag_view_search
#: model_terms:ir.ui.view,arch_db:rma.view_rma_tag_list
msgid "RMA Tags" msgid "RMA Tags"
msgstr "Etiquetas RMA" msgstr "Etiquetas RMA"
@@ -1629,16 +1651,16 @@ msgstr "Referencia al documento que generó este RMA."
msgid "Refund" msgid "Refund"
msgstr "Factura rectificativa" msgstr "Factura rectificativa"
#. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__refund_line_id
msgid "Refund Line"
msgstr ""
#. module: rma #. module: rma
#: model:ir.model.fields,help:rma.field_rma__partner_invoice_id #: model:ir.model.fields,help:rma.field_rma__partner_invoice_id
msgid "Refund address for current RMA." msgid "Refund address for current RMA."
msgstr "Dirección de facturación de este 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 #. module: rma
#: model:ir.model.fields.selection,name:rma.selection__rma__state__refunded #: model:ir.model.fields.selection,name:rma.selection__rma__state__refunded
msgid "Refunded" msgid "Refunded"
@@ -1680,27 +1702,29 @@ msgstr "Reemplazado"
#: code:addons/rma/models/rma.py:0 #: code:addons/rma/models/rma.py:0
#, 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="
"\">%s</a> (Picking <a href=\"#\" data-oe-model=\"stock.picking\" data-oe-id=" "\"%(move_id)d\">%(move_name)s</a> (Picking <a href=\"#\" data-oe-model="
"\"%d\">%s</a>) has been created." "\"stock.picking\" data-oe-id=\"%(picking_id)d\"> %(picking_name)s</a>) has "
"been created."
msgstr "" msgstr ""
"Reemplazo: El movimiento <a href=\"#\" data-oe-model=\"stock.move\" data-oe-" "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." "id=\"%(move_id)d\">%(move_name)s</a> (Orden de entrega <a href=\"#\" data-oe-"
"picking\" data-oe-id=\"%d\">%s</a>) ha sido creado." "model=\"stock.picking\" data-oe-id=\"%(picking_id)d\">%(picking_name)s</a>) "
"ha sido creado."
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:0 #: code:addons/rma/models/rma.py:0
#, 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\" "
"data-oe-id=\"%d\">%s</a><br/>Quantity %f %s<br/>This replacement did not " "data-oe-id=\"%(id)d\">%(name)s</a><br/>Quantity %(qty)s %(uom)s<br/>This "
"create a new move, but one of the previously created moves was updated with " "replacement did not create a new move, but one of the previously created "
"this data." "moves was updated with this data."
msgstr "" msgstr ""
"Reemplazo:<br/>Producto <a href=\"#\" data-oe-model=\"product.product\" data-" "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 " "oe-id=\"%(id)d\">%(name)s</a><br/>Cantidad %(qty) s%(uom)s<br/>El reemplazo "
"movimiento nuevo, pero uno de los movimientos creados anteriormente fué " "realizado no creó un movimiento nuevo, pero uno de los movimientos creados "
"actualizado con estos datos." "anteriormente fué actualizado con estos datos."
#. module: rma #. module: rma
#: model:ir.ui.menu,name:rma.rma_reporting_menu #: model:ir.ui.menu,name:rma.rma_reporting_menu
@@ -1745,11 +1769,11 @@ msgstr "Devolver al cliente"
#: code:addons/rma/models/rma.py:0 #: code:addons/rma/models/rma.py:0
#, 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=\"%(id)d\">"
"a> has been created." "%(name)s</a> has been created."
msgstr "" msgstr ""
"Devolución: La orden de entrega <a href=\"#\" data-oe-model=\"stock.picking" "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 #. module: rma
#: model:ir.model.fields.selection,name:rma.selection__rma__state__returned #: 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 #: code:addons/rma/models/rma.py:0
#, python-format #, python-format
msgid "" msgid ""
"Split: <a href=\"#\" data-oe-model=\"rma\" data-oe-id=\"%d\">%s</a> has been " "Split: <a href=\"#\" data-oe-model=\"rma\" data-oe-id=\"%(id)d\">%(name)s</"
"created." "a> has been created."
msgstr "" msgstr ""
"División: El RMA <a href=\"#\" data-oe-model=\"rma\" data-oe-id=\"%d\">%s</" "División: El RMA <a href=\"#\" data-oe-model=\"rma\" data-oe-id=\"%(id)d\">"
"a> ha sido creado." "%(name)s</a> ha sido creado."
#. module: rma #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__state #: model:ir.model.fields,field_description:rma.field_rma__state
@@ -1968,7 +1992,7 @@ msgstr "¡El nombre de operación ya existe!"
#. module: rma #. module: rma
#: model:ir.model.fields,help:rma.field_rma_tag__active #: model:ir.model.fields,help:rma.field_rma_tag__active
msgid "The active field allows you to hide the category without removing it." 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 #. module: rma
#: model:ir.model.fields,help:rma.field_rma_team__alias_model_id #: 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 #: code:addons/rma/models/stock_move.py:0
#, python-format #, python-format
msgid "" msgid ""
"The quantity done for the product '%s' must be equal to its initial demand " "The quantity done for the product '%(id)s' must be equal to its initial "
"because the stock move is linked to an RMA (%s)." "demand because the stock move is linked to an RMA (%(name)s)."
msgstr "" msgstr ""
"La cantidad realizada para el producto '%s' debe ser igual a la demanda " "La cantidad realizada para el producto '%(id)s' debe ser igual a la demanda "
"inicial porque el movimiento está enlazado a un RMA (%s)." "inicial porque el movimiento está enlazado a un RMA (%(name)s)."
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:0 #: code:addons/rma/models/rma.py:0
@@ -2077,7 +2101,7 @@ msgstr "Tipo de operación"
#. module: rma #. module: rma
#: model:ir.model.fields,help:rma.field_rma__activity_exception_decoration #: model:ir.model.fields,help:rma.field_rma__activity_exception_decoration
msgid "Type of the exception activity on record." msgid "Type of the exception activity on record."
msgstr "" msgstr "Tipo de actividad de excepción en registro."
#. module: rma #. module: rma
#: model_terms:ir.ui.view,arch_db:rma.rma_view_search #: model_terms:ir.ui.view,arch_db:rma.rma_view_search
@@ -2247,3 +2271,36 @@ msgid ""
msgstr "" msgstr ""
"El usuario tendrá acceso a la configuración de RMA y a los informes " "El usuario tendrá acceso a la configuración de RMA y a los informes "
"estadísticos." "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 " "the user will have an access to the RMA configuration as well as statistic "
"reports." "reports."
msgstr "l'utente avrà accesso alla configurazione RMA e ai report statistici." 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 "" msgstr ""
"o utilizador terá acesso à configuração RMA, bem como aos relatórios " "o utilizador terá acesso à configuração RMA, bem como aos relatórios "
"estatísticos." "estatísticos."
#~ msgid "<strong>Invoicing address:</strong>"
#~ msgstr "<strong>Endereço de Cobrança:</strong>"

View File

@@ -2183,88 +2183,3 @@ msgid ""
msgstr "" msgstr ""
"o usuário terá acesso à configuração RMA, bem como aos relatórios " "o usuário terá acesso à configuração RMA, bem como aos relatórios "
"estatísticos." "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 "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 14.0\n" "Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
@@ -13,32 +13,6 @@ msgstr ""
"Content-Transfer-Encoding: \n" "Content-Transfer-Encoding: \n"
"Plural-Forms: \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 #. module: rma
#: code:addons/rma/models/rma_team.py:0 #: code:addons/rma/models/rma_team.py:0
#, python-format #, python-format
@@ -53,7 +27,8 @@ msgstr ""
#. module: rma #. module: rma
#: code:addons/rma/models/rma.py:0 #: code:addons/rma/models/rma.py:0
#, python-format #, 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 "" msgstr ""
#. module: rma #. module: rma
@@ -61,15 +36,24 @@ msgstr ""
msgid "" msgid ""
"<div style=\"margin: 0px; padding: 0px;\">\n" "<div style=\"margin: 0px; padding: 0px;\">\n"
" <p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n" " <p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
" Dear ${object.partner_id.name}\n" " Dear\n"
" % if object.partner_id.parent_id:\n" " <t t-out=\"object.partner_id.name\"/>\n"
" (${object.partner_id.parent_id.name})\n" " <t t-if=\"object.partner_id.parent_id\">\n"
" % endif\n" " <t t-out=\"object.partner_id.parent_id.name\"/>\n"
" <br/><br/>\n" " </t>\n"
" Here is the RMA <strong>${object.name}</strong> from ${object.company_id.name}.\n" " <br/>\n"
" <br/><br/>\n" " <br/>\n"
" Do not hesitate to contact us if you have any question.\n" " Here is the RMA\n"
"</p>\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" " </div>\n"
" " " "
msgstr "" msgstr ""
@@ -78,18 +62,26 @@ msgstr ""
#: model:mail.template,body_html:rma.mail_template_rma_receipt_notification #: model:mail.template,body_html:rma.mail_template_rma_receipt_notification
msgid "" msgid ""
"<div style=\"margin: 0px; padding: 0px;\">\n" "<div style=\"margin: 0px; padding: 0px;\">\n"
"<p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n" " <p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
" Dear ${object.partner_id.name}\n" " Dear\n"
" % if object.partner_id.parent_id:\n" " <t t-out=\"object.partner_id.name\"/>\n"
" (${object.partner_id.parent_id.name})\n" " <t t-if=\"object.partner_id.parent_id\">\n"
" % endif\n" " <t t-out=\"object.partner_id.parent_id.name\"/>\n"
" <br/><br/>\n" " </t>\n"
" The products for your RMA <strong>${object.name}</strong>\n" " <br/>\n"
" from ${object.company_id.name} have been received in our warehouse.\n" " <br/>\n"
" <br/><br/>\n" " The products for your RMA\n"
" Do not hesitate to contact us if you have any question.\n" " <strong>\n"
"</p>\n" " <t t-out=\"object.name\"/>\n"
"</div>\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 "" msgstr ""
@@ -97,19 +89,26 @@ msgstr ""
#: model:mail.template,body_html:rma.mail_template_rma_draft_notification #: model:mail.template,body_html:rma.mail_template_rma_draft_notification
msgid "" msgid ""
"<div style=\"margin: 0px; padding: 0px;\">\n" "<div style=\"margin: 0px; padding: 0px;\">\n"
"<p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n" " <p style=\"margin: 0px; padding: 0px; font-size: 13px;\">\n"
" Dear ${object.partner_id.name}\n" " Dear\n"
" % if object.partner_id.parent_id:\n" " <t t-out=\"object.partner_id.name\"/>\n"
" (${object.partner_id.parent_id.name})\n" " <t t-if=\"object.partner_id.parent_id\">\n"
" % endif\n" " <t t-out=\"object.partner_id.parent_id.name\"/>\n"
" <br/><br/>\n" " </t>\n"
" You've succesfully placed your RMA <strong>${object.name}</strong>\n" " <br/>\n"
" on ${object.company_id.name}. Our team will check it and will validate\n" " <br/>\n"
" it as soon as possible.\n" " You've succesfully placed your RMA\n"
" <br/><br/>\n" " <strong>\n"
" Do not hesitate to contact us if you have any question.\n" " <t t-out=\"object.name\"/>\n"
"</p>\n" " </strong>\n"
"</div>\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 "" msgstr ""
@@ -149,29 +148,73 @@ msgstr ""
#. module: rma #. module: rma
#: model_terms:ir.ui.view,arch_db:rma.portal_rma_page #: model_terms:ir.ui.view,arch_db:rma.portal_rma_page
msgid "" msgid ""
"<span class=\"badge badge-danger label-text-align\"><i class=\"fa fa-fw fa-" "<span class=\"badge badge-danger label-text-align\">\n"
"times\"/> Cancelled</span>" " <i class=\"fa fa-fw fa-times\"/>\n"
" Cancelled\n"
" </span>"
msgstr "" msgstr ""
#. module: rma #. module: rma
#: model_terms:ir.ui.view,arch_db:rma.portal_rma_page #: model_terms:ir.ui.view,arch_db:rma.portal_rma_page
msgid "" msgid ""
"<span class=\"badge badge-info label-text-align\"><i class=\"fa fa-fw fa-" "<span class=\"badge badge-danger label-text-align\">\n"
"clock-o\"/> Preparation</span>" " <i class=\"fa fa-fw fa-times\"/>\n"
" Cancelled\n"
" </span>"
msgstr "" msgstr ""
#. module: rma #. module: rma
#: model_terms:ir.ui.view,arch_db:rma.portal_rma_page #: model_terms:ir.ui.view,arch_db:rma.portal_rma_page
msgid "" msgid ""
"<span class=\"badge badge-success label-text-align\"><i class=\"fa fa-fw fa-" "<span class=\"badge badge-info label-text-align\">\n"
"truck\"/> Shipped</span>" " <i class=\"fa fa-fw fa-clock-o\"/>\n"
" Preparation\n"
" </span>"
msgstr "" msgstr ""
#. module: rma #. module: rma
#: model_terms:ir.ui.view,arch_db:rma.portal_rma_page #: model_terms:ir.ui.view,arch_db:rma.portal_rma_page
msgid "" msgid ""
"<span class=\"badge badge-warning label-text-align\"><i class=\"fa fa-fw fa-" "<span class=\"badge badge-info label-text-align\">\n"
"clock-o\"/> Partially Available</span>" " <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 "" msgstr ""
#. module: rma #. module: rma
@@ -622,12 +665,12 @@ msgstr ""
#. module: rma #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__delivered_qty #: model:ir.model.fields,field_description:rma.field_rma__delivered_qty
msgid "Delivered qty" msgid "Delivered Qty"
msgstr "" msgstr ""
#. module: rma #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__delivered_qty_done #: model:ir.model.fields,field_description:rma.field_rma__delivered_qty_done
msgid "Delivered qty done" msgid "Delivered Qty Done"
msgstr "" msgstr ""
#. module: rma #. module: rma
@@ -652,12 +695,6 @@ msgid "Description"
msgstr "" msgstr ""
#. module: rma #. 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__display_name
#: model:ir.model.fields,field_description:rma.field_rma_delivery_wizard__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 #: 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_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_tag__display_name
#: model:ir.model.fields,field_description:rma.field_rma_team__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" msgid "Display Name"
msgstr "" msgstr ""
@@ -794,12 +826,6 @@ msgstr ""
msgid "Followers" msgid "Followers"
msgstr "" 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 #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__message_partner_ids #: 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 #: 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 "" msgstr ""
#. module: rma #. module: rma
#: model:ir.model.fields,field_description:rma.field_account_move__id #: model:ir.model.fields,field_description:rma.field_rma__has_message
#: model:ir.model.fields,field_description:rma.field_account_move_line__id #: model:ir.model.fields,field_description:rma.field_rma_team__has_message
#: model:ir.model.fields,field_description:rma.field_res_company__id msgid "Has Message"
#: model:ir.model.fields,field_description:rma.field_res_config_settings__id msgstr ""
#: model:ir.model.fields,field_description:rma.field_res_partner__id
#: model:ir.model.fields,field_description:rma.field_res_users__id #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__id #: 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_delivery_wizard__id
#: model:ir.model.fields,field_description:rma.field_rma_finalization__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_split_wizard__id
#: model:ir.model.fields,field_description:rma.field_rma_tag__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_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" msgid "ID"
msgstr "" msgstr ""
@@ -936,12 +957,6 @@ msgid "Journal Item"
msgstr "" msgstr ""
#. module: rma #. 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____last_update
#: model:ir.model.fields,field_description:rma.field_rma_delivery_wizard____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 #: 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_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_tag____last_update
#: model:ir.model.fields,field_description:rma.field_rma_team____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" msgid "Last Modified on"
msgstr "" msgstr ""
@@ -1249,8 +1259,8 @@ msgstr ""
#: code:addons/rma/models/rma.py:0 #: code:addons/rma/models/rma.py:0
#, python-format #, python-format
msgid "" msgid ""
"Quantity to extract cannot be greater than remaining delivery quantity (%s " "Quantity to extract cannot be greater than remaining delivery quantity "
"%s)" "(%(remaining_qty)s %(product_uom)s)"
msgstr "" msgstr ""
#. module: rma #. module: rma
@@ -1309,6 +1319,11 @@ msgstr ""
msgid "RMA Delivery Wizard" msgid "RMA Delivery Wizard"
msgstr "" msgstr ""
#. module: rma
#: model:mail.template,name:rma.mail_template_rma_draft_notification
msgid "RMA Draft Notification"
msgstr ""
#. module: rma #. module: rma
#: model_terms:ir.ui.view,arch_db:rma.view_rma_finalization_form #: model_terms:ir.ui.view,arch_db:rma.view_rma_finalization_form
msgid "RMA Finalization" msgid "RMA Finalization"
@@ -1323,7 +1338,6 @@ msgstr ""
#: model:ir.actions.act_window,name:rma.action_rma_finalization #: model:ir.actions.act_window,name:rma.action_rma_finalization
#: model:ir.ui.menu,name:rma.rma_configuration_rma_finalization_menu #: 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.rma_finalization_view_search
#: model_terms:ir.ui.view,arch_db:rma.view_rma_finalization_list
msgid "RMA Finalization Reasons" msgid "RMA Finalization Reasons"
msgstr "" msgstr ""
@@ -1350,6 +1364,7 @@ msgstr ""
#. module: rma #. module: rma
#: model:mail.message.subtype,name:rma.mt_rma_notification #: model:mail.message.subtype,name:rma.mt_rma_notification
#: model:mail.message.subtype,name:rma.mt_rma_team_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" msgid "RMA Notification"
msgstr "" msgstr ""
@@ -1375,6 +1390,11 @@ msgstr ""
msgid "RMA Receipt Confirmation Email" msgid "RMA Receipt Confirmation Email"
msgstr "" msgstr ""
#. module: rma
#: model:mail.template,name:rma.mail_template_rma_receipt_notification
msgid "RMA Receipt Notification"
msgstr ""
#. module: rma #. module: rma
#: code:addons/rma/models/stock_warehouse.py:0 #: code:addons/rma/models/stock_warehouse.py:0
#, python-format #, python-format
@@ -1401,7 +1421,6 @@ msgstr ""
#: model:ir.model,name:rma.model_rma_tag #: model:ir.model,name:rma.model_rma_tag
#: model:ir.ui.menu,name:rma.rma_configuration_rma_tag_menu #: 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.rma_tag_view_search
#: model_terms:ir.ui.view,arch_db:rma.view_rma_tag_list
msgid "RMA Tags" msgid "RMA Tags"
msgstr "" msgstr ""
@@ -1529,13 +1548,13 @@ msgid "Refund"
msgstr "" msgstr ""
#. module: rma #. module: rma
#: model:ir.model.fields,help:rma.field_rma__partner_invoice_id #: model:ir.model.fields,field_description:rma.field_rma__refund_line_id
msgid "Refund address for current RMA." msgid "Refund Line"
msgstr "" msgstr ""
#. module: rma #. module: rma
#: model:ir.model.fields,field_description:rma.field_rma__refund_line_id #: model:ir.model.fields,help:rma.field_rma__partner_invoice_id
msgid "Refund line" msgid "Refund address for current RMA."
msgstr "" msgstr ""
#. module: rma #. module: rma
@@ -1580,8 +1599,9 @@ msgstr ""
#, python-format #, python-format
msgid "" msgid ""
"Replacement: Move <a href=\"#\" data-oe-model=\"stock.move\" data-oe-" "Replacement: Move <a href=\"#\" data-oe-model=\"stock.move\" data-oe-"
"id=\"%d\">%s</a> (Picking <a href=\"#\" data-oe-model=\"stock.picking\" " "id=\"%(move_id)d\">%(move_name)s</a> (Picking <a href=\"#\" data-oe-"
"data-oe-id=\"%d\">%s</a>) has been created." "model=\"stock.picking\" data-oe-id=\"%(picking_id)d\"> %(picking_name)s</a>)"
" has been created."
msgstr "" msgstr ""
#. module: rma #. module: rma
@@ -1589,9 +1609,9 @@ msgstr ""
#, 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\" "
"data-oe-id=\"%d\">%s</a><br/>Quantity %f %s<br/>This replacement did not " "data-oe-id=\"%(id)d\">%(name)s</a><br/>Quantity %(qty)s %(uom)s<br/>This "
"create a new move, but one of the previously created moves was updated with " "replacement did not create a new move, but one of the previously created "
"this data." "moves was updated with this data."
msgstr "" msgstr ""
#. module: rma #. module: rma
@@ -1638,7 +1658,7 @@ msgstr ""
#, python-format #, python-format
msgid "" msgid ""
"Return: <a href=\"#\" data-oe-model=\"stock.picking\" data-oe-" "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 "" msgstr ""
#. module: rma #. module: rma
@@ -1777,8 +1797,8 @@ msgstr ""
#: code:addons/rma/models/rma.py:0 #: code:addons/rma/models/rma.py:0
#, python-format #, python-format
msgid "" msgid ""
"Split: <a href=\"#\" data-oe-model=\"rma\" data-oe-id=\"%d\">%s</a> has been" "Split: <a href=\"#\" data-oe-model=\"rma\" data-oe-"
" created." "id=\"%(id)d\">%(name)s</a> has been created."
msgstr "" msgstr ""
#. module: rma #. module: rma
@@ -1882,8 +1902,8 @@ msgstr ""
#: code:addons/rma/models/stock_move.py:0 #: code:addons/rma/models/stock_move.py:0
#, python-format #, python-format
msgid "" msgid ""
"The quantity done for the product '%s' must be equal to its initial demand " "The quantity done for the product '%(id)s' must be equal to its initial "
"because the stock move is linked to an RMA (%s)." "demand because the stock move is linked to an RMA (%(name)s)."
msgstr "" msgstr ""
#. module: rma #. module: rma
@@ -2113,3 +2133,29 @@ msgid ""
"the user will have an access to the RMA configuration as well as statistic " "the user will have an access to the RMA configuration as well as statistic "
"reports." "reports."
msgstr "" 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 " "the user will have an access to the RMA configuration as well as statistic "
"reports." "reports."
msgstr "" 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 # Copyright 2020 Tecnativa - Ernesto Tejeda
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
import logging
from collections import Counter from collections import Counter
from odoo import _, api, fields, models 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 from odoo.addons.stock.models.stock_move import PROCUREMENT_PRIORITIES
_logger = logging.getLogger(__name__)
class Rma(models.Model): class Rma(models.Model):
_name = "rma" _name = "rma"
@@ -31,7 +33,6 @@ class Rma(models.Model):
# General fields # General fields
sent = fields.Boolean() sent = fields.Boolean()
name = fields.Char( name = fields.Char(
string="Name",
index=True, index=True,
readonly=True, readonly=True,
states={"draft": [("readonly", False)]}, states={"draft": [("readonly", False)]},
@@ -40,31 +41,43 @@ class Rma(models.Model):
) )
origin = fields.Char( origin = fields.Char(
string="Source Document", 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.", help="Reference of the document that generated this RMA.",
) )
date = fields.Datetime( date = fields.Datetime(
default=lambda self: fields.Datetime.now(), default=fields.Datetime.now,
index=True, index=True,
required=True, required=True,
readonly=True, readonly=True,
states={"draft": [("readonly", False)]}, states={"draft": [("readonly", False)]},
) )
deadline = fields.Date( deadline = fields.Date(
states={"locked": [("readonly", True)], "cancelled": [("readonly", True)]}, states={
"locked": [("readonly", True)],
"cancelled": [("readonly", True)],
},
) )
user_id = fields.Many2one( user_id = fields.Many2one(
comodel_name="res.users", comodel_name="res.users",
string="Responsible", string="Responsible",
index=True, index=True,
tracking=True, tracking=True,
states={"locked": [("readonly", True)], "cancelled": [("readonly", True)]}, states={
"locked": [("readonly", True)],
"cancelled": [("readonly", True)],
},
) )
team_id = fields.Many2one( team_id = fields.Many2one(
comodel_name="rma.team", comodel_name="rma.team",
string="RMA team", string="RMA team",
index=True, 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") tag_ids = fields.Many2many(comodel_name="rma.tag", string="Tags")
finalization_id = fields.Many2one( finalization_id = fields.Many2one(
@@ -72,13 +85,18 @@ class Rma(models.Model):
comodel_name="rma.finalization", comodel_name="rma.finalization",
copy=False, copy=False,
readonly=True, readonly=True,
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]", domain=(
"['|', ('company_id', '=', False), ('company_id', '='," " company_id)]"
),
tracking=True, tracking=True,
) )
company_id = fields.Many2one( company_id = fields.Many2one(
comodel_name="res.company", comodel_name="res.company",
default=lambda self: self.env.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( partner_id = fields.Many2one(
string="Customer", string="Customer",
@@ -100,7 +118,9 @@ class Rma(models.Model):
comodel_name="res.partner", comodel_name="res.partner",
readonly=True, readonly=True,
states={"draft": [("readonly", False)]}, 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.", help="Refund address for current RMA.",
) )
commercial_partner_id = fields.Many2one( commercial_partner_id = fields.Many2one(
@@ -110,21 +130,25 @@ class Rma(models.Model):
picking_id = fields.Many2one( picking_id = fields.Many2one(
comodel_name="stock.picking", comodel_name="stock.picking",
string="Origin Delivery", string="Origin Delivery",
domain="[" domain=(
" ('state', '=', 'done')," "["
" ('picking_type_id.code', '=', 'outgoing')," " ('state', '=', 'done'),"
" ('partner_id', 'child_of', commercial_partner_id)," " ('picking_type_id.code', '=', 'outgoing'),"
"]", " ('partner_id', 'child_of', commercial_partner_id),"
"]"
),
readonly=True, readonly=True,
states={"draft": [("readonly", False)]}, states={"draft": [("readonly", False)]},
) )
move_id = fields.Many2one( move_id = fields.Many2one(
comodel_name="stock.move", comodel_name="stock.move",
string="Origin move", string="Origin move",
domain="[" domain=(
" ('picking_id', '=', picking_id)," "["
" ('picking_id', '!=', False)" " ('picking_id', '=', picking_id),"
"]", " ('picking_id', '!=', False)"
"]"
),
readonly=True, readonly=True,
states={"draft": [("readonly", False)]}, states={"draft": [("readonly", False)]},
) )
@@ -159,7 +183,6 @@ class Rma(models.Model):
}, },
) )
priority = fields.Selection( priority = fields.Selection(
string="Priority",
selection=PROCUREMENT_PRIORITIES, selection=PROCUREMENT_PRIORITIES,
default="1", default="1",
readonly=True, readonly=True,
@@ -188,7 +211,10 @@ class Rma(models.Model):
tracking=True, tracking=True,
) )
description = fields.Html( description = fields.Html(
states={"locked": [("readonly", True)], "cancelled": [("readonly", True)]}, states={
"locked": [("readonly", True)],
"cancelled": [("readonly", True)],
},
) )
# Reception fields # Reception fields
location_id = fields.Many2one( location_id = fields.Many2one(
@@ -210,13 +236,11 @@ class Rma(models.Model):
# Refund fields # Refund fields
refund_id = fields.Many2one( refund_id = fields.Many2one(
comodel_name="account.move", comodel_name="account.move",
string="Refund",
readonly=True, readonly=True,
copy=False, copy=False,
) )
refund_line_id = fields.Many2one( refund_line_id = fields.Many2one(
comodel_name="account.move.line", comodel_name="account.move.line",
string="Refund line",
readonly=True, readonly=True,
copy=False, copy=False,
) )
@@ -234,13 +258,11 @@ class Rma(models.Model):
compute="_compute_delivery_picking_count", compute="_compute_delivery_picking_count",
) )
delivered_qty = fields.Float( delivered_qty = fields.Float(
string="Delivered qty",
digits="Product Unit of Measure", digits="Product Unit of Measure",
compute="_compute_delivered_qty", compute="_compute_delivered_qty",
store=True, store=True,
) )
delivered_qty_done = fields.Float( delivered_qty_done = fields.Float(
string="Delivered qty done",
digits="Product Unit of Measure", digits="Product Unit of Measure",
compute="_compute_delivered_qty", compute="_compute_delivered_qty",
compute_sudo=True, compute_sudo=True,
@@ -447,7 +469,11 @@ class Rma(models.Model):
# Constrains methods (@api.constrains) # Constrains methods (@api.constrains)
@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): def _check_required_after_draft(self):
"""Check that RMAs are being created or edited with the """Check that RMAs are being created or edited with the
@@ -695,6 +721,7 @@ class Rma(models.Model):
# in other models # in other models
action = ( action = (
self.env.ref("rma.rma_delivery_wizard_action") self.env.ref("rma.rma_delivery_wizard_action")
.sudo()
.with_context(active_id=self.id) .with_context(active_id=self.id)
.read()[0] .read()[0]
) )
@@ -717,6 +744,7 @@ class Rma(models.Model):
# in other models # in other models
action = ( action = (
self.env.ref("rma.rma_delivery_wizard_action") self.env.ref("rma.rma_delivery_wizard_action")
.sudo()
.with_context(active_id=self.id) .with_context(active_id=self.id)
.read()[0] .read()[0]
) )
@@ -736,6 +764,7 @@ class Rma(models.Model):
# in other models # in other models
action = ( action = (
self.env.ref("rma.rma_split_wizard_action") self.env.ref("rma.rma_split_wizard_action")
.sudo()
.with_context(active_id=self.id) .with_context(active_id=self.id)
.read()[0] .read()[0]
) )
@@ -751,6 +780,7 @@ class Rma(models.Model):
# in other models # in other models
action = ( action = (
self.env.ref("rma.rma_finalization_wizard_action") self.env.ref("rma.rma_finalization_wizard_action")
.sudo()
.with_context(active_id=self.id) .with_context(active_id=self.id)
.read()[0] .read()[0]
) )
@@ -792,6 +822,7 @@ class Rma(models.Model):
# in other models # in other models
action = ( action = (
self.env.ref("stock.action_picking_tree_all") self.env.ref("stock.action_picking_tree_all")
.sudo()
.with_context(active_id=self.id) .with_context(active_id=self.id)
.read()[0] .read()[0]
) )
@@ -820,6 +851,7 @@ class Rma(models.Model):
"""Invoked when 'Delivery' smart button in rma form view is clicked.""" """Invoked when 'Delivery' smart button in rma form view is clicked."""
action = ( action = (
self.env.ref("stock.action_picking_tree_all") self.env.ref("stock.action_picking_tree_all")
.sudo()
.with_context(active_id=self.id) .with_context(active_id=self.id)
.read()[0] .read()[0]
) )
@@ -929,10 +961,15 @@ class Rma(models.Model):
if to_split_uom_qty > self.remaining_qty: if to_split_uom_qty > self.remaining_qty:
raise ValidationError( raise ValidationError(
_( _(
"Quantity to extract cannot be greater than remaining " "Quantity to extract cannot be greater than remaining"
"delivery quantity (%s %s)" " 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 # Reception business methods
@@ -1030,12 +1067,9 @@ class Rma(models.Model):
self.message_post( self.message_post(
body=_( body=_(
'Split: <a href="#" data-oe-model="rma" ' 'Split: <a href="#" data-oe-model="rma" '
'data-oe-id="%d">%s</a> has been created.' 'data-oe-id="%(id)d">%(name)s</a> has been created.'
)
% (
extracted_rma.id,
extracted_rma.name,
) )
% ({"id": extracted_rma.id, "name": extracted_rma.name})
) )
return extracted_rma return extracted_rma
@@ -1143,9 +1177,9 @@ class Rma(models.Model):
rma.message_post( rma.message_post(
body=_( body=_(
'Return: <a href="#" data-oe-model="stock.picking" ' '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_confirm()
picking.action_assign() picking.action_assign()
@@ -1180,17 +1214,19 @@ class Rma(models.Model):
if new_move: if new_move:
self.message_post( self.message_post(
body=_( body=_(
"Replacement: " 'Replacement: Move <a href="#" data-oe-model="stock.move"'
'Move <a href="#" data-oe-model="stock.move" ' ' data-oe-id="%(move_id)d">%(move_name)s</a> (Picking <a'
'data-oe-id="%d">%s</a> (Picking <a href="#" ' ' href="#" data-oe-model="stock.picking"'
'data-oe-model="stock.picking" data-oe-id="%d">%s</a>) ' ' data-oe-id="%(picking_id)d"> %(picking_name)s</a>) has'
"has been created." " been created."
) )
% ( % (
new_move.id, {
new_move.name_get()[0][1], "move_id": new_move.id,
new_move.picking_id.id, "move_name": new_move.name_get()[0][1],
new_move.picking_id.name, "picking_id": new_move.picking_id.id,
"picking_name": new_move.picking_id.name,
}
) )
) )
else: else:
@@ -1198,12 +1234,19 @@ class Rma(models.Model):
body=_( body=_(
"Replacement:<br/>" "Replacement:<br/>"
'Product <a href="#" data-oe-model="product.product" ' 'Product <a href="#" data-oe-model="product.product" '
'data-oe-id="%d">%s</a><br/>' 'data-oe-id="%(id)d">%(name)s</a><br/>'
"Quantity %f %s<br/>" "Quantity %(qty)s %(uom)s<br/>"
"This replacement did not create a new move, but one of " "This replacement did not create a new move, but one of "
"the previously created moves was updated with this data." "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": if self.state != "waiting_replacement":
self.state = "waiting_replacement" self.state = "waiting_replacement"
@@ -1291,10 +1334,10 @@ class Rma(models.Model):
custom_values = {} custom_values = {}
subject = msg_dict.get("subject", "") subject = msg_dict.get("subject", "")
body = html2plaintext(msg_dict.get("body", "")) body = html2plaintext(msg_dict.get("body", ""))
desc = _("<b>E-mail subject:</b> %s<br/><br/><b>E-mail body:</b><br/>%s") % ( desc = _(
subject, "<b>E-mail subject:</b> %(subject)s<br/><br/><b>E-mail"
body, " body:</b><br/>%(body)s"
) ) % ({"subject": subject, "body": body})
defaults = { defaults = {
"description": desc, "description": desc,
"name": _("New"), "name": _("New"),
@@ -1336,8 +1379,8 @@ class Rma(models.Model):
record._message_add_suggested_recipient( record._message_add_suggested_recipient(
recipients, partner=record.partner_id, reason=_("Customer") recipients, partner=record.partner_id, reason=_("Customer")
) )
except AccessError: # no read access rights except AccessError as e: # no read access rights
pass _logger.debug(e)
return recipients return recipients
# Reporting business methods # 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: if rma_receiver and move.quantity_done != rma_receiver.product_uom_qty:
raise ValidationError( 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 " "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) res = super()._action_done(cancel_backorder=cancel_backorder)
move_done = self.filtered(lambda r: r.state == "done").sudo() move_done = self.filtered(lambda r: r.state == "done").sudo()

View File

@@ -3,6 +3,7 @@
* Ernesto Tejeda * Ernesto Tejeda
* Pedro M. Baeza * Pedro M. Baeza
* David Vidal * David Vidal
* Víctor Martínez
* Chafique Delli <chafique.delli@akretion.com> * Chafique Delli <chafique.delli@akretion.com>
* Giovanni Serra - Ooops <giovanni@ooops404.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 !! !! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !! !! 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>. <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 RMA documents can be created from scratch, from a delivery order or from
an incoming email. Product receptions and returning delivery operations 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>. <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. 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 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> <p>Do not contact contributors directly about support or help with technical issues.</p>
</div> </div>
<div class="section" id="credits"> <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>Ernesto Tejeda</li>
<li>Pedro M. Baeza</li> <li>Pedro M. Baeza</li>
<li>David Vidal</li> <li>David Vidal</li>
<li>Víctor Martínez</li>
</ul> </ul>
</li> </li>
<li>Chafique Delli &lt;<a class="reference external" href="mailto:chafique.delli&#64;akretion.com">chafique.delli&#64;akretion.com</a>&gt;</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> promote its widespread use.</p>
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</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><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> <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div> </div>
</div> </div>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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