# 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.pool import Pool

from . import (
    financing,
    market,
    valuation,
    document,
    template_execution,
    counterparty,
    fx,
    operational,
    facility,
    constraint_type,
    trade,
)


def register():
    Pool.register(
        financing.FinancingType,
        financing.OperationalStatus,
        market.MarketIndex,
        market.MarketIndexRate,
        market.IndexTerm,
        market.InterestFormula,
        valuation.ValuationMethod,
        valuation.HaircutFormula,
        valuation.CollateralType,
        document.EvidenceType,
        template_execution.TemplateSegment,
        template_execution.ExecutionTemplate,
        template_execution.ExecutionTemplateLine,
        counterparty.ReceivableCategory,
        counterparty.PaymentConditionType,
        fx.FxFeeder,
        operational.BlockingReason,
        operational.ChargeType,
        facility.FacilityStatus,
        facility.Facility,
        facility.FacilityCurrency,
        facility.FacilityCovenant,
        facility.FacilityLimit,
        facility.FacilityLimitHaircut,
        facility.FacilityLimitCurrency,
        facility.FacilityLimitCost,
        facility.FacilityLimitCostVariation,
        facility.FacilityLimitOpStatus,
        facility.FacilityLimitBankAccount,
        facility.FacilityCap,
        facility.FacilityCapHaircut,
        facility.FacilityConstraint,
        constraint_type.ConstraintType,
        trade.TradeFinance,
        trade.TradeFinancePresentation,
        trade.TradeFinancePresentationLine,
        trade.TradeFinanceCreateStart,
        module='trade_finance', type_='model')
    Pool.register(
        fx.PriceCalendar,
        module='price', type_='model')
    Pool.register(
        trade.TradeFinanceCreate,
        module='trade_finance', type_='wizard')
