From f53e751433fa66ae2880a6ddefa44ee1fa93bae8 Mon Sep 17 00:00:00 2001 From: Romain Derie Date: Mon, 7 Oct 2019 10:57:49 +0000 Subject: [PATCH] [FIX] website_sale_digital: find only move line related to products MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before this commit and since beaa30a3d184 it was not possible to download a digital product. The `search_read()` would return move line which does not have any `product_id` which will later crash when accessing `product_id` in the for loop. Search_read result would be: [{'id': 20, 'product_id': (38, 'eBook: Office Renovation for Dummies')}, {'id': 21, 'product_id': False}, {'id': 22, 'product_id': False}, {'id': 23, 'product_id': False}] task-2063307 closes odoo/odoo#38225 X-original-commit: b045be2814cee96c9723f0c9d07462e07cab4773 Signed-off-by: Jérémy Kersten (jke) --- addons/website_sale_digital/models/account_invoice.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/website_sale_digital/models/account_invoice.py b/addons/website_sale_digital/models/account_invoice.py index 4ca091914c7..5d5e350912e 100644 --- a/addons/website_sale_digital/models/account_invoice.py +++ b/addons/website_sale_digital/models/account_invoice.py @@ -13,7 +13,11 @@ class AccountInvoiceLine(models.Model): # Get paid invoices purchases = self.sudo().search_read( - domain=[('move_id.invoice_payment_state', '=', 'paid'), ('move_id.partner_id', '=', partner.id)], + domain=[ + ('move_id.invoice_payment_state', '=', 'paid'), + ('move_id.partner_id', '=', partner.id), + ('product_id', '!=', False), + ], fields=['product_id'], )