From de2ce1f400db562a3fdc4a2d0d547ac238870780 Mon Sep 17 00:00:00 2001 From: Karl Southern Date: Thu, 13 Apr 2023 12:11:08 +0100 Subject: [PATCH] [FIX] IndexError thrown when attempting to split url by /report/xlsx when not a xlsx report --- report_xlsx/controllers/main.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/report_xlsx/controllers/main.py b/report_xlsx/controllers/main.py index 1f026e28f..ec1921871 100644 --- a/report_xlsx/controllers/main.py +++ b/report_xlsx/controllers/main.py @@ -52,9 +52,10 @@ class ReportController(report.ReportController): def report_download(self, data, context=None): requestcontent = json.loads(data) url, report_type = requestcontent[0], requestcontent[1] - reportname = url.split("/report/xlsx/")[1].split("?")[0] - try: - if report_type == "xlsx": + if report_type == "xlsx": + reportname = url + try: + reportname = url.split("/report/xlsx/")[1].split("?")[0] docids = None if "/" in reportname: reportname, docids = reportname.split("/") @@ -95,10 +96,9 @@ class ReportController(report.ReportController): "Content-Disposition", content_disposition(filename) ) return response - else: - return super(ReportController, self).report_download(data, context) - except Exception as e: - _logger.exception("Error while generating report %s", reportname) - se = _serialize_exception(e) - error = {"code": 200, "message": "Odoo Server Error", "data": se} - return request.make_response(html_escape(json.dumps(error))) + except Exception as e: + _logger.exception("Error while generating report %s", reportname) + se = _serialize_exception(e) + error = {"code": 200, "message": "Odoo Server Error", "data": se} + return request.make_response(html_escape(json.dumps(error))) + return super(ReportController, self).report_download(data, context)