diff --git a/ext/custom-addons/dp_sale_hide_discount/__manifest__.py b/ext/custom-addons/dp_sale_hide_discount/__manifest__.py index 8e521e03..fc53460b 100644 --- a/ext/custom-addons/dp_sale_hide_discount/__manifest__.py +++ b/ext/custom-addons/dp_sale_hide_discount/__manifest__.py @@ -29,9 +29,11 @@ 'author': 'Datenpol gmbh', 'website': 'http://www.datenpol.at/', 'depends': [ - 'sale' + 'sale', + 'account' ], 'data': [ + 'views/account_views.xml', 'views/sale_views.xml' ], 'installable': True, diff --git a/ext/custom-addons/dp_sale_hide_discount/models/__init__.py b/ext/custom-addons/dp_sale_hide_discount/models/__init__.py index 5ed628c3..57eb7902 100644 --- a/ext/custom-addons/dp_sale_hide_discount/models/__init__.py +++ b/ext/custom-addons/dp_sale_hide_discount/models/__init__.py @@ -20,3 +20,4 @@ ############################################################################## from . import sale +from . import account diff --git a/ext/custom-addons/dp_sale_hide_discount/models/account.py b/ext/custom-addons/dp_sale_hide_discount/models/account.py new file mode 100644 index 00000000..eaba963d --- /dev/null +++ b/ext/custom-addons/dp_sale_hide_discount/models/account.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# datenpol gmbh +# Copyright (C) 2013-TODAY datenpol gmbh () +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +from odoo import api, fields, models + + +class AccountInvoiceLine(models.Model): + _inherit = 'account.invoice.line' + + unit_price_incl_discount = fields.Float(string='Preis/ME inkl. Rabatt', compute='_compute_unit_price_incl_discount') + hide_discount = fields.Boolean(string='Rabatt verstecken') + + @api.multi + def _compute_unit_price_incl_discount(self): + for line in self: + unit_price_incl_discount = line.price_unit * (1 - (line.discount or 0.0) / 100.0) + line.unit_price_incl_discount = round(unit_price_incl_discount, 2) + + @api.multi + @api.depends('price_unit', 'discount', 'invoice_line_tax_ids', 'quantity', + 'product_id', 'invoice_id.partner_id', 'invoice_id.currency_id', 'invoice_id.company_id', + 'invoice_id.date_invoice') + def _compute_price(self): + for line in self: + if line.hide_discount: + line.price_unit = line.unit_price_incl_discount + line.discount = 0 + return super(AccountInvoiceLine, self)._compute_price() diff --git a/ext/custom-addons/dp_sale_hide_discount/views/account_views.xml b/ext/custom-addons/dp_sale_hide_discount/views/account_views.xml new file mode 100644 index 00000000..b967d064 --- /dev/null +++ b/ext/custom-addons/dp_sale_hide_discount/views/account_views.xml @@ -0,0 +1,15 @@ + + + + + account_invoice_form_view + account.invoice + + + + + + + + +