2
0
account-financial-tools/account_move_line_purchase_info/models/purchase_order_line.py

37 lines
1.2 KiB
Python
Raw Normal View History

# Copyright 2019-2020 ForgeFlow S.L.
# (https://www.forgeflow.com)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import api, models
class PurchaseOrder(models.Model):
_inherit = "purchase.order"
@api.depends("order_line.invoice_lines.move_id")
def _compute_invoice(self):
"""Overwritten compute to avoid show all Journal Entries with
purchase_order_line as invoice_lines One2many would take them into account."""
for order in self:
invoices = order.mapped("order_line.invoice_lines.move_id").filtered(
lambda m: m.is_invoice(include_receipts=True)
)
order.invoice_ids = [(6, 0, invoices.ids)]
order.invoice_count = len(invoices)
class PurchaseOrderLine(models.Model):
_inherit = "purchase.order.line"
def name_get(self):
result = []
orig_name = dict(super(PurchaseOrderLine, self).name_get())
for line in self:
name = orig_name[line.id]
if self.env.context.get("po_line_info", False):
name = "[{}] {} ({})".format(
line.order_id.name, name, line.order_id.state
)
result.append((line.id, name))
return result