Calculate info_unit_price when unit_price is not none
162074
This commit is contained in:
parent
00f27d0dd6
commit
a42839d979
|
@ -2,6 +2,7 @@
|
|||
# copyright notices and license terms.
|
||||
from trytond.pool import Pool
|
||||
from . import invoice
|
||||
from . import sale
|
||||
|
||||
|
||||
def register():
|
||||
|
@ -9,6 +10,6 @@ def register():
|
|||
invoice.InvoiceLine,
|
||||
module='account_invoice_information_uom', type_='model')
|
||||
Pool.register(
|
||||
invoice.SaleLine,
|
||||
sale.SaleLine,
|
||||
depends=['sale'],
|
||||
module='account_invoice_information_uom', type_='model')
|
||||
|
|
19
invoice.py
19
invoice.py
|
@ -7,9 +7,6 @@ from trytond.pool import PoolMeta, Pool
|
|||
from decimal import Decimal
|
||||
from trytond.modules.product import price_digits
|
||||
|
||||
|
||||
__all__ = ['InformationUomMixin', 'InvoiceLine']
|
||||
|
||||
_ZERO = Decimal('0.0')
|
||||
_ROUND = Decimal('.0001')
|
||||
|
||||
|
@ -18,16 +15,6 @@ STATES = {
|
|||
}
|
||||
DEPENDS = ['show_info_unit']
|
||||
|
||||
class SaleLine(metaclass=PoolMeta):
|
||||
__name__ = 'sale.line'
|
||||
|
||||
def get_invoice_line(self):
|
||||
invoice_line = super().get_invoice_line()
|
||||
if not invoice_line:
|
||||
return invoice_line
|
||||
invoice_line, = invoice_line
|
||||
invoice_line.on_change_unit()
|
||||
return [invoice_line]
|
||||
|
||||
|
||||
class InformationUomMixin(object):
|
||||
|
@ -151,7 +138,7 @@ class InformationUomMixin(object):
|
|||
if not self.product:
|
||||
return
|
||||
DIGITS=price_digits[1]
|
||||
if self.unit_price:
|
||||
if self.unit_price is not None:
|
||||
price = self.unit_price
|
||||
if self.unit and self.unit != self.product.default_uom:
|
||||
price = Uom.compute_price(self.unit, price,
|
||||
|
@ -182,10 +169,10 @@ class InvoiceLine(InformationUomMixin, metaclass=PoolMeta):
|
|||
|
||||
def _credit(self):
|
||||
line = super(InvoiceLine, self)._credit()
|
||||
if self.info_unit_price:
|
||||
if self.info_unit_price is not None:
|
||||
line.info_unit_price = self.info_unit_price
|
||||
|
||||
if self.info_quantity:
|
||||
if self.info_quantity is not None:
|
||||
line.info_quantity = -self.info_quantity
|
||||
else:
|
||||
line.info_unit_price = self.info_unit_price
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
# The COPYRIGHT file at the top level of this repository contains the full i
|
||||
# copyright notices and license terms.
|
||||
from trytond.pool import PoolMeta
|
||||
|
||||
|
||||
class SaleLine(metaclass=PoolMeta):
|
||||
__name__ = 'sale.line'
|
||||
|
||||
def get_invoice_line(self):
|
||||
invoice_line = super().get_invoice_line()
|
||||
if not invoice_line:
|
||||
return invoice_line
|
||||
invoice_line, = invoice_line
|
||||
invoice_line.on_change_unit()
|
||||
return [invoice_line]
|
Loading…
Reference in New Issue