65 lines
1.8 KiB
Python
65 lines
1.8 KiB
Python
# This file is part of Tradon. The COPYRIGHT file at the top level of
|
|
# this repository contains the full copyright notices and license terms.
|
|
|
|
from trytond.model import ModelSQL, ModelView, fields
|
|
|
|
__all__ = ['MarketIndex', 'MarketIndexRate', 'IndexTerm', 'InterestFormula']
|
|
|
|
|
|
class MarketIndex(ModelSQL, ModelView):
|
|
'Market Index'
|
|
__name__ = 'trade_finance.market_index'
|
|
_rec_name = 'name'
|
|
|
|
code = fields.Char('Code', required=True)
|
|
name = fields.Char('Name', required=True)
|
|
rates = fields.One2Many(
|
|
'trade_finance.market_index_rate', 'index', 'Rates')
|
|
active = fields.Boolean('Active')
|
|
|
|
@staticmethod
|
|
def default_active():
|
|
return True
|
|
|
|
|
|
class MarketIndexRate(ModelSQL, ModelView):
|
|
'Market Index Rate'
|
|
__name__ = 'trade_finance.market_index_rate'
|
|
|
|
index = fields.Many2One(
|
|
'trade_finance.market_index', 'Index',
|
|
required=True, ondelete='CASCADE')
|
|
rate_date = fields.Date('Date', required=True)
|
|
rate = fields.Numeric('Rate (%)', digits=(16, 6), required=True)
|
|
|
|
|
|
class IndexTerm(ModelSQL, ModelView):
|
|
'Index Term'
|
|
__name__ = 'trade_finance.index_term'
|
|
_rec_name = 'name'
|
|
|
|
code = fields.Char('Code', required=True)
|
|
name = fields.Char('Name', required=True)
|
|
days = fields.Integer('Days', required=True,
|
|
help='Approximate number of days for this term (O/N=1, 1W=7, 1M=30, '
|
|
'3M=90, 6M=180, 1Y=365)')
|
|
active = fields.Boolean('Active')
|
|
|
|
@staticmethod
|
|
def default_active():
|
|
return True
|
|
|
|
|
|
class InterestFormula(ModelSQL, ModelView):
|
|
'Interest Calculation Formula'
|
|
__name__ = 'trade_finance.interest_formula'
|
|
_rec_name = 'name'
|
|
|
|
code = fields.Char('Code', required=True)
|
|
name = fields.Char('Name', required=True)
|
|
active = fields.Boolean('Active')
|
|
|
|
@staticmethod
|
|
def default_active():
|
|
return True
|