""" Admin configuration for the access control app. """ from django.contrib import admin from apps.access.models import Permission, Role, RolePermission, UserRole class RolePermissionInline(admin.TabularInline): model = RolePermission extra = 1 autocomplete_fields = ["permission"] @admin.register(Role) class RoleAdmin(admin.ModelAdmin): list_display = ("name", "scope", "description", "created_at") list_filter = ("scope",) search_fields = ("name",) inlines = [RolePermissionInline] @admin.register(Permission) class PermissionAdmin(admin.ModelAdmin): list_display = ("resource", "action", "description") list_filter = ("resource",) search_fields = ("resource", "action") @admin.register(RolePermission) class RolePermissionAdmin(admin.ModelAdmin): list_display = ("role", "permission") list_filter = ("role",) autocomplete_fields = ["role", "permission"] @admin.register(UserRole) class UserRoleAdmin(admin.ModelAdmin): list_display = ("user", "role", "assigned_at") list_filter = ("role",) search_fields = ("user__email", "role__name") autocomplete_fields = ["user", "role"]