from django.contrib import admin from access_core.identity.models import ( AccessGrant, Beneficiary, BeneficiaryIdentifier, ExternalSystemIdentifier, PatientConsent, Role, RolePermission, User, UserRole, ) @admin.register(User) class UserAdmin(admin.ModelAdmin): list_display = ["full_name", "email", "is_active", "created_at"] search_fields = ["full_name", "email"] list_filter = ["is_active"] readonly_fields = ["id", "created_at", "last_login_at"] @admin.register(Role) class RoleAdmin(admin.ModelAdmin): list_display = ["role_name", "description", "is_active"] list_filter = ["is_active"] @admin.register(UserRole) class UserRoleAdmin(admin.ModelAdmin): list_display = ["user", "role", "assigned_at", "revoked_at"] list_filter = ["role"] search_fields = ["user__email"] @admin.register(RolePermission) class RolePermissionAdmin(admin.ModelAdmin): list_display = ["role", "resource", "permission"] list_filter = ["role", "permission"] @admin.register(AccessGrant) class AccessGrantAdmin(admin.ModelAdmin): list_display = ["user", "beneficiary", "grant_scope", "granted_at", "revoked_at"] list_filter = ["grant_scope"] @admin.register(ExternalSystemIdentifier) class ExternalSystemIdentifierAdmin(admin.ModelAdmin): list_display = ["beneficiary", "system_name", "external_id", "entity_type"] list_filter = ["system_name", "entity_type"] @admin.register(Beneficiary) class BeneficiaryAdmin(admin.ModelAdmin): list_display = [ "first_name", "last_name", "dob", "sex", "is_synthetic", "created_at", ] list_filter = ["sex", "is_synthetic"] search_fields = ["first_name", "last_name"] readonly_fields = ["id", "created_at", "updated_at"] @admin.register(BeneficiaryIdentifier) class BeneficiaryIdentifierAdmin(admin.ModelAdmin): list_display = ["beneficiary", "identifier_type", "identifier_value", "is_primary"] list_filter = ["identifier_type", "is_primary"] @admin.register(PatientConsent) class PatientConsentAdmin(admin.ModelAdmin): list_display = ["intake_record", "consent_type", "status", "granted_at"] list_filter = ["consent_type", "status"] readonly_fields = ["id", "created_at"]