# 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.pool import Pool
from . import ir
from . import case
from . import customer_service
from . import configuration
from . import party
from . import sale
from . import survey
from . import activity
from . import opportunity
from . import party_validation
from . import company
from . import dash
from . import commission


def register():
    Pool.register(
        survey.SurveyGroup,
        survey.SurveyTemplate,
        survey.SurveyTemplateLine,
        survey.Survey,
        survey.SurveyLine,
        configuration.Configuration,
        case.Case,
        customer_service.CustomerService,
        customer_service.CustomerServiceIndicatorsStart,
        customer_service.EfficacyMonthStart,
        party.Party,
        sale.Sale,
        activity.Activity,
        opportunity.Opportunity,
        opportunity.LeadOrigin,
        opportunity.CrmOpportunityLine,
        opportunity.CrmOpportunityFollowUp,
        opportunity.OpportunityCancellReason,
        ir.Cron,
        party_validation.ValidationTemplate,
        party_validation.ValidationTemplateAsk,
        party_validation.OpportunityValidation,
        party_validation.ValidationHistoryAsk,
        company.Company,
        dash.DashApp,
        dash.AppCRMSales,
        dash.AppCRMService,
        dash.AppCRMMarketing,
        commission.Agent,
        module='crm', type_='model')
    Pool.register(
        customer_service.CustomerServiceReport,
        customer_service.CustomerServiceIndicators,
        customer_service.EfficacyMonth,
        customer_service.PrintCustomerService,
        module='crm', type_='wizard')
    Pool.register(
        customer_service.CustomerServiceReport,
        customer_service.CustomerServiceIndicatorsReport,
        customer_service.EfficacyMonthReport,
        customer_service.MonitoringReport,
        survey.SurveyReport,
        opportunity.OpportunityReport,
        opportunity.OpportunityOnlyReport,
        opportunity.OpportunityWithoutTaxReport,
        opportunity.OpportunityLargeReport,
        module='crm', type_='report')
