|
|
precision = self.env['decimal.precision'].precision_get('Product Unit')
for order in self:
if order.state != 'purchase':
order.invoice_status = 'no'
continue
if any(
not float_is_zero(line.qty_to_invoice, precision_digits=precision)
for line in order.order_line.filtered(lambda l: not l.display_type)
):
order.invoice_status = 'to invoice'
elif (
all(
float_is_zero(line.qty_to_invoice, precision_digits=precision)
for line in order.order_line.filtered(lambda l: not l.display_type)
)
and order.invoice_ids
):
order.invoice_status = 'invoiced'
else:
order.invoice_status = 'no'
|
|