From ea2650aa79ac101c0b2d293fc0b743ab8766322f Mon Sep 17 00:00:00 2001 From: "Lucas Perais (lpe)" Date: Fri, 29 Sep 2017 09:50:44 +0200 Subject: [PATCH] [FIX] website_sale_digital: fix download attachement Py3 Before this commit, an Error 500 was thrown to the user upon downloading an attachement It was due to two things: - wrong return on a function - the filename that http.send_file takes shouldn't be a string, but bytes in Py3 --- addons/website_sale_digital/controllers/main.py | 2 +- addons/website_sale_digital/models/account_invoice.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/website_sale_digital/controllers/main.py b/addons/website_sale_digital/controllers/main.py index f498af49330..c53f27d7336 100644 --- a/addons/website_sale_digital/controllers/main.py +++ b/addons/website_sale_digital/controllers/main.py @@ -101,6 +101,6 @@ class WebsiteSaleDigital(CustomerPortal): return request.not_found() elif attachment["datas"]: data = io.BytesIO(base64.standard_b64decode(attachment["datas"])) - return http.send_file(data, filename=attachment['name'].encode('utf-8'), as_attachment=True) + return http.send_file(data, filename=attachment['name'], as_attachment=True) else: return request.not_found() diff --git a/addons/website_sale_digital/models/account_invoice.py b/addons/website_sale_digital/models/account_invoice.py index a47ffcd244b..9a0267f3569 100644 --- a/addons/website_sale_digital/models/account_invoice.py +++ b/addons/website_sale_digital/models/account_invoice.py @@ -25,4 +25,4 @@ class AccountInvoiceLine(models.Model): # I only want product_ids, but search_read insists in giving me a list of # (product_id: , name: ) - return purchases.mapped('product_id').ids + return [line['product_id'][0] for line in purchases]