Store the data send to Chorus

This commit is contained in:
Cédric Krier committed 2023-07-22 16:52:15 +02:00
1 parent 4452f906b7
commit 60541ba7b1
3 files changed
+24 -5

No files matched your search

+20 -5
View File
@@ -36,6 +36,14 @@ EDOC2FILENAME = {
'edocument.uncefact.invoice': 'UNCEFACT-%s.xml',
}
TIMEOUT = config.getfloat('account_fr_chorus', 'requests_timeout', default=300)
if config.getboolean('account_fr_chorus', 'filestore', default=False):
file_id = 'data_file_id'
store_prefix = config.get(
'account_payment_sepa', 'store_prefix', default=None)
else:
file_id = None
store_prefix = None
logger = logging.getLogger(__name__)
@@ -181,8 +189,13 @@ class InvoiceChorus(ModelSQL, ModelView, _SyntaxMixin, metaclass=PoolMeta):
['posted'])),
])
syntax = fields.Selection('get_syntaxes', "Syntax", required=True)
filename = fields.Function(fields.Char("Filename"), 'get_filename')
number = fields.Char("Number", readonly=True, strip=False)
date = fields.Date("Date", readonly=True)
data = fields.Binary(
"Data", filename='filename',
file_id=file_id, store_prefix=store_prefix, readonly=True)
data_file_id = fields.Char("Data File ID", readonly=True)
@classmethod
def __setup__(cls):
@@ -202,6 +215,10 @@ class InvoiceChorus(ModelSQL, ModelView, _SyntaxMixin, metaclass=PoolMeta):
config = Configuration(1)
return config.chorus_syntax
def get_filename(self, name):
filename = EDOC2FILENAME[self.syntax] % self.invoice.number
return filename.replace('/', '-')
@classmethod
def order_number(cls, tables):
table, _ = tables[None]
@@ -281,12 +298,10 @@ class InvoiceChorus(ModelSQL, ModelView, _SyntaxMixin, metaclass=PoolMeta):
pool = Pool()
Doc = pool.get(self.syntax)
with Transaction().set_context(account_fr_chorus=True):
data = Doc(self.invoice).render(None)
filename = EDOC2FILENAME[self.syntax] % self.invoice.number
filename = filename.replace('/', '-')
self.data = Doc(self.invoice).render(None)
return {
'fichierFlux': base64.b64encode(data).decode('ascii'),
'nomFichier': filename,
'fichierFlux': base64.b64encode(self.data).decode('ascii'),
'nomFichier': self.filename,
'syntaxeFlux': EDOC2SYNTAX[self.syntax],
'avecSignature': False,
}
@@ -10,4 +10,7 @@ this repository contains the full copyright notices and license terms. -->
<field name="number"/>
<label name="date"/>
<field name="date"/>
<label name="data"/>
<field name="data"/>
</form>
@@ -6,4 +6,5 @@ this repository contains the full copyright notices and license terms. -->
<field name="syntax"/>
<field name="number"/>
<field name="date"/>
<field name="data"/>
</tree>