"""
budget/admin.py
"""

from django.contrib import admin

from .models import BudgetAllocation, BudgetHead, BudgetItem, BudgetSettings, BudgetSubHead


@admin.register(BudgetSettings)
class BudgetSettingsAdmin(admin.ModelAdmin):
    list_display = ["overrun_limit_percent"]


@admin.register(BudgetHead)
class BudgetHeadAdmin(admin.ModelAdmin):
    list_display = ["code", "name", "is_active", "created_at"]
    list_filter = ["is_active"]
    search_fields = ["name", "code"]
    readonly_fields = ["code"]


@admin.register(BudgetSubHead)
class BudgetSubHeadAdmin(admin.ModelAdmin):
    list_display = ["code", "head", "name", "is_active"]
    list_filter = ["is_active", "head"]
    search_fields = ["name", "code"]
    readonly_fields = ["code"]


@admin.register(BudgetItem)
class BudgetItemAdmin(admin.ModelAdmin):
    list_display = ["code", "sub_head", "name", "is_active"]
    list_filter = ["is_active", "sub_head__head"]
    search_fields = ["name", "code"]
    readonly_fields = ["code"]


@admin.register(BudgetAllocation)
class BudgetAllocationAdmin(admin.ModelAdmin):
    list_display = [
        "item",
        "fiscal_year",
        "period_type",
        "period_value",
        "allocated_amount",
        "disbursed_amount",
        "is_overrun",
    ]
    list_filter = ["fiscal_year", "period_type"]
    search_fields = ["item__name", "item__code"]
    readonly_fields = ["committed_amount", "approved_amount", "disbursed_amount"]
