Adds a TransientModel wizard fusion.xlsx.export.wizard that lets users pick a report type, date range, and comparison mode, then runs the engine and produces an XLSX via xlsxwriter (in-memory). The wizard exposes a download field that becomes available after export finishes. Works on P&L, Balance Sheet, Trial Balance, and General Ledger. Comparison columns are written when the engine returns a comparison_period in the result. Also wires the controller's /fusion/reports/export_xlsx endpoint to drive the wizard and return base64-encoded XLSX bytes (replaces the not_implemented placeholder). Tests: 2 new (test_xlsx_export.py) + 1 controller test updated. Manifest declares xlsxwriter as an external_dependency. Made-with: Cursor
634 B
634 B
| 1 | id | name | model_id:id | group_id:id | perm_read | perm_write | perm_create | perm_unlink |
|---|---|---|---|---|---|---|---|---|
| 2 | access_fusion_report_user | fusion.report.user | model_fusion_report | base.group_user | 1 | 0 | 0 | 0 |
| 3 | access_fusion_report_admin | fusion.report.admin | model_fusion_report | fusion_accounting_core.group_fusion_accounting_admin | 1 | 1 | 1 | 1 |
| 4 | access_fusion_report_commentary | fusion.report.commentary | model_fusion_report_commentary | base.group_user | 1 | 1 | 1 | 0 |
| 5 | access_fusion_report_anomaly | fusion.report.anomaly | model_fusion_report_anomaly | base.group_user | 1 | 1 | 1 | 0 |
| 6 | access_fusion_xlsx_export_wizard_user | fusion.xlsx.export.wizard.user | model_fusion_xlsx_export_wizard | base.group_user | 1 | 1 | 1 | 0 |