From 38f1eacf8f92af0b5f69669df53b2326a3159dec Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Fri, 6 Mar 2020 18:33:49 +0100 Subject: [PATCH] sale_stock_usability: add methods for report move form view in picking: add date field account_usability: amount in tax lines readonly on customer invoices --- account_usability/account_view.xml | 4 ++++ sale_stock_usability/sale_stock.py | 38 ++++++++++++++++++++++++++++-- stock_usability/stock_view.xml | 1 + 3 files changed, 41 insertions(+), 2 deletions(-) diff --git a/account_usability/account_view.xml b/account_usability/account_view.xml index abc58ef..607358a 100644 --- a/account_usability/account_view.xml +++ b/account_usability/account_view.xml @@ -41,6 +41,10 @@ + + + 1 + {'invisible': [('state', 'not in', ('open', 'paid'))]} diff --git a/sale_stock_usability/sale_stock.py b/sale_stock_usability/sale_stock.py index a87b70c..30803db 100644 --- a/sale_stock_usability/sale_stock.py +++ b/sale_stock_usability/sale_stock.py @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- -# © 2015-2016 Akretion (http://www.akretion.com) +# Copyright 2015-2020 Akretion (http://www.akretion.com) # @author Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from openerp import models, fields +from odoo import fields, models +from odoo.tools import float_compare, float_round class SaleOrder(models.Model): @@ -11,3 +12,36 @@ class SaleOrder(models.Model): warehouse_id = fields.Many2one(track_visibility='onchange') incoterm = fields.Many2one(track_visibility='onchange') + + def report_qty_to_deliver(self): + # Can be useful for delivery report + self.ensure_one() + res = [] + prec = self.env['decimal.precision'].precision_get( + 'Product Unit of Measure') + for l in self.order_line: + if ( + l.product_id.type in ('product', 'consu') and + float_compare( + l.product_uom_qty, l.qty_delivered, + precision_digits=prec) > 0): + qty_to_deliver = float_round( + l.product_uom_qty - l.qty_delivered, precision_digits=prec) + res.append({ + 'product': l.product_id, + 'name': l.name, + 'uom': l.product_uom, + 'qty_to_deliver': qty_to_deliver, + }) + return res + + +class StockPicking(models.Model): + _inherit = 'stock.picking' + + def report_qty_to_deliver(self): + self.ensure_one() + res = [] + if self.sale_id: + res = self.sale_id.report_qty_to_deliver() + return res diff --git a/stock_usability/stock_view.xml b/stock_usability/stock_view.xml index 6d85824..26e38dd 100644 --- a/stock_usability/stock_view.xml +++ b/stock_usability/stock_view.xml @@ -169,6 +169,7 @@ +