from django.apps import AppConfig


class CoreConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'core'

    def ready(self):
        from core.audit import register_audit
        from core.models import Project
        from members.models import Member
        from contributions.models import Contribution
        from expenses.models import Expense, ExpenseCategory
        from materials.models import Material, MaterialPurchase, MaterialUsage
        from labor.models import Worker, WorkerAttendance, WorkerPayment
        from contractors.models import Contractor, ContractorBill, ContractorPayment
        from flats.models import Building, Floor, Flat
        from sales.models import FlatSale, Installment
        from finance.models import BankAccount, BankTransaction, CashTransaction

        for model in (
            Project, Member, Contribution, Expense, ExpenseCategory,
            Material, MaterialPurchase, MaterialUsage,
            Worker, WorkerAttendance, WorkerPayment,
            Contractor, ContractorBill, ContractorPayment,
            Building, Floor, Flat, FlatSale, Installment,
            BankAccount, BankTransaction, CashTransaction,
        ):
            register_audit(model)
