from django.contrib import admin 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): 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): 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')}), )