Saas-Base / apps /access /admin.py
rsnarsna
first commit
667aacd
Raw
History Blame Contribute Delete
1.16 kB
"""
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"]