[FIX]Docx Report Generation : localesel filter fixed for main record
This commit is contained in:
parent
8c5e3dbb7d
commit
006d7ef6ec
@ -14,7 +14,7 @@
|
|||||||
"author": "RYDLAB, Yaltik",
|
"author": "RYDLAB, Yaltik",
|
||||||
"website": "https://rydlab.ru",
|
"website": "https://rydlab.ru",
|
||||||
"category": "Technical",
|
"category": "Technical",
|
||||||
"version": "16.0.2.2.6",
|
"version": "16.0.2.2.7",
|
||||||
"license": "LGPL-3",
|
"license": "LGPL-3",
|
||||||
"depends": ["base", "web", "custom_report_field", "report_monetary_helpers"],
|
"depends": ["base", "web", "custom_report_field", "report_monetary_helpers"],
|
||||||
"external_dependencies": {"python": ["docxcompose", "docxtpl", "beautifulsoup4"]},
|
"external_dependencies": {"python": ["docxcompose", "docxtpl", "beautifulsoup4"]},
|
||||||
|
@ -530,6 +530,11 @@ class IrActionsReport(models.Model):
|
|||||||
|
|
||||||
jinja_env = jinja2.Environment()
|
jinja_env = jinja2.Environment()
|
||||||
|
|
||||||
|
def _localesel(record, field):
|
||||||
|
if not hasattr(record, '_fields'):
|
||||||
|
record = values['record']
|
||||||
|
return record._fields[field].convert_to_export(getattr(record, field), self)
|
||||||
|
|
||||||
docx_content = BytesIO()
|
docx_content = BytesIO()
|
||||||
with BytesIO(b64decode(template)) as template_file:
|
with BytesIO(b64decode(template)) as template_file:
|
||||||
doc = DocxTemplate(template_file)
|
doc = DocxTemplate(template_file)
|
||||||
@ -541,9 +546,7 @@ class IrActionsReport(models.Model):
|
|||||||
format_datetime(self.env, dt, dt_format=df)
|
format_datetime(self.env, dt, dt_format=df)
|
||||||
)
|
)
|
||||||
jinja_env.filters['duration'] = lambda du: format_duration(du)
|
jinja_env.filters['duration'] = lambda du: format_duration(du)
|
||||||
jinja_env.filters['localesel'] = lambda record, field: (
|
jinja_env.filters['localesel'] = _localesel
|
||||||
record._fields[field].convert_to_export(getattr(record, field), self)
|
|
||||||
)
|
|
||||||
doc.render(values, jinja_env)
|
doc.render(values, jinja_env)
|
||||||
doc.save(docx_content)
|
doc.save(docx_content)
|
||||||
docx_content.seek(0)
|
docx_content.seek(0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user