From 03914adbd3fd1139b0c150dfb781237e23ddc690 Mon Sep 17 00:00:00 2001 From: git_admin Date: Fri, 1 May 2026 14:26:13 +0000 Subject: [PATCH] Tower: upload base_accounting_kit 19.0.2.3.1 (via marketplace) --- .../controllers/statement_report.py | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 addons/base_accounting_kit/controllers/statement_report.py diff --git a/addons/base_accounting_kit/controllers/statement_report.py b/addons/base_accounting_kit/controllers/statement_report.py new file mode 100644 index 0000000..a918e12 --- /dev/null +++ b/addons/base_accounting_kit/controllers/statement_report.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +import json +from odoo import http +from odoo.http import content_disposition, request +from odoo.tools import html_escape + + +class XLSXReportController(http.Controller): + """ Controller for xlsx report """ + @http.route('/xlsx_report', type='http', auth='user', methods=['POST'], + csrf=False) + def get_report_xlsx(self, model, data, output_format, report_name, + report_action=None, options=None, **kwargs): + """ Get xlsx report data """ + report_obj = request.env[model].sudo() + try: + if output_format == 'xlsx': + response = request.make_response( + None, headers=[ + ('Content-Type', 'application/vnd.ms-excel'), + ('Content-Disposition', content_disposition( + report_name + '.xlsx'))]) + report_obj.get_xlsx_report(data, response, report_name, report_action) + response.set_cookie('fileToken', 'dummy token') + return response + except Exception as event: + serialize = http.serialize_exception(event) + error = { + 'code': 200, + 'message': 'Odoo Server Error', + 'data': serialize + } + return request.make_response(html_escape(json.dumps(error)))