Merge pull request #242 from jcoux/issue_241_workbook_creation
OCA reports XLSX: Better override to define workbook creation optionspull/246/head
commit
0565118de9
|
@ -5,7 +5,7 @@
|
||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||||
{
|
{
|
||||||
'name': 'QWeb Financial Reports',
|
'name': 'QWeb Financial Reports',
|
||||||
'version': '9.0.1.0.1',
|
'version': '9.0.1.0.2',
|
||||||
'category': 'Reporting',
|
'category': 'Reporting',
|
||||||
'summary': 'OCA Financial Reports',
|
'summary': 'OCA Financial Reports',
|
||||||
'author': 'Camptocamp SA,'
|
'author': 'Camptocamp SA,'
|
||||||
|
@ -35,11 +35,6 @@
|
||||||
'report/templates/trial_balance.xml',
|
'report/templates/trial_balance.xml',
|
||||||
'view/account_view.xml'
|
'view/account_view.xml'
|
||||||
],
|
],
|
||||||
'external_dependencies': {
|
|
||||||
"python": [
|
|
||||||
"xlsxwriter",
|
|
||||||
],
|
|
||||||
},
|
|
||||||
'installable': True,
|
'installable': True,
|
||||||
'application': True,
|
'application': True,
|
||||||
'auto_install': False,
|
'auto_install': False,
|
||||||
|
|
|
@ -2,15 +2,6 @@
|
||||||
# Author: Julien Coux
|
# Author: Julien Coux
|
||||||
# Copyright 2016 Camptocamp SA
|
# Copyright 2016 Camptocamp SA
|
||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||||
try:
|
|
||||||
import xlsxwriter
|
|
||||||
except ImportError: # pragma: no cover
|
|
||||||
import logging
|
|
||||||
_logger = logging.getLogger(__name__)
|
|
||||||
_logger.info("Missing dependency: xlsxwriter.")
|
|
||||||
_logger.debug("ImportError details:", exc_info=True)
|
|
||||||
|
|
||||||
from cStringIO import StringIO
|
|
||||||
|
|
||||||
from openerp.addons.report_xlsx.report.report_xlsx import ReportXlsx
|
from openerp.addons.report_xlsx.report.report_xlsx import ReportXlsx
|
||||||
|
|
||||||
|
@ -42,20 +33,8 @@ class AbstractReportXslx(ReportXlsx):
|
||||||
self.format_amount = None
|
self.format_amount = None
|
||||||
self.format_percent_bold_italic = None
|
self.format_percent_bold_italic = None
|
||||||
|
|
||||||
def create_xlsx_report(self, ids, data, report):
|
def get_workbook_options(self):
|
||||||
""" Overrides method to add constant_memory option used for large files
|
return {'constant_memory': True}
|
||||||
"""
|
|
||||||
self.parser_instance = self.parser(
|
|
||||||
self.env.cr, self.env.uid, self.name2, self.env.context)
|
|
||||||
objs = self.getObjects(
|
|
||||||
self.env.cr, self.env.uid, ids, self.env.context)
|
|
||||||
self.parser_instance.set_context(objs, data, ids, 'xlsx')
|
|
||||||
file_data = StringIO()
|
|
||||||
workbook = xlsxwriter.Workbook(file_data, {'constant_memory': True})
|
|
||||||
self.generate_xlsx_report(workbook, data, objs)
|
|
||||||
workbook.close()
|
|
||||||
file_data.seek(0)
|
|
||||||
return (file_data.read(), 'xlsx')
|
|
||||||
|
|
||||||
def generate_xlsx_report(self, workbook, data, objects):
|
def generate_xlsx_report(self, workbook, data, objects):
|
||||||
report = objects
|
report = objects
|
||||||
|
|
Loading…
Reference in New Issue