Browse Source

Merge pull request #2 from acsone/9.0-import_report_py3o

9.0 import report py3o
pull/80/head
Florent Aide 8 years ago
committed by GitHub
parent
commit
769f23fada
  1. 3
      report_py3o/models/ir_report.py
  2. 4
      report_py3o/models/py3o_template.py
  3. 26
      report_py3o/py3o_parser.py

3
report_py3o/models/ir_report.py

@ -38,7 +38,8 @@ class ReportXml(models.Model):
size=128,
help=(
"If the user does not provide a template this will be used "
"it should be a relative path to root of YOUR module"
"it should be a relative path to root of YOUR module "
"or an absolute path on your server."
))
report_type = fields.Selection(selection_add=[('py3o', "Py3o")])

4
report_py3o/models/py3o_template.py

@ -11,8 +11,8 @@ class Py3oTemplate(models.Model):
py3o_template_data = fields.Binary("LibreOffice template")
filetype = fields.Selection(
selection=[
('odt', u"ODF Text Document"),
('ods', u"ODF Spreadsheet"),
('odt', "ODF Text Document"),
('ods', "ODF Spreadsheet"),
],
string="LibreOffice Template File Type",
required=True,

26
report_py3o/py3o_parser.py

@ -88,16 +88,22 @@ class Py3oParser(report_sxw):
report_obj.py3o_template_id.py3o_template_data
)
elif report_obj.py3o_template_fallback and report_obj.module:
# if the default is defined
flbk_filename = pkg_resources.resource_filename(
"openerp.addons.%s" % report_obj.module,
report_obj.py3o_template_fallback,
)
if os.path.exists(flbk_filename):
# and it exists on the fileystem
with open(flbk_filename, 'r') as tmpl:
tmpl_data = tmpl.read()
elif report_obj.py3o_template_fallback:
tmpl_name = report_obj.py3o_template_fallback
flbk_filename = None
if report_obj.module:
# if the default is defined
flbk_filename = pkg_resources.resource_filename(
"openerp.addons.%s" % report_obj.module,
tmpl_name,
)
elif os.path.isabs(tmpl_name):
# It is an absolute path
flbk_filename = os.path.normcase(os.path.normpath(tmpl_name))
if flbk_filename and os.path.exists(flbk_filename):
# and it exists on the fileystem
with open(flbk_filename, 'r') as tmpl:
tmpl_data = tmpl.read()
if tmpl_data is None:
# if for any reason the template is not found

Loading…
Cancel
Save