66 lines
1.2 KiB
Python
66 lines
1.2 KiB
Python
from django.contrib import admin
|
|
|
|
from core.admins.base import BaseAdmin
|
|
from apps.workspaces.models import Workspace, WorkspaceMembership
|
|
|
|
|
|
class WorkspaceMembershipInline(admin.TabularInline):
|
|
model = WorkspaceMembership
|
|
extra = 0
|
|
autocomplete_fields = ("user",)
|
|
|
|
|
|
@admin.register(Workspace)
|
|
class WorkspaceAdmin(BaseAdmin):
|
|
list_display = (
|
|
"id",
|
|
"name",
|
|
"owner",
|
|
"created_at",
|
|
"updated_at",
|
|
"is_deleted",
|
|
)
|
|
|
|
search_fields = (
|
|
"name",
|
|
"owner__mobile",
|
|
)
|
|
|
|
list_filter = (
|
|
"created_at",
|
|
"updated_at",
|
|
"is_deleted",
|
|
)
|
|
|
|
autocomplete_fields = ("owner",)
|
|
|
|
inlines = (WorkspaceMembershipInline,)
|
|
|
|
|
|
@admin.register(WorkspaceMembership)
|
|
class WorkspaceMembershipAdmin(BaseAdmin):
|
|
list_display = (
|
|
"id",
|
|
"workspace",
|
|
"user",
|
|
"role",
|
|
"is_active",
|
|
"created_at",
|
|
)
|
|
|
|
list_filter = (
|
|
"role",
|
|
"is_active",
|
|
"is_deleted",
|
|
)
|
|
|
|
search_fields = (
|
|
"workspace__name",
|
|
"user__mobile",
|
|
)
|
|
|
|
autocomplete_fields = (
|
|
"workspace",
|
|
"user",
|
|
)
|