mirror of
https://github.com/OCA/reporting-engine.git
synced 2025-02-16 16:30:38 +02:00
Migrate sql_export_excel to v12
This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright 2019 Akretion
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
{
|
||||
'name': 'SQL Export Excel',
|
||||
'version': '9.0.1.0.0',
|
||||
'version': '12.0.1.0.0',
|
||||
'author': 'Akretion,Odoo Community Association (OCA)',
|
||||
'website': 'http://github/oca/server-tools',
|
||||
'license': 'AGPL-3',
|
||||
@@ -1,9 +1,8 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright 2019 Akretion
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from openerp import api, exceptions, fields, models, _
|
||||
from cStringIO import StringIO
|
||||
from io import BytesIO
|
||||
import logging
|
||||
import base64
|
||||
_logger = logging.getLogger(__name__)
|
||||
@@ -78,7 +77,7 @@ class SqlExport(models.Model):
|
||||
# Case we insert data in an existing excel file.
|
||||
if self.attachment_id:
|
||||
datas = self.attachment_id.datas
|
||||
infile = StringIO()
|
||||
infile = BytesIO()
|
||||
infile.write(base64.b64decode(datas))
|
||||
infile.seek(0)
|
||||
wb = openpyxl.load_workbook(filename=infile)
|
||||
@@ -100,7 +99,7 @@ class SqlExport(models.Model):
|
||||
for index, row in enumerate(res, row_position):
|
||||
for col, val in enumerate(row, col_position):
|
||||
ws.cell(row=index, column=col).value = val
|
||||
output = StringIO()
|
||||
output = BytesIO()
|
||||
wb.save(output)
|
||||
output.getvalue()
|
||||
output_datas = base64.b64encode(output.getvalue())
|
||||
|
||||
@@ -1,2 +1 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from . import test_sql_query_excel
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (C) 2019 Akretion (<http://www.akretion.com>)
|
||||
# @author: Florian da Costa
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from openerp.tests.common import TransactionCase
|
||||
from odoo.tests.common import TransactionCase
|
||||
import base64
|
||||
from cStringIO import StringIO
|
||||
from io import BytesIO
|
||||
import logging
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
@@ -25,7 +24,7 @@ class TestExportSqlQueryExcel(TransactionCase):
|
||||
def get_workbook_from_query(self, wizard):
|
||||
wizard.export_sql()
|
||||
decoded_data = base64.b64decode(wizard.binary_file)
|
||||
xlsx_file = StringIO(decoded_data)
|
||||
xlsx_file = BytesIO(decoded_data)
|
||||
return openpyxl.load_workbook(xlsx_file)
|
||||
|
||||
def test_excel_file_generation(self):
|
||||
@@ -63,7 +62,7 @@ class TestExportSqlQueryExcel(TransactionCase):
|
||||
ws2 = wb.create_sheet("data")
|
||||
ws2.cell(row=1, column=1, value='Partner Id')
|
||||
ws2.cell(row=1, column=2, value='Partner Name')
|
||||
output = StringIO()
|
||||
output = BytesIO()
|
||||
wb.save(output)
|
||||
data = output.getvalue()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user