from __future__ import annotations

from django.contrib import admin
from django.utils.translation import gettext_lazy as _

try:
    from unfold.admin import ModelAdmin as UnfoldModelAdmin
except ImportError:
    UnfoldModelAdmin = admin.ModelAdmin  # type: ignore[assignment]

from simorgh.apps.tenants.models import Tenant


@admin.register(Tenant)
class TenantAdmin(UnfoldModelAdmin):
    list_display = ("slug", "name", "plan", "status", "created_at")
    list_filter = ("status", "plan")
    list_select_related = ("plan",)
    search_fields = ("slug", "name")
    readonly_fields = ("public_id", "created_at", "updated_at")
    fieldsets = (
        (None, {"fields": ("slug", "name", "plan", "status")}),
        (_("Metadata"), {"fields": ("public_id", "settings", "created_at", "updated_at")}),
    )
    add_fieldsets = (
        (None, {"fields": ("slug", "name", "plan", "status")}),
    )
