49 lines
1.6 KiB
Python
49 lines
1.6 KiB
Python
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
# this repository contains the full copyright notices and license terms.
|
|
import os
|
|
|
|
import genshi
|
|
import genshi.template
|
|
|
|
from trytond.modules.account_payment_sepa import payment as sepa_payment
|
|
from trytond.pool import PoolMeta
|
|
|
|
|
|
class Journal(metaclass=PoolMeta):
|
|
__name__ = 'account.payment.journal'
|
|
|
|
@classmethod
|
|
def __setup__(cls):
|
|
super().__setup__()
|
|
payable_flavor_cfonb = ('pain.001.001.03-cfonb',
|
|
'pain.001.001.03 CFONB')
|
|
receivable_flavor_cfonb = ('pain.008.001.02-cfonb',
|
|
'pain.008.001.02 CFONB')
|
|
for flavor, field in [
|
|
(payable_flavor_cfonb, cls.sepa_payable_flavor),
|
|
(receivable_flavor_cfonb, cls.sepa_receivable_flavor),
|
|
]:
|
|
if flavor not in field.selection:
|
|
field.selection.append(flavor)
|
|
|
|
|
|
loader = genshi.template.TemplateLoader([
|
|
os.path.join(os.path.dirname(__file__), 'template'),
|
|
os.path.join(
|
|
os.path.dirname(
|
|
sepa_payment.__file__), 'template'),
|
|
], auto_reload=True)
|
|
|
|
|
|
class Group(metaclass=PoolMeta):
|
|
__name__ = 'account.payment.group'
|
|
|
|
def get_sepa_template(self):
|
|
if (self.kind == 'payable'
|
|
and self.journal.sepa_payable_flavor.endswith('-cfonb')):
|
|
return loader.load('%s.xml' % self.journal.sepa_payable_flavor)
|
|
if (self.kind == 'receivable'
|
|
and self.journal.sepa_receivable_flavor.endswith('-cfonb')):
|
|
return loader.load('%s.xml' % self.journal.sepa_receivable_flavor)
|
|
return super().get_sepa_template()
|