from django.contrib import admin from .models import VendorConfig, VerificationTransaction, VendorAttemptLog, PANDetails class VendorAttemptLogInline(admin.TabularInline): model = VendorAttemptLog extra = 0 readonly_fields = ( "attempt_number", "vendor_name", "status", "is_success", "latency_ms", "error_code", "error_message", "created_at", ) can_delete = False @admin.register(VendorConfig) class VendorConfigAdmin(admin.ModelAdmin): list_display = ("name", "display_name", "priority", "is_active", "base_url", "updated_at") list_editable = ("priority", "is_active") search_fields = ("name", "display_name") list_filter = ("is_active",) @admin.register(VerificationTransaction) class VerificationTransactionAdmin(admin.ModelAdmin): list_display = ( "reference_id", "document_type", "status", "successful_vendor", "attempts_count", "total_latency_ms", "created_at", ) list_filter = ("status", "document_type", "successful_vendor", "created_at") search_fields = ("reference_id", "document_type", "successful_vendor") readonly_fields = ( "reference_id", "document_type", "status", "successful_vendor", "input_payload", "final_data", "response_payload", "attempts_count", "total_latency_ms", "created_at", "updated_at", ) inlines = [VendorAttemptLogInline] @admin.register(PANDetails) class PANDetailsAdmin(admin.ModelAdmin): list_display = ( "document_id", "name", "category", "date_of_birth", "gender", "city", "state", "pincode", "aadhaar_linked", "created_at", ) list_filter = ("category", "gender", "aadhaar_linked", "taxpayer_profile", "state", "created_at") search_fields = ("document_id", "name", "email", "phone", "city", "pincode", "request_id") readonly_fields = ("created_at", "updated_at")