Browse Source

Add support for qweb-txt-csv

Thanks to Graeme Gellatly for his suggestion to implement it this way, so that other qweb-txt-* can be easily added with proper filename extension
pull/90/head
Alexis de Lattre 7 years ago
parent
commit
fcef7b8e41
  1. 15
      report_qweb_txt/models/ir_actions_report_xml.py

15
report_qweb_txt/models/ir_actions_report_xml.py

@ -8,12 +8,21 @@ from odoo import api, fields, models
class IrActionsReportXml(models.Model): class IrActionsReportXml(models.Model):
_inherit = 'ir.actions.report.xml' _inherit = 'ir.actions.report.xml'
report_type = fields.Selection(selection_add=[('qweb-txt', 'Text')])
report_type = fields.Selection(selection_add=[
('qweb-txt', 'Text'),
('qweb-txt-csv', 'CSV'),
])
@api.model @api.model
def render_report(self, res_ids, name, data): def render_report(self, res_ids, name, data):
if data.get('report_type') == 'qweb-txt':
return self.env['report'].get_html(res_ids, name, data=data), 'txt'
if (
data.get('report_type') and
data.get('report_type').startswith('qweb-txt')):
ext = data['report_type'].split('-')[-1]
# That way, you can easily add qweb-txt-zpl' or others
# without inheriting this method (you just need to do the
# selection_add on the field 'report_type')
return self.env['report'].get_html(res_ids, name, data=data), ext
else: else:
return super(IrActionsReportXml, self).render_report( return super(IrActionsReportXml, self).render_report(
res_ids, name, data) res_ids, name, data)
Loading…
Cancel
Save