From 9b4dd2eea077a3025a6015c346d1e28e44006921 Mon Sep 17 00:00:00 2001 From: David Date: Tue, 24 Apr 2018 17:03:42 +0200 Subject: [PATCH] [MIG] pos_order_return: Migration to 10.0 --- pos_order_return/README.rst | 99 +++++++++ pos_order_return/__init__.py | 4 + pos_order_return/__manifest__.py | 28 +++ pos_order_return/demo/product_product.xml | 16 ++ pos_order_return/i18n/es.po | 210 ++++++++++++++++++ pos_order_return/i18n/fr.po | 189 ++++++++++++++++ pos_order_return/models/__init__.py | 4 + pos_order_return/models/pos_order.py | 198 +++++++++++++++++ pos_order_return/models/product_template.py | 13 ++ pos_order_return/static/description/icon.png | Bin 0 -> 7876 bytes .../initial_pos_order_required.png | Bin 0 -> 10574 bytes .../description/partial_return_wizard.png | Bin 0 -> 24285 bytes .../description/product_returnable_bottle.png | Bin 0 -> 49207 bytes .../description/returned_qty_over_initial.png | Bin 0 -> 10644 bytes .../sum_returned_qty_over_initial.png | Bin 0 -> 11731 bytes .../img/product_returnable_bottle-image.jpg | Bin 0 -> 22864 bytes pos_order_return/tests/__init__.py | 3 + .../tests/test_pos_order_return.py | 102 +++++++++ pos_order_return/views/pos_order_view.xml | 56 +++++ .../views/product_product_view.xml | 17 ++ pos_order_return/wizard/__init__.py | 3 + .../wizard/pos_partial_return_wizard.py | 72 ++++++ .../wizard/pos_partial_return_wizard_view.xml | 29 +++ 23 files changed, 1043 insertions(+) create mode 100644 pos_order_return/README.rst create mode 100644 pos_order_return/__init__.py create mode 100644 pos_order_return/__manifest__.py create mode 100644 pos_order_return/demo/product_product.xml create mode 100644 pos_order_return/i18n/es.po create mode 100644 pos_order_return/i18n/fr.po create mode 100644 pos_order_return/models/__init__.py create mode 100644 pos_order_return/models/pos_order.py create mode 100644 pos_order_return/models/product_template.py create mode 100644 pos_order_return/static/description/icon.png create mode 100644 pos_order_return/static/description/initial_pos_order_required.png create mode 100644 pos_order_return/static/description/partial_return_wizard.png create mode 100644 pos_order_return/static/description/product_returnable_bottle.png create mode 100644 pos_order_return/static/description/returned_qty_over_initial.png create mode 100644 pos_order_return/static/description/sum_returned_qty_over_initial.png create mode 100644 pos_order_return/static/img/product_returnable_bottle-image.jpg create mode 100644 pos_order_return/tests/__init__.py create mode 100644 pos_order_return/tests/test_pos_order_return.py create mode 100644 pos_order_return/views/pos_order_view.xml create mode 100644 pos_order_return/views/product_product_view.xml create mode 100644 pos_order_return/wizard/__init__.py create mode 100644 pos_order_return/wizard/pos_partial_return_wizard.py create mode 100644 pos_order_return/wizard/pos_partial_return_wizard_view.xml diff --git a/pos_order_return/README.rst b/pos_order_return/README.rst new file mode 100644 index 00000000..24a1eb4a --- /dev/null +++ b/pos_order_return/README.rst @@ -0,0 +1,99 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.png + :target: https://www.gnu.org/licenses/agpl + :alt: License: AGPL-3 + +================ +PoS Order Return +================ + +This module extends the functionality of odoo Point Of Sale about POS Order +returns. + +With this module, it is now forbidden to return more quantity than the initial +one. + +A link is created between the returned Order and the initial Order. +A link is created between the returned Order Line and the initial Order Line. + +Usage +===== + +Select an PoS Order an choose either *Return Products* (full return of the +order) or *Partial Return*. In this case, a wizard allows to select just some +products and quantities to return: + +.. image:: /pos_order_return/static/description/partial_return_wizard.png + +Register the refund payment to finish the return. If the original order was +invoiced, a refund invoice will be made. + +Implemented Constraints +----------------------- + +* User can not return more products than the initial quantity: + +.. image:: /pos_order_return/static/description/returned_qty_over_initial.png + +* If a line has been partially refund, only a reduced quantity can be returned: + +.. image:: /pos_order_return/static/description/sum_returned_qty_over_initial.png + +* It is not possible to set a negative quantity if the initial Pos Order is + not indicated: + +.. image:: /pos_order_return/static/description/initial_pos_order_required.png + +Configuration +============= + +In some cases, you may want to let the possibility to allow negative quantity +in a PoS Order, without mentioning initial order. This can happen for special +products like returnable products, etc. + +In that case, a checkbox is possible on Product Form View to allow such case + +.. image:: /pos_order_return/static/description/product_returnable_bottle.png + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/184/10.0 + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smash it by providing detailed and welcomed feedback. + +Credits +======= + +Contributors +------------ + +* Sylvain LE GAL +* David Vidal + +Funders +------- + +The development of this module has been financially supported by: + +* La Louve (www.lalouve.net) +* GRAP, Groupement Régional Alimentaire de Proximité (www.grap.coop) + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/pos_order_return/__init__.py b/pos_order_return/__init__.py new file mode 100644 index 00000000..35e7c960 --- /dev/null +++ b/pos_order_return/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import models +from . import wizard diff --git a/pos_order_return/__manifest__.py b/pos_order_return/__manifest__.py new file mode 100644 index 00000000..1f28a3f1 --- /dev/null +++ b/pos_order_return/__manifest__.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +# Copyright 2016-2018 Sylvain LE GAL (https://twitter.com/legalsylvain) +# Copyright 2018 David Vidal +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + 'name': 'Point of Sale Order Return', + 'version': '10.0.1.0.0', + 'category': 'Point Of Sale', + 'author': 'La Louve, ' + 'GRAP, ' + 'Tecnativa, ' + 'Odoo Community Association (OCA)', + 'license': 'AGPL-3', + 'website': 'https://www.github.com/OCA/pos', + 'depends': [ + 'point_of_sale', + ], + 'data': [ + 'wizard/pos_partial_return_wizard_view.xml', + 'views/pos_order_view.xml', + 'views/product_product_view.xml', + ], + 'demo': [ + 'demo/product_product.xml', + ], + 'installable': True, +} diff --git a/pos_order_return/demo/product_product.xml b/pos_order_return/demo/product_product.xml new file mode 100644 index 00000000..67ead223 --- /dev/null +++ b/pos_order_return/demo/product_product.xml @@ -0,0 +1,16 @@ + + + + + Returnable Bottle + RET-BOTL + + + + + + + + + + diff --git a/pos_order_return/i18n/es.po b/pos_order_return/i18n/es.po new file mode 100644 index 00000000..c9dfd971 --- /dev/null +++ b/pos_order_return/i18n/es.po @@ -0,0 +1,210 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_order_return +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-03 12:50+0000\n" +"PO-Revision-Date: 2018-05-03 12:50+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: pos_order_return +#: model:ir.model.fields,field_description:pos_order_return.field_product_product_pos_allow_negative_qty +#: model:ir.model.fields,field_description:pos_order_return.field_product_template_pos_allow_negative_qty +msgid "Allow Negative Quantity on PoS" +msgstr "Allow Negative Quantity on PoS" + +#. module: pos_order_return +#: model:ir.ui.view,arch_db:pos_order_return.view_partial_return_wizard_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: pos_order_return +#: model:ir.model.fields,help:pos_order_return.field_pos_partial_return_wizard_line_max_returnable_qty +msgid "Compute maximum quantity that can be returned for this line, depending of the quantity of the line and other possible refunds." +msgstr "Calcula la cantidad máxima que puede ser devuelta para esta línea, dependiendo de la cantidad de la línea y otras devoluciones anteriores" + +#. module: pos_order_return +#: model:ir.ui.view,arch_db:pos_order_return.view_partial_return_wizard_form +msgid "Confirm" +msgstr "Confirmar" + +#. module: pos_order_return +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard_create_uid +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard_line_create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: pos_order_return +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard_create_date +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard_line_create_date +msgid "Created on" +msgstr "Creado el" + +#. module: pos_order_return +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard_display_name +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard_line_display_name +msgid "Display Name" +msgstr "Nombre a mostrar" + +#. module: pos_order_return +#: code:addons/pos_order_return/models/pos_order.py:186 +#, python-format +msgid "For legal and traceability reasons, you can not set a negative quantity (%d %s of %s), without using return wizard." +msgstr "Por razones legales y de trazabilidad, no puede establecer una cantidad negativa (%d %s of %s), sin en el asistente de devoluciones." + +#. module: pos_order_return +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard_id +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard_line_id +msgid "ID" +msgstr "ID" + +#. module: pos_order_return +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard_line_initial_qty +msgid "Initial Quantity" +msgstr "Cantidad inicial" + +#. module: pos_order_return +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard___last_update +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard_line___last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: pos_order_return +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard_line_write_uid +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard_write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: pos_order_return +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard_line_write_date +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard_write_date +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: pos_order_return +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard_line_pos_order_line_id +msgid "Line To Return" +msgstr "Línea a devolver" + +#. module: pos_order_return +#: model:ir.model,name:pos_order_return.model_pos_order_line +msgid "Lines of Point of Sale" +msgstr "Líneas del Terminal Punto de Venta" + +#. module: pos_order_return +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard_line_ids +#: model:ir.ui.view,arch_db:pos_order_return.view_partial_return_wizard_form +msgid "Lines to Return" +msgstr "Líneas a devolver" + +#. module: pos_order_return +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard_order_id +msgid "Order to Return" +msgstr "Pedido a devolver" + +#. module: pos_order_return +#: model:ir.ui.view,arch_db:pos_order_return.view_partial_return_wizard_form +#: model:ir.ui.view,arch_db:pos_order_return.view_pos_order_form +msgid "Partial Return" +msgstr "Devolición parcial" + +#. module: pos_order_return +#: model:ir.actions.act_window,name:pos_order_return.action_pos_partial_return_wizard +msgid "Partial Return Wizard" +msgstr "Asistente de devolución parcial" + +#. module: pos_order_return +#: model:ir.model,name:pos_order_return.model_pos_order +msgid "Point of Sale Orders" +msgstr "Pedidos del TPV" + +#. module: pos_order_return +#: model:ir.model,name:pos_order_return.model_product_template +msgid "Product Template" +msgstr "Plantilla de producto" + +#. module: pos_order_return +#: model:ir.model.fields,help:pos_order_return.field_pos_partial_return_wizard_line_initial_qty +msgid "Quantity of Product initially sold" +msgstr "Cantidad de producto vendida inicialmente" + +#. module: pos_order_return +#: model:ir.ui.view,arch_db:pos_order_return.view_pos_order_form +#: model:ir.ui.view,arch_db:pos_order_return.view_pos_order_line_form +msgid "Refund" +msgstr "Factura rectificativa" + +#. module: pos_order_return +#: model:ir.model.fields,field_description:pos_order_return.field_pos_order_line_refund_line_ids +msgid "Refund Lines" +msgstr "Líneas de devolución" + +#. module: pos_order_return +#: model:ir.model.fields,field_description:pos_order_return.field_pos_order_refund_order_ids +msgid "Refund Orders" +msgstr "Pedidos de devolución" + +#. module: pos_order_return +#: model:ir.model.fields,field_description:pos_order_return.field_pos_order_refund_order_qty +msgid "Refund Orders Quantity" +msgstr "Cantidad de pedidos de devolución" + +#. module: pos_order_return +#: model:product.product,name:pos_order_return.product_product_returnable_bottle +#: model:product.template,name:pos_order_return.product_product_returnable_bottle_product_template +msgid "Returnable Bottle" +msgstr "Botella retornable" + +#. module: pos_order_return +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard_line_max_returnable_qty +msgid "Returnable Quantity" +msgstr "Cantidad retornable" + +#. module: pos_order_return +#: model:ir.model.fields,field_description:pos_order_return.field_pos_order_line_returned_line_id +#: model:ir.model.fields,field_description:pos_order_return.field_pos_order_returned_order_id +msgid "Returned Order" +msgstr "Pedido devuelto" + +#. module: pos_order_return +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard_line_qty +msgid "Returned Quantity" +msgstr "Cantidad devuelta" + +#. module: pos_order_return +#: model:ir.model.fields,field_description:pos_order_return.field_pos_partial_return_wizard_line_wizard_id +msgid "Wizard" +msgstr "Asistente" + +#. module: pos_order_return +#: code:addons/pos_order_return/models/pos_order.py:175 +#, python-format +msgid "You can not return %d %s of %s because some refunds has been yet done.\n" +" Maximum quantity allowed : %d %s." +msgstr "No puede devolver %d %s de %s porque ya se ha devuelto una parte.\n" +" Catidad máxima permitida : %d %s." + +#. module: pos_order_return +#: code:addons/pos_order_return/models/pos_order.py:166 +#, python-format +msgid "You can not return %d %s of %s because the original Order line only mentions %d %s." +msgstr "No puede devolver %d %s de %s porque el pedido original solo menciona %d %s." + +#. module: pos_order_return +#: model:ir.model,name:pos_order_return.model_pos_partial_return_wizard +msgid "pos.partial.return.wizard" +msgstr "pos.partial.return.wizard" + +#. module: pos_order_return +#: model:ir.model,name:pos_order_return.model_pos_partial_return_wizard_line +msgid "pos.partial.return.wizard.line" +msgstr "pos.partial.return.wizard.line" + diff --git a/pos_order_return/i18n/fr.po b/pos_order_return/i18n/fr.po new file mode 100644 index 00000000..35905716 --- /dev/null +++ b/pos_order_return/i18n/fr.po @@ -0,0 +1,189 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pos_return_order +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-04-03 23:54+0000\n" +"PO-Revision-Date: 2016-04-03 23:54+0000\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: pos_return_order +#: model:ir.model.fields,field_description:pos_return_order.field_product_template_pos_allow_negative_qty +msgid "Allow Negative Quantity on PoS" +msgstr "PdV - Autoriser les quantités négatives" + +#. module: pos_return_order +#: model:ir.ui.view,arch_db:pos_return_order.view_partial_return_wizard_form +msgid "Cancel" +msgstr "Annuler" + +#. module: pos_return_order +#: model:ir.model.fields,help:pos_return_order.field_pos_partial_return_wizard_line_max_returnable_qty +msgid "Compute maximum quantity that can be returned for this line, depending of the quantity of the line and other possible refunds." +msgstr "Calcule la quantité maximum qui peut être retournée pour cette ligne, en fonction de la quantité de la ligne original, et des possibles retours." + +#. module: pos_return_order +#: model:ir.ui.view,arch_db:pos_return_order.view_partial_return_wizard_form +msgid "Confirm" +msgstr "Confirmer" + +#. module: pos_return_order +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard_create_uid +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard_line_create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: pos_return_order +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard_create_date +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard_line_create_date +msgid "Created on" +msgstr "Créé le" + +#. module: pos_return_order +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard_display_name +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard_line_display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: pos_return_order +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard_id +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard_line_id +msgid "ID" +msgstr "ID" + +#. module: pos_return_order +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard_line_initial_qty +msgid "Initial Quantity" +msgstr "Quantité initial" + +#. module: pos_return_order +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard___last_update +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard_line___last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: pos_return_order +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard_line_write_uid +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard_write_uid +msgid "Last Updated by" +msgstr "Mis à jour par" + +#. module: pos_return_order +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard_line_write_date +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard_write_date +msgid "Last Updated on" +msgstr "Mis à jour le" + +#. module: pos_return_order +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard_line_pos_order_line_id +msgid "Line To Return" +msgstr "Ligne à retourner" + +#. module: pos_return_order +#: model:ir.model,name:pos_return_order.model_pos_order_line +msgid "Lines of Point of Sale" +msgstr "Lignes de Points de Vente" + +#. module: pos_return_order +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard_line_ids +#: model:ir.ui.view,arch_db:pos_return_order.view_partial_return_wizard_form +msgid "Lines to Return" +msgstr "Lignes à retourner" + +#. module: pos_return_order +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard_order_id +msgid "Order to Return" +msgstr "Vente à retourner" + +#. module: pos_return_order +#: model:ir.ui.view,arch_db:pos_return_order.view_partial_return_wizard_form +#: model:ir.ui.view,arch_db:pos_return_order.view_pos_order_form +msgid "Partial Return" +msgstr "Retourner partiellement" + +#. module: pos_return_order +#: model:ir.actions.act_window,name:pos_return_order.action_pos_partial_return_wizard +msgid "Partial Return Wizard" +msgstr "Assistant de retour partiel" + +#. module: pos_return_order +#: model:ir.model,name:pos_return_order.model_pos_order +msgid "Point of Sale" +msgstr "Point de vente" + +#. module: pos_return_order +#: model:ir.model,name:pos_return_order.model_product_template +msgid "Product Template" +msgstr "Modèle d'article" + +#. module: pos_return_order +#: model:ir.model.fields,help:pos_return_order.field_pos_partial_return_wizard_line_initial_qty +msgid "Quantity of Product initially sold" +msgstr "Quantité de produit initialement vendue" + +#. module: pos_return_order +#: model:ir.ui.view,arch_db:pos_return_order.view_pos_order_form +#: model:ir.ui.view,arch_db:pos_return_order.view_pos_order_line_form +msgid "Refund" +msgstr "Avoir" + +#. module: pos_return_order +#: model:ir.model.fields,field_description:pos_return_order.field_pos_order_line_refund_line_ids +msgid "Refund Lines" +msgstr "Lignes de vente retournées" + +#. module: pos_return_order +#: model:ir.model.fields,field_description:pos_return_order.field_pos_order_refund_order_ids +msgid "Refund Orders" +msgstr "Ventes retournées" + +#. module: pos_return_order +#: model:ir.model.fields,field_description:pos_return_order.field_pos_order_refund_order_qty +msgid "Refund Orders Quantity" +msgstr "Nombre de ventes retournées" + +#. module: pos_return_order +#: model:product.product,name:pos_return_order.product_product_returnable_bottle +#: model:product.template,name:pos_return_order.product_product_returnable_bottle_product_template +msgid "Returnable Bottle" +msgstr "Bouteille consignée" + +#. module: pos_return_order +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard_line_max_returnable_qty +msgid "Returnable Quantity" +msgstr "Quantité retournable" + +#. module: pos_return_order +#: model:ir.model.fields,field_description:pos_return_order.field_pos_order_line_returned_line_id +#: model:ir.model.fields,field_description:pos_return_order.field_pos_order_returned_order_id +msgid "Returned Order" +msgstr "Vente retournée" + +#. module: pos_return_order +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard_line_qty +msgid "Returned Quantity" +msgstr "Quantité retournée" + +#. module: pos_return_order +#: model:ir.model.fields,field_description:pos_return_order.field_pos_partial_return_wizard_line_wizard_id +msgid "Wizard" +msgstr "Assistant" + +#. module: pos_return_order +#: model:ir.model,name:pos_return_order.model_pos_partial_return_wizard +msgid "pos.partial.return.wizard" +msgstr "pos.partial.return.wizard" + +#. module: pos_return_order +#: model:ir.model,name:pos_return_order.model_pos_partial_return_wizard_line +msgid "pos.partial.return.wizard.line" +msgstr "pos.partial.return.wizard.line" + diff --git a/pos_order_return/models/__init__.py b/pos_order_return/models/__init__.py new file mode 100644 index 00000000..b848178c --- /dev/null +++ b/pos_order_return/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import product_template +from . import pos_order diff --git a/pos_order_return/models/pos_order.py b/pos_order_return/models/pos_order.py new file mode 100644 index 00000000..5ed229a8 --- /dev/null +++ b/pos_order_return/models/pos_order.py @@ -0,0 +1,198 @@ +# -*- coding: utf-8 -*- +# Copyright 2016-2018 Sylvain LE GAL (https://twitter.com/legalsylvain) +# Copyright 2018 David Vidal +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + + +class PosOrder(models.Model): + _inherit = 'pos.order' + + returned_order_id = fields.Many2one( + comodel_name='pos.order', + string='Returned Order', + readonly=True, + ) + refund_order_ids = fields.One2many( + comodel_name='pos.order', + inverse_name='returned_order_id', + string='Refund Orders', + readonly=True, + ) + refund_order_qty = fields.Integer( + compute='_compute_refund_order_qty', + string='Refund Orders Quantity', + ) + + def _compute_refund_order_qty(self): + order_data = self.env['pos.order'].read_group( + [('returned_order_id', 'in', self.ids)], + ['returned_order_id'], ['returned_order_id'] + ) + mapped_data = dict( + [(order['returned_order_id'][0], order['returned_order_id_count']) + for order in order_data]) + for order in self: + order.refund_order_qty = mapped_data.get(order.id, 0) + + def _blank_refund(self, res): + self.ensure_one() + new_order = self.browse(res['res_id']) + new_order.returned_order_id = self + # Remove created lines and recreate and link Lines + new_order.lines.unlink() + return new_order + + def _prepare_invoice(self): + res = super(PosOrder, self)._prepare_invoice() + if not self.returned_order_id: + return res + res.update({ + 'origin': self.name, + 'type': 'out_refund', + 'refund_invoice_id': self.returned_order_id.invoice_id.id, + }) + return res + + def _action_create_invoice_line(self, line=False, invoice_id=False): + line = super(PosOrder, self + )._action_create_invoice_line(line, invoice_id) + if not self.returned_order_id: + return line + # Goes to refund invoice thus it should be positive + line.quantity = -line.quantity + return line + + def _action_pos_order_invoice(self): + """Wrap common process""" + self.action_pos_order_invoice() + self.invoice_id.sudo().action_invoice_open() + self.account_move = self.invoice_id.move_id + + def refund(self): + # Call super to use original refund algorithm (session management, ...) + ctx = dict(self.env.context, do_not_check_negative_qty=True) + res = super(PosOrder, self.with_context(ctx)).refund() + new_order = self._blank_refund(res) + for line in self.lines: + qty = - line.max_returnable_qty([]) + if qty != 0: + copy_line = line.copy() + copy_line.write({ + 'order_id': new_order.id, + 'returned_line_id': line.id, + 'qty': qty, + }) + return res + + def partial_refund(self, partial_return_wizard): + ctx = dict(self.env.context, partial_refund=True) + res = self.with_context(ctx).refund() + new_order = self._blank_refund(res) + for wizard_line in partial_return_wizard.line_ids: + qty = -wizard_line.qty + if qty != 0: + copy_line = wizard_line.pos_order_line_id.copy() + copy_line.write({ + 'order_id': new_order.id, + 'returned_line_id': wizard_line.pos_order_line_id.id, + 'qty': qty, + }) + return res + + def action_pos_order_paid(self): + if self.returned_order_id and self.returned_order_id.invoice_id: + self._action_pos_order_invoice() + return super(PosOrder, self).action_pos_order_paid() + + def _create_picking_return(self): + self.ensure_one() + picking = self.returned_order_id.picking_id + ctx = dict(self.env.context, + active_ids=picking.ids, active_id=picking.id) + wizard = self.env['stock.return.picking'].with_context(ctx).create({}) + # Discard not returned lines + wizard.product_return_moves.filtered( + lambda x: x.product_id not in self.mapped( + 'lines.product_id')).unlink() + to_return = {} + for product in self.lines.mapped('product_id'): + to_return[product] = -sum( + self.lines.filtered( + lambda x: x.product_id == product).mapped('qty')) + for move in wizard.product_return_moves: + if to_return[move.product_id] < move.quantity: + move.quantity = to_return[move.product_id] + to_return[move.product_id] -= move.quantity + return wizard + + def create_picking(self): + """Odoo bases return picking if the quantities are negative, but it's + not linked to the original one""" + res = super(PosOrder, self.filtered(lambda x: not x.returned_order_id) + ).create_picking() + for order in self.filtered('returned_order_id'): + wizard = order._create_picking_return() + res = wizard.create_returns() + order.write({'picking_id': res['res_id']}) + return res + + +class PosOrderLine(models.Model): + _inherit = 'pos.order.line' + + returned_line_id = fields.Many2one( + comodel_name='pos.order.line', + string='Returned Order', + readonly=True, + ) + refund_line_ids = fields.One2many( + comodel_name='pos.order.line', + inverse_name='returned_line_id', + string='Refund Lines', + readonly=True, + ) + + @api.model + def max_returnable_qty(self, ignored_line_ids): + qty = self.qty + for refund_line in self.refund_line_ids: + if refund_line.id not in ignored_line_ids: + qty += refund_line.qty + return qty + + @api.constrains('returned_line_id', 'qty') + def _check_return_qty(self): + if self.env.context.get('do_not_check_negative_qty', False): + return True + for line in self: + if line.returned_line_id and -line.qty > line.returned_line_id.qty: + raise ValidationError(_( + "You can not return %d %s of %s because the original " + "Order line only mentions %d %s." + ) % (-line.qty, line.product_id.uom_id.name, + line.product_id.name, line.returned_line_id.qty, + line.product_id.uom_id.name)) + if (line.returned_line_id and + -line.qty > + line.returned_line_id.max_returnable_qty([line.id])): + raise ValidationError(_( + "You can not return %d %s of %s because some refunds" + " has been yet done.\n Maximum quantity allowed :" + " %d %s." + ) % (-line.qty, line.product_id.uom_id.name, + line.product_id.name, + line.returned_line_id.max_returnable_qty([line.id]), + line.product_id.uom_id.name)) + if (not line.returned_line_id and + line.qty < 0 and not + line.product_id.product_tmpl_id.pos_allow_negative_qty): + raise ValidationError(_( + "For legal and traceability reasons, you can not set a" + " negative quantity (%d %s of %s), without using " + "return wizard." + ) % (line.qty, line.product_id.uom_id.name, + line.product_id.name)) diff --git a/pos_order_return/models/product_template.py b/pos_order_return/models/product_template.py new file mode 100644 index 00000000..f87215f1 --- /dev/null +++ b/pos_order_return/models/product_template.py @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- +# Copyright 2016-2018 Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models + + +class ProductTemplate(models.Model): + _inherit = 'product.template' + + pos_allow_negative_qty = fields.Boolean( + string='Allow Negative Quantity on PoS', + ) diff --git a/pos_order_return/static/description/icon.png b/pos_order_return/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3134d33e23e7cade405a6aeae08b8939194c0437 GIT binary patch literal 7876 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 FzW{}Z`|SV# literal 0 HcmV?d00001 diff --git a/pos_order_return/static/description/partial_return_wizard.png b/pos_order_return/static/description/partial_return_wizard.png new file mode 100644 index 0000000000000000000000000000000000000000..cef08d5261b2abccbe0125646d2466cc0830d446 GIT binary patch literal 24285 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 HKMDC4rN+wZ literal 0 HcmV?d00001 diff --git a/pos_order_return/static/description/product_returnable_bottle.png b/pos_order_return/static/description/product_returnable_bottle.png new file mode 100644 index 0000000000000000000000000000000000000000..131d4e3903d97ee505aaa2326070a319dacd220b GIT binary patch literal 49207 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 literal 0 HcmV?d00001 diff --git a/pos_order_return/static/description/returned_qty_over_initial.png b/pos_order_return/static/description/returned_qty_over_initial.png new file mode 100644 index 0000000000000000000000000000000000000000..d7c2927c601171e8440b38f5ff39917e9e898075 GIT binary patch literal 10644 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ⅈ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 literal 0 HcmV?d00001 diff --git a/pos_order_return/tests/__init__.py b/pos_order_return/tests/__init__.py new file mode 100644 index 00000000..7c46c110 --- /dev/null +++ b/pos_order_return/tests/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import test_pos_order_return diff --git a/pos_order_return/tests/test_pos_order_return.py b/pos_order_return/tests/test_pos_order_return.py new file mode 100644 index 00000000..ef6cdce7 --- /dev/null +++ b/pos_order_return/tests/test_pos_order_return.py @@ -0,0 +1,102 @@ +# -*- coding: utf-8 -*- +# Copyright 2018 Tecnativa - David Vidal +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo.tests import common + + +@common.at_install(False) +@common.post_install(True) +class TestPOSOrderReturn(common.HttpCase): + def setUp(self): + super(TestPOSOrderReturn, self).setUp() + self.partner = self.env['res.partner'].create({ + 'name': 'Mr. Odoo', + }) + self.product_1 = self.env['product.product'].create({ + 'name': 'Test product 1', + 'standard_price': 1.0, + 'type': 'product', + 'pos_allow_negative_qty': False, + 'taxes_id': False, + }) + self.product_2 = self.env['product.product'].create({ + 'name': 'Test product 2', + 'standard_price': 1.0, + 'type': 'product', + 'pos_allow_negative_qty': True, + 'taxes_id': False, + }) + self.PosOrder = self.env['pos.order'] + self.pos_config = self.env.ref('point_of_sale.pos_config_main') + self.pos_config.open_session_cb() + self.pos_order = self.PosOrder.create({ + 'session_id': self.pos_config.current_session_id.id, + 'partner_id': self.partner.id, + 'pricelist_id': self.partner.property_product_pricelist.id, + 'lines': [ + (0, 0, { + 'name': 'POSLINE/0001', + 'product_id': self.product_1.id, + 'price_unit': 450, + 'qty': 2.0, + }), + (0, 0, { + 'name': 'POSLINE/0002', + 'product_id': self.product_2.id, + 'price_unit': 450, + 'qty': 2.0, + }), + (0, 0, { + 'name': 'POSLINE/0003', + 'product_id': self.product_1.id, + 'price_unit': 450, + 'qty': 2.0, + }), + ], + }) + pos_make_payment = self.env['pos.make.payment'].with_context({ + 'active_ids': [self.pos_order.id], + 'active_id': self.pos_order.id, + }).create({}) + pos_make_payment.with_context(active_id=self.pos_order.id).check() + self.pos_order.create_picking() + res = self.pos_order.action_pos_order_invoice() + self.invoice = self.env['account.invoice'].browse(res['res_id']) + + def test_pos_order_full_refund(self): + self.pos_order.refund() + refund_order = self.pos_order.refund_order_ids + self.assertEqual(len(refund_order), 1) + pos_make_payment = self.env['pos.make.payment'].with_context({ + 'active_ids': refund_order.ids, + 'active_id': refund_order.id, + }).create({}) + pos_make_payment.with_context(active_id=refund_order.id).check() + refund_invoice = refund_order.invoice_id + self.assertEqual(refund_invoice.refund_invoice_id, self.invoice) + # Partner balance is 0 + self.assertEqual(sum( + self.partner.mapped('invoice_ids.amount_total_signed')), 0) + + def test_pos_order_partial_refund(self): + partial_refund = self.env['pos.partial.return.wizard'].with_context({ + 'active_ids': self.pos_order.ids, + 'active_id': self.pos_order.id, + }).create({}) + # Return just 1 item from line POSLINE/0001 + partial_refund.line_ids[0].qty = 1 + # Return 2 items from line POSLINE/0003 + partial_refund.line_ids[1].qty = 2 + partial_refund.confirm() + refund_order = self.pos_order.refund_order_ids + self.assertEqual(len(refund_order), 1) + self.assertEqual(len(refund_order.lines), 2) + pos_make_payment = self.env['pos.make.payment'].with_context({ + 'active_ids': refund_order.ids, + 'active_id': refund_order.id, + }).create({}) + pos_make_payment.with_context(active_id=refund_order.id).check() + # Partner balance is 1350 + self.assertEqual(sum( + self.partner.mapped('invoice_ids.amount_total_signed')), 1350) diff --git a/pos_order_return/views/pos_order_view.xml b/pos_order_return/views/pos_order_view.xml new file mode 100644 index 00000000..e217eae8 --- /dev/null +++ b/pos_order_return/views/pos_order_view.xml @@ -0,0 +1,56 @@ + + + + + + + Partial Return Wizard + ir.actions.act_window + pos.partial.return.wizard + form + form + new + + + + pos.order + + + + + + + + + + + + + + + + + + + + + + pos.order.line + + + + + + + + + + + + diff --git a/pos_order_return/views/product_product_view.xml b/pos_order_return/views/product_product_view.xml new file mode 100644 index 00000000..587a1b85 --- /dev/null +++ b/pos_order_return/views/product_product_view.xml @@ -0,0 +1,17 @@ + + + + + + + product.template + + + + + + + + + diff --git a/pos_order_return/wizard/__init__.py b/pos_order_return/wizard/__init__.py new file mode 100644 index 00000000..601ba34d --- /dev/null +++ b/pos_order_return/wizard/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import pos_partial_return_wizard diff --git a/pos_order_return/wizard/pos_partial_return_wizard.py b/pos_order_return/wizard/pos_partial_return_wizard.py new file mode 100644 index 00000000..63a209b2 --- /dev/null +++ b/pos_order_return/wizard/pos_partial_return_wizard.py @@ -0,0 +1,72 @@ +# -*- coding: utf-8 -*- +# Copyright 2016-2018 Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import api, fields, models + + +class PosPartialReturnWizard(models.TransientModel): + _name = 'pos.partial.return.wizard' + + order_id = fields.Many2one( + comodel_name='pos.order', + string='Order to Return', + ) + line_ids = fields.One2many( + comodel_name='pos.partial.return.wizard.line', + inverse_name='wizard_id', + string='Lines to Return', + ) + + def confirm(self): + self.ensure_one() + return self[0].order_id.partial_refund(self[0]) + + @api.model + def default_get(self, fields): + order_obj = self.env['pos.order'] + res = super(PosPartialReturnWizard, self).default_get(fields) + order = order_obj.browse(self.env.context.get('active_id', False)) + if order: + line_ids = [] + for line in order.lines: + line_ids.append((0, 0, { + 'pos_order_line_id': line.id, + 'initial_qty': line.qty, + 'max_returnable_qty': line.max_returnable_qty([]), + })) + res.update({ + 'order_id': order.id, + 'line_ids': line_ids}) + return res + + +class PosPartialReturnWizardLine(models.TransientModel): + _name = 'pos.partial.return.wizard.line' + + wizard_id = fields.Many2one( + comodel_name='pos.partial.return.wizard', + string='Wizard', + ) + pos_order_line_id = fields.Many2one( + comodel_name='pos.order.line', + required=True, + readonly=True, + string='Line To Return', + ) + initial_qty = fields.Float( + string='Initial Quantity', + readonly=True, + help="Quantity of Product initially sold", + ) + max_returnable_qty = fields.Float( + string='Returnable Quantity', + readonly=True, + help="Compute maximum quantity that can be returned for this line, " + "depending of the quantity of the line and other possible " + "refunds.", + ) + qty = fields.Float( + string='Returned Quantity', + default=0.0, + ) diff --git a/pos_order_return/wizard/pos_partial_return_wizard_view.xml b/pos_order_return/wizard/pos_partial_return_wizard_view.xml new file mode 100644 index 00000000..9f2a3c59 --- /dev/null +++ b/pos_order_return/wizard/pos_partial_return_wizard_view.xml @@ -0,0 +1,29 @@ + + + + + + + pos.partial.return.wizard + +

+ + + + + + + + + + + + + + + +