Odoo18-Base/addons/l10n_ph/wizard/generate_2307_wizard.py
2025-01-06 10:57:38 +07:00

34 lines
1.2 KiB
Python

# Part of Odoo. See LICENSE file for full copyright and licensing details.
import base64
from odoo import fields, models
from odoo.addons.l10n_ph import utils
class Generate2307Wizard(models.TransientModel):
_name = "l10n_ph_2307.wizard"
_description = "Exports 2307 data to a XLS file."
moves_to_export = fields.Many2many("account.move", string="Joural To Include")
xls_file = fields.Binary(
"Generated file",
help="Technical field used to temporarily hold the generated XLS file before its downloaded."
)
def action_generate(self):
""" Generate a xls format file for importing to
https://bir-excel-uploader.com/excel-file-to-bir-dat-format/#bir-form-2307-settings.
This website will then generate a BIR 2307 format excel file for uploading to the
PH government.
"""
self.ensure_one()
self.xls_file = base64.b64encode(utils._export_bir_2307('Form2307', self.moves_to_export, file_format='xls'))
return {
"type": "ir.actions.act_url",
"target": "self",
"url": f"/web/content?model=l10n_ph_2307.wizard&download=true&field=xls_file&filename=Form_2307.xls&id={self.id}",
}