diff --git a/sale_margin_no_onchange/__init__.py b/sale_margin_no_onchange/__init__.py index 1d47105..64f77eb 100644 --- a/sale_margin_no_onchange/__init__.py +++ b/sale_margin_no_onchange/__init__.py @@ -1,3 +1,4 @@ # -*- encoding: utf-8 -*- from . import sale +from . import sale_report diff --git a/sale_margin_no_onchange/sale.py b/sale_margin_no_onchange/sale.py index 4b5c06f..e182425 100644 --- a/sale_margin_no_onchange/sale.py +++ b/sale_margin_no_onchange/sale.py @@ -14,7 +14,7 @@ class SaleOrderLine(models.Model): # Also defined in bi_sale_company_currency company_currency_id = fields.Many2one( related='order_id.company_id.currency_id', - readonly=True, store=True, compute_sudo=True, string='Company Currency') + readonly=True, store=True, string='Company Currency') standard_price_company_currency = fields.Float( string='Cost Price in Company Currency', readonly=True, digits=dp.get_precision('Product Price'), @@ -77,7 +77,7 @@ class SaleOrderLine(models.Model): sale_uom = self.env['product.uom'].browse(sale_uom_id) # convert from product UoM to sale UoM std_price = pp.uom_id._compute_price( - standard_price, sale_uom) + pp.standard_price, sale_uom) vals['standard_price_company_currency'] = std_price return super(SaleOrderLine, self).create(vals) @@ -108,7 +108,7 @@ class SaleOrder(models.Model): # Also defined in bi_sale_company_currency company_currency_id = fields.Many2one( - related='company_id.currency_id', readonly=True, store=True, compute_sudo=True, + related='company_id.currency_id', readonly=True, store=True, string="Company Currency") margin_sale_currency = fields.Monetary( string='Margin in Sale Currency', diff --git a/sale_margin_no_onchange/sale_report.py b/sale_margin_no_onchange/sale_report.py new file mode 100644 index 0000000..9308931 --- /dev/null +++ b/sale_margin_no_onchange/sale_report.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +# Copyright 2018 Akretion (http://www.akretion.com) +# @author Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class SaleReport(models.Model): + _inherit = 'sale.report' + + margin = fields.Float(string='Margin', readonly=True) + + def _select(self): + select_str = super(SaleReport, self)._select() + select_str += ", SUM(l.margin_company_currency) AS margin" + return select_str