Я пытаюсь сгенерировать qweb-xml
отчет из wizard
, следуя той же процедуре при генерации qweb-pdf
отчета. Проблема в том, что я не могу отправить данные формы мастера в файл отчета.
Вот мой wizard/wizard.py
файл:
class XMLReportWizard(models.TransientModel):
_name = 'wizard.mymodule.report'
date_from = fields.Date(string = 'From', required = True)
date_to = fields.Date(string = 'To', required = True)
report_type = fields.Selection(string = 'Report Type',
selection=[('pdf', 'PDF'), ('xml', 'XML'), ('excel', 'Excel'), ('csv', 'CSV')], default='pdf')
def get_report(self):
self.ensure_one()
[data] = self.read()
form_data = {'form': data}
if data['report_type'] == 'pdf':
return self.env.ref('mymodule.mv_wizard_report').report_action(self, data = form_data)
elif data['report_type'] == 'xml':
return self.env.ref('mymodule.mv_wizard_report_xml').report_action(self, data = form_data)
else:
raise UserError("Report type %s is currently not available." %data['report_type'])
А в report/report.py
файле:
class ReportXML(models.AbstractModel):
_name = 'report.mymodule.mv_report_xml'
@api.model
def get_report_values(self, docids, data = None):
if not data.get('form'):
raise ValidationError("Form content is missing, this report cannot be printed.")
Когда я выбираю report_type
в формате pdf, form_data
из мастера содержит date_from
, date_to
и report_type
и отправляется методу get_report_values()
, который я сделал в отдельном файле python.
Но когда я выбираю report_type
как xml
, весь ключ form
не отправляется.
data
содержит эти данные при выборе pdf:
{'report_type': 'qweb-pdf', 'context':'something', 'data': {'form':{'report_type': 'pdf', 'date_to': '2019-04-01', 'date_from': '2019-04-01',..}}}
Но когда я выбираю xml
как report_type
, отправляются только эти данные:
{'data': '["report/xml/mymodule.mv_report_xml/32","qweb-xml"]', 'token': '1556429333217'}
P.S .: Я установил report_xml
модуль, который помогает генерировать отчет в формате xml
.
Когда я не включаю data
из мастера при печати отчета xml, отчет xml генерируется нормально. Итак, основная проблема в том, что словарь data
не содержит ключ form
при создании отчета xml.
Может кто-нибудь помочь мне решить эту проблему?
Заранее спасибо.