2026-08-12 01:30:05 +02:00
|
|
|
from django.contrib import admin
|
|
|
|
|
|
|
|
|
|
from .models import Space, SpaceMembership
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class SpaceMembershipInline(admin.TabularInline):
|
|
|
|
|
model = SpaceMembership
|
|
|
|
|
extra = 0
|
|
|
|
|
raw_id_fields = ("member",)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@admin.register(Space)
|
|
|
|
|
class SpaceAdmin(admin.ModelAdmin):
|
|
|
|
|
list_display = (
|
|
|
|
|
"title",
|
|
|
|
|
"slug",
|
|
|
|
|
"tenant_id",
|
|
|
|
|
"is_active",
|
2026-08-13 12:46:39 +02:00
|
|
|
"visual",
|
2026-08-12 01:30:05 +02:00
|
|
|
"forgejo_owner",
|
|
|
|
|
"forgejo_repo",
|
|
|
|
|
"updated_at",
|
|
|
|
|
)
|
|
|
|
|
list_filter = ("tenant_id", "is_active")
|
2026-08-13 12:46:39 +02:00
|
|
|
search_fields = ("title", "slug", "description", "forgejo_repo")
|
2026-08-12 01:30:05 +02:00
|
|
|
prepopulated_fields = {"slug": ("title",)}
|
|
|
|
|
raw_id_fields = ("created_by",)
|
|
|
|
|
inlines = [SpaceMembershipInline]
|
2026-08-13 12:46:39 +02:00
|
|
|
fields = (
|
|
|
|
|
"tenant_id",
|
|
|
|
|
"slug",
|
|
|
|
|
"title",
|
|
|
|
|
"description",
|
|
|
|
|
"visual",
|
|
|
|
|
"created_by",
|
|
|
|
|
"forgejo_owner",
|
|
|
|
|
"forgejo_repo",
|
|
|
|
|
"default_branch",
|
|
|
|
|
"content_root",
|
|
|
|
|
"is_active",
|
|
|
|
|
)
|
2026-08-12 01:30:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
@admin.register(SpaceMembership)
|
|
|
|
|
class SpaceMembershipAdmin(admin.ModelAdmin):
|
|
|
|
|
list_display = ("space", "member", "role", "created_at")
|
|
|
|
|
list_filter = ("role",)
|
|
|
|
|
raw_id_fields = ("space", "member")
|