34 lines
1.0 KiB
Python
34 lines
1.0 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.
|
|
|
|
from trytond.model import fields
|
|
from trytond.pool import Pool, PoolMeta
|
|
|
|
|
|
class Company(metaclass=PoolMeta):
|
|
__name__ = 'company.company'
|
|
|
|
intrastat_currency = fields.Function(
|
|
fields.Many2One('currency.currency', "Intrastat Currency"),
|
|
'get_intrastat_currency')
|
|
|
|
@classmethod
|
|
def get_intrastat_currency(cls, companies, name):
|
|
pool = Pool()
|
|
Currency = pool.get('currency.currency')
|
|
|
|
currencies = {}
|
|
eur = None
|
|
for company in companies:
|
|
if company.currency.code == 'EUR':
|
|
currency = company.currency
|
|
else:
|
|
if not eur:
|
|
try:
|
|
eur, = Currency.search([('code', '=', 'EUR')], limit=1)
|
|
except ValueError:
|
|
pass
|
|
currency = eur
|
|
currencies[company.id] = currency
|
|
return currencies
|