From b8e9175f73adac54c88df91feb5ceaaf54f1e3e8 Mon Sep 17 00:00:00 2001 From: "Luis M. Ontalba" Date: Mon, 9 Apr 2018 15:21:35 +0200 Subject: [PATCH] [11.0][MIG] stock_valued_picking_report --- .../README.rst | 10 +- .../__init__.py | 0 .../__manifest__.py | 12 +- stock_picking_report_valued/i18n/es.po | 134 ++++++++++++++++++ stock_picking_report_valued/i18n/hr.po | 127 +++++++++++++++++ .../models/__init__.py | 4 + .../models/res_partner.py | 1 - .../models/stock_move_line.py | 61 ++++++++ .../models/stock_picking.py | 6 +- .../report/stock_picking_report_valued.xml | 31 ++-- .../tests/__init__.py | 1 - .../tests/test_stock_picking_valued.py | 4 +- .../views/res_partner_view.xml | 0 stock_valued_picking_report/i18n/es.po | 134 ------------------ stock_valued_picking_report/i18n/hr.po | 127 ----------------- .../models/__init__.py | 5 - .../models/stock_pack_operation.py | 94 ------------ 17 files changed, 364 insertions(+), 387 deletions(-) rename {stock_valued_picking_report => stock_picking_report_valued}/README.rst (86%) rename {stock_valued_picking_report => stock_picking_report_valued}/__init__.py (100%) rename {stock_valued_picking_report => stock_picking_report_valued}/__manifest__.py (77%) create mode 100644 stock_picking_report_valued/i18n/es.po create mode 100644 stock_picking_report_valued/i18n/hr.po create mode 100644 stock_picking_report_valued/models/__init__.py rename {stock_valued_picking_report => stock_picking_report_valued}/models/res_partner.py (95%) create mode 100644 stock_picking_report_valued/models/stock_move_line.py rename {stock_valued_picking_report => stock_picking_report_valued}/models/stock_picking.py (86%) rename stock_valued_picking_report/report/stock_picking_valued_report.xml => stock_picking_report_valued/report/stock_picking_report_valued.xml (58%) rename {stock_valued_picking_report => stock_picking_report_valued}/tests/__init__.py (63%) rename {stock_valued_picking_report => stock_picking_report_valued}/tests/test_stock_picking_valued.py (95%) rename {stock_valued_picking_report => stock_picking_report_valued}/views/res_partner_view.xml (100%) delete mode 100644 stock_valued_picking_report/i18n/es.po delete mode 100644 stock_valued_picking_report/i18n/hr.po delete mode 100644 stock_valued_picking_report/models/__init__.py delete mode 100644 stock_valued_picking_report/models/stock_pack_operation.py diff --git a/stock_valued_picking_report/README.rst b/stock_picking_report_valued/README.rst similarity index 86% rename from stock_valued_picking_report/README.rst rename to stock_picking_report_valued/README.rst index 5bb5bfe..99d4caa 100644 --- a/stock_valued_picking_report/README.rst +++ b/stock_picking_report_valued/README.rst @@ -1,13 +1,15 @@ -.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.png + :target: https://www.gnu.org/licenses/agpl :alt: License: AGPL-3 =========================== -Stock Valued Picking Report +Stock Picking Report Valued =========================== Add amount information to Delivery Slip report. You can select at partner level if picking list report must be valued or not. +If the picking is done it's valued with quantity done, otherwise the picking +is valued with reserved quantity. Configuration ============= @@ -29,7 +31,7 @@ To get the stock picking valued report: .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/151/10.0 + :target: https://runbot.odoo-community.org/runbot/151/11.0 Known issues / Roadmap ====================== diff --git a/stock_valued_picking_report/__init__.py b/stock_picking_report_valued/__init__.py similarity index 100% rename from stock_valued_picking_report/__init__.py rename to stock_picking_report_valued/__init__.py diff --git a/stock_valued_picking_report/__manifest__.py b/stock_picking_report_valued/__manifest__.py similarity index 77% rename from stock_valued_picking_report/__manifest__.py rename to stock_picking_report_valued/__manifest__.py index 9257f0d..1ab8755 100644 --- a/stock_valued_picking_report/__manifest__.py +++ b/stock_picking_report_valued/__manifest__.py @@ -1,28 +1,26 @@ -# -*- coding: utf-8 -*- # Copyright 2014 Pedro M. Baeza - Tecnativa # Copyright 2015 Antonio Espinosa - Tecnativa # Copyright 2016 Carlos Dauden - Tecnativa # Copyright 2017 David Vidal - Tecnativa +# Copyright 2017 Luis M. Ontalba - Tecnativa # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { - "name": "Stock Valued Picking Report", + "name": "Valued Picking Report", "summary": "Adding Valued Picking on Delivery Slip report", - "version": "10.0.1.0.1", + "version": "11.0.1.0.0", "author": "Tecnativa, " "Odoo Community Association (OCA)", "website": "https://www.tecnativa.com", "category": "Warehouse Management", "license": "AGPL-3", "depends": [ - "account", + "sale_management", "stock", - "sale", - "delivery", ], "data": [ 'views/res_partner_view.xml', - 'report/stock_picking_valued_report.xml', + 'report/stock_picking_report_valued.xml', ], "installable": True, } diff --git a/stock_picking_report_valued/i18n/es.po b/stock_picking_report_valued/i18n/es.po new file mode 100644 index 0000000..48bb44f --- /dev/null +++ b/stock_picking_report_valued/i18n/es.po @@ -0,0 +1,134 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_picking_report_valued +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-21 08:13+0000\n" +"PO-Revision-Date: 2017-08-21 10:13+0200\n" +"Last-Translator: Carlos Dauden \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: \n" +"Language: es\n" +"X-Generator: Poedit 1.8.7.1\n" + +#. module: stock_picking_report_valued +#: model:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking +msgid "Discount" +msgstr "Dto" + +#. module: stock_picking_report_valued +#: model:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking +msgid "Subtotal" +msgstr "Subtotal" + +#. module: stock_picking_report_valued +#: model:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking +msgid "Taxes" +msgstr "Impuestos" + +#. module: stock_picking_report_valued +#: model:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking +msgid "Total" +msgstr "Total" + +#. module: stock_picking_report_valued +#: model:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking +msgid "Unit Price" +msgstr "Precio Unidad" + +#. module: stock_picking_report_valued +#: model:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking +msgid "Untaxed Amount" +msgstr "Base imponible" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_pack_operation_currency_id +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking_currency_id +msgid "Currency" +msgstr "Moneda" + +#. module: stock_picking_report_valued +#: model:ir.model,name:stock_picking_report_valued.model_stock_pack_operation +msgid "Packing Operation" +msgstr "Operación de empaquetado" + +#. module: stock_picking_report_valued +#: model:ir.model,name:stock_picking_report_valued.model_res_partner +msgid "Partner" +msgstr "Empresa" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_pack_operation_sale_price_subtotal +msgid "Price subtotal" +msgstr "Subtotal" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_pack_operation_sale_line +msgid "Related order line" +msgstr "Línea de pedido relacionada" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_pack_operation_sale_discount +msgid "Sale discount (%)" +msgstr "Descuento venta (%)" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_pack_operation_sale_price_unit +msgid "Sale price unit" +msgstr "Precio venta" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_pack_operation_sale_tax_description +msgid "Tax Description" +msgstr "Descripción de impuesto" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_pack_operation_sale_price_tax +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_pack_operation_sale_tax_id +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking_amount_tax +msgid "Taxes" +msgstr "Impuestos" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_pack_operation_sale_price_total +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking_amount_total +msgid "Total" +msgstr "Total" + +#. module: stock_picking_report_valued +#: model:ir.model,name:stock_picking_report_valued.model_stock_picking +msgid "Transfer" +msgstr "Transferir" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking_amount_untaxed +msgid "Untaxed Amount" +msgstr "Base imponible" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_res_partner_valued_picking +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking_valued +msgid "Valued picking" +msgstr "Albarán valorado" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking_website_message_ids +msgid "Website Messages" +msgstr "Mensajes del sitio web" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,help:stock_picking_report_valued.field_stock_picking_website_message_ids +msgid "Website communication history" +msgstr "Historial de comunicaciones del sitio web" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,help:stock_picking_report_valued.field_res_partner_valued_picking +#: model:ir.model.fields,help:stock_picking_report_valued.field_stock_picking_valued +msgid "You can select which partners have valued pickings" +msgstr "Puede seleccionar qué empresas tienen albarán valorado" diff --git a/stock_picking_report_valued/i18n/hr.po b/stock_picking_report_valued/i18n/hr.po new file mode 100644 index 0000000..1da143e --- /dev/null +++ b/stock_picking_report_valued/i18n/hr.po @@ -0,0 +1,127 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_picking_report_valued +# +# Translators: +# Bole , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-01 02:22+0000\n" +"PO-Revision-Date: 2017-12-01 02:22+0000\n" +"Last-Translator: Bole , 2018\n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: stock_picking_report_valued +#: model:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking +msgid "Discount" +msgstr "Popust" + +#. module: stock_picking_report_valued +#: model:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking +msgid "Subtotal" +msgstr "Subtotal" + +#. module: stock_picking_report_valued +#: model:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking +msgid "Taxes" +msgstr "Porezi" + +#. module: stock_picking_report_valued +#: model:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking +msgid "Total" +msgstr "Total" + +#. module: stock_picking_report_valued +#: model:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking +msgid "Unit Price" +msgstr "Jed.cijena" + +#. module: stock_picking_report_valued +#: model:ir.ui.view,arch_db:stock_picking_report_valued.valued_report_picking +msgid "Untaxed Amount" +msgstr "Bez poreza" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_pack_operation_currency_id +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking_currency_id +msgid "Currency" +msgstr "Valuta" + +#. module: stock_picking_report_valued +#: model:ir.model,name:stock_picking_report_valued.model_stock_pack_operation +msgid "Packing Operation" +msgstr "Operacija pakiranja" + +#. module: stock_picking_report_valued +#: model:ir.model,name:stock_picking_report_valued.model_res_partner +msgid "Partner" +msgstr "Partner" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_pack_operation_sale_price_subtotal +msgid "Price subtotal" +msgstr "" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_pack_operation_sale_line +msgid "Related order line" +msgstr "Povezana stavka ponude" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_pack_operation_sale_discount +msgid "Sale discount (%)" +msgstr "Popust prodaje (%)" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_pack_operation_sale_price_unit +msgid "Sale price unit" +msgstr "Prodajna cijena" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_pack_operation_sale_tax_description +msgid "Tax Description" +msgstr "Opis poreza" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_pack_operation_sale_price_tax +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_pack_operation_sale_tax_id +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking_amount_tax +msgid "Taxes" +msgstr "Porezi" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_pack_operation_sale_price_total +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking_amount_total +msgid "Total" +msgstr "Ukupno" + +#. module: stock_picking_report_valued +#: model:ir.model,name:stock_picking_report_valued.model_stock_picking +msgid "Transfer" +msgstr "Transfer" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking_amount_untaxed +msgid "Untaxed Amount" +msgstr "Iznos bez poreza" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_res_partner_valued_picking +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_res_users_valued_picking +#: model:ir.model.fields,field_description:stock_picking_report_valued.field_stock_picking_valued +msgid "Valued picking" +msgstr "" + +#. module: stock_picking_report_valued +#: model:ir.model.fields,help:stock_picking_report_valued.field_res_partner_valued_picking +#: model:ir.model.fields,help:stock_picking_report_valued.field_res_users_valued_picking +#: model:ir.model.fields,help:stock_picking_report_valued.field_stock_picking_valued +msgid "You can select which partners have valued pickings" +msgstr "" diff --git a/stock_picking_report_valued/models/__init__.py b/stock_picking_report_valued/models/__init__.py new file mode 100644 index 0000000..87bf9bb --- /dev/null +++ b/stock_picking_report_valued/models/__init__.py @@ -0,0 +1,4 @@ + +from . import res_partner +from . import stock_move_line +from . import stock_picking diff --git a/stock_valued_picking_report/models/res_partner.py b/stock_picking_report_valued/models/res_partner.py similarity index 95% rename from stock_valued_picking_report/models/res_partner.py rename to stock_picking_report_valued/models/res_partner.py index 407183e..6002cfe 100644 --- a/stock_valued_picking_report/models/res_partner.py +++ b/stock_picking_report_valued/models/res_partner.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2014 Pedro M. Baeza - Tecnativa # Copyright 2015 Antonio Espinosa - Tecnativa # Copyright 2016 Carlos Dauden - Tecnativa diff --git a/stock_picking_report_valued/models/stock_move_line.py b/stock_picking_report_valued/models/stock_move_line.py new file mode 100644 index 0000000..9a22306 --- /dev/null +++ b/stock_picking_report_valued/models/stock_move_line.py @@ -0,0 +1,61 @@ +# Copyright 2014 Pedro M. Baeza - Tecnativa +# Copyright 2015 Antonio Espinosa - Tecnativa +# Copyright 2016 Carlos Dauden - Tecnativa +# Copyright 2018 Luis M. Ontalba - Tecnativa +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class StockMoveLine(models.Model): + _inherit = "stock.move.line" + + currency_id = fields.Many2one( + related='sale_line.currency_id', readonly=True, + string='Currency') + sale_line = fields.Many2one( + related='move_id.sale_line_id', readonly=True, + string="Related order line") + sale_tax_description = fields.Char( + compute='_compute_sale_tax_description', + string='Tax Description') + sale_price_unit = fields.Float( + related='sale_line.price_unit', readonly=True, + string="Sale price unit") + sale_discount = fields.Float( + related='sale_line.discount', readonly=True, + string="Sale discount (%)") + sale_price_subtotal = fields.Monetary( + compute='_compute_amount', + string="Price subtotal") + sale_price_tax = fields.Float( + compute='_compute_amount', + string='Taxes') + + @api.multi + @api.depends('sale_line.tax_id') + def _compute_sale_tax_description(self): + for line in self: + line.sale_tax_description = ', '.join([( + x.description or x.name) for x in line.sale_line.tax_id]) + + @api.depends('product_uom_qty', 'sale_discount', 'sale_price_unit', + 'sale_line.tax_id') + def _compute_amount(self): + for line in self: + price = line.sale_price_unit * (1 - ( + line.sale_discount or 0.0) / 100.0) + if line.picking_id.state == 'done': + qty = line.qty_done + else: + qty = line.product_uom_qty + taxes = line.sale_line.tax_id.compute_all( + price, + line.currency_id, qty, + product=line.sale_line.product_id, + partner=line.sale_line.order_id.partner_shipping_id) + line.update({ + 'sale_price_tax': sum( + t.get('amount', 0.0) for t in taxes.get('taxes', [])), + 'sale_price_subtotal': taxes['total_excluded'], + }) diff --git a/stock_valued_picking_report/models/stock_picking.py b/stock_picking_report_valued/models/stock_picking.py similarity index 86% rename from stock_valued_picking_report/models/stock_picking.py rename to stock_picking_report_valued/models/stock_picking.py index a1a2294..ed5afd2 100644 --- a/stock_valued_picking_report/models/stock_picking.py +++ b/stock_picking_report_valued/models/stock_picking.py @@ -1,7 +1,7 @@ -# -*- coding: utf-8 -*- # Copyright 2014 Pedro M. Baeza - Tecnativa # Copyright 2015 Antonio Espinosa - Tecnativa # Copyright 2016 Carlos Dauden - Tecnativa +# Copyright 2016 Luis M. Ontalba - Tecnativa # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from odoo import api, fields, models @@ -29,9 +29,9 @@ class StockPicking(models.Model): @api.multi def _compute_amount_all(self): for pick in self: - amount_untaxed = sum(pick.pack_operation_ids.mapped( + amount_untaxed = sum(pick.move_line_ids.mapped( 'sale_price_subtotal')) - amount_tax = sum(pick.pack_operation_ids.mapped( + amount_tax = sum(pick.move_line_ids.mapped( 'sale_price_tax')) pick.update({ 'amount_untaxed': amount_untaxed, diff --git a/stock_valued_picking_report/report/stock_picking_valued_report.xml b/stock_picking_report_valued/report/stock_picking_report_valued.xml similarity index 58% rename from stock_valued_picking_report/report/stock_picking_valued_report.xml rename to stock_picking_report_valued/report/stock_picking_report_valued.xml index c1e602d..cb6082e 100644 --- a/stock_valued_picking_report/report/stock_picking_valued_report.xml +++ b/stock_picking_report_valued/report/stock_picking_report_valued.xml @@ -2,9 +2,12 @@