# -*- coding: utf-8 -*- # This file is part of the cashbook-module from m-ds for Tryton. # The COPYRIGHT file at the top level of this repository contains the # full copyright notices and license terms. from trytond.model import ModelView, fields from trytond.wizard import Wizard, StateView, StateReport, Button from trytond.pool import Pool from trytond.transaction import Transaction sel_edocument = [ ('edocument.xrechnung.invoice', 'XRechnung UBL Invoice 2.1.1'), ('edocument.uncefact.invoice', 'CII CrossIndustryInvoice D16B'), ] edoc_versions = { 'edocument.xrechnung.invoice': 'XRechnung-2.2', 'edocument.uncefact.invoice': '16B-CII', } class RunXRechnungReportStart(ModelView): 'eDocument Export' __name__ = 'account_invoice_xrechnung.runrep.start' invoice = fields.Many2One(string='Invoice', readonly=True, model_name='account.invoice', required=True) edocument = fields.Selection(string='Type', required=True, selection=sel_edocument) as_zip = fields.Boolean(string='ZIP-File') @classmethod def default_as_zip(cls): """ default: True """ return True @classmethod def default_edocument(cls): """ default xrechnung """ return 'edocument.xrechnung.invoice' # end RunXRechnungReportStart class RunXRechnungReport(Wizard): 'eDocument Export' __name__ = 'account_invoice_xrechnung.runrep' start_state = 'start' export = StateReport('account_invoice_xrechnung.export') start = StateView( model_name='account_invoice_xrechnung.runrep.start', view='account_invoice_xrechnung.wiz_start_form', buttons=[ Button(string='Cancel', state='end', icon='tryton-cancel'), Button(string='Export', state='export', icon='tryton-export'), ], ) def default_start(self, fields): """ set defaults """ context = Transaction().context result = { 'edocument': 'edocument.xrechnung.invoice', 'invoice': context.get('active_id', -1), } return result def do_export(self, action): """ run export """ return action, { 'invoice': self.start.invoice.id, 'edocument': self.start.edocument, 'as_zip': self.start.as_zip, } # end RunXRechnungReport