diff --git a/addons/account/models/account_invoice.py b/addons/account/models/account_invoice.py index 3c99f337c05..e30108c82be 100644 --- a/addons/account/models/account_invoice.py +++ b/addons/account/models/account_invoice.py @@ -1211,11 +1211,11 @@ class AccountInvoiceLine(models.Model): string='Analytic Account') analytic_tag_ids = fields.Many2many('account.analytic.tag', string='Analytic Tags') company_id = fields.Many2one('res.company', string='Company', - related='invoice_id.company_id', store=True, readonly=True) + related='invoice_id.company_id', store=True, readonly=True, related_sudo=False) partner_id = fields.Many2one('res.partner', string='Partner', - related='invoice_id.partner_id', store=True, readonly=True) - currency_id = fields.Many2one('res.currency', related='invoice_id.currency_id', store=True) - company_currency_id = fields.Many2one('res.currency', related='invoice_id.company_currency_id', readonly=True) + related='invoice_id.partner_id', store=True, readonly=True, related_sudo=False) + currency_id = fields.Many2one('res.currency', related='invoice_id.currency_id', store=True, related_sudo=False) + company_currency_id = fields.Many2one('res.currency', related='invoice_id.company_currency_id', readonly=True, related_sudo=False) @api.model def fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False): diff --git a/addons/purchase/models/account_invoice.py b/addons/purchase/models/account_invoice.py index 00e11060444..9c1cf48312c 100644 --- a/addons/purchase/models/account_invoice.py +++ b/addons/purchase/models/account_invoice.py @@ -68,10 +68,7 @@ class AccountInvoice(models.Model): self.partner_id = self.purchase_id.partner_id.id new_lines = self.env['account.invoice.line'] - for line in self.purchase_id.order_line: - # Load a PO line only once - if line in self.invoice_line_ids.mapped('purchase_line_id'): - continue + for line in self.purchase_id.order_line - self.invoice_line_ids.mapped('purchase_line_id'): data = self._prepare_invoice_line_from_po_line(line) new_line = new_lines.new(data) new_line._set_additional_fields(self) @@ -217,5 +214,5 @@ class AccountInvoiceLine(models.Model): _inherit = 'account.invoice.line' purchase_line_id = fields.Many2one('purchase.order.line', 'Purchase Order Line', ondelete='set null', index=True, readonly=True) - purchase_id = fields.Many2one('purchase.order', related='purchase_line_id.order_id', string='Purchase Order', store=False, readonly=True, + purchase_id = fields.Many2one('purchase.order', related='purchase_line_id.order_id', string='Purchase Order', store=False, readonly=True, related_sudo=False, help='Associated Purchase Order. Filled in automatically when a PO is chosen on the vendor bill.')