Dynavera/apps/domains/admin.py

66 lines
2.4 KiB
Python
Raw Normal View History

from django.contrib import admin
2025-12-18 23:27:24 +00:00
from apps.domains.models import Domain, Organization, Dataset, OrganizationMembership, InviteToken, DomainMembership
@admin.register(Organization)
class OrganizationAdmin(admin.ModelAdmin):
list_display = ('name', 'owner', 'uuid', 'created_at', 'updated_at')
search_fields = ('name', 'owner__email_address')
readonly_fields = ('uuid', 'created_at', 'updated_at')
fieldsets = (
(None, {'fields': ('name', 'uuid', 'description')}),
('Ownership', {'fields': ('owner',)}),
('Dates', {'fields': ('created_at', 'updated_at')}),
)
@admin.register(OrganizationMembership)
class OrganizationMembershipAdmin(admin.ModelAdmin):
list_display = ('user', 'organization', 'role', 'created_at')
list_filter = ('role', 'created_at')
search_fields = ('user__email_address', 'organization__name')
readonly_fields = ('created_at', 'updated_at')
@admin.register(InviteToken)
class InviteTokenAdmin(admin.ModelAdmin):
list_display = ('organization', 'created_by', 'expires_at', 'is_active', 'used_by', 'used_at')
list_filter = ('is_active', 'created_at', 'expires_at')
search_fields = ('organization__name', 'created_by__email_address', 'token')
readonly_fields = ('token', 'created_at', 'updated_at')
@admin.register(Domain)
class DomainAdmin(admin.ModelAdmin):
2025-12-18 23:27:24 +00:00
list_display = ('name', 'organization', 'uuid')
list_filter = ('organization',)
search_fields = ('name', 'organization__name')
readonly_fields = ('uuid',)
fieldsets = (
(None, {'fields': ('name', 'uuid')}),
('Description', {'fields': ('description',)}),
('Organization', {'fields': ('organization',)}),
)
@admin.register(DomainMembership)
class DomainMembershipAdmin(admin.ModelAdmin):
list_display = ('user', 'domain', 'created_at')
list_filter = ('created_at',)
search_fields = ('user__email_address', 'domain__name')
readonly_fields = ('created_at', 'updated_at')
@admin.register(Dataset)
class DatasetAdmin(admin.ModelAdmin):
2025-12-18 23:27:24 +00:00
list_display = ('name', 'domain', 'uuid', 'created_by', 'created_at')
search_fields = ('name', 'domain__name')
readonly_fields = ('uuid', 'created_at', 'updated_at')
fieldsets = (
(None, {'fields': ('name', 'uuid')}),
('Details', {'fields': ('domain', 'description', 'created_by')}),
('File', {'fields': ('datafile',)}),
('Dates', {'fields': ('created_at', 'updated_at')}),
)