跳至內容
選單
此問題已被標幟
2 回覆
1717 瀏覽次數

I have a wizard that generates an Excel report. The report generation is working fine, but I want to automatically close the wizard window after the user downloads the report. Currently, after the report is downloaded, the wizard window remains open, and the user has to manually close it.


Here's the relevant code snippet from my action_generate_excel_report method:


def action_generate_excel_report(self):
    # ... (code to generate the Excel report and create an ir.attachment record)

    # Return an action to download the Excel report
    return {
        'type': 'ir.actions.act_url',
        'url': 'web/content/%s?download=true' % (doc.id),
        'target': 'self',
    }


頭像
捨棄
最佳答案

This approach utilizes Python code within your wizard's confirmation button method.

def button_confirm(self): 

​# Your code to generate the Excel report... 

​# After successful report generation 

​return {'type': 'ir.actions.act_window_close'}

頭像
捨棄
最佳答案
Hi Dishant Mistry,

You need edit your code:
def action_generate_excel_report(self):
   # ... (code to generate the Excel report and create an ir.attachment record)
data = { content of excel }
report_action = self.env.ref('your_module.your_id_report_action').report_action(self, data)
​report_action.update({'close_on_report_download': True})
​return report_action
Hope to help you!


頭像
捨棄
作者

This works for pdf report not for excel report.

相關帖文 回覆 瀏覽次數 活動
2
7月 25
311
1
12月 21
4548
0
4月 18
6276
1
5月 25
1105
0
11月 24
1290