from django.contrib import admin from django.contrib.admin import ModelAdmin, TabularInline from .models import OnboardingFlow, OnboardingPage, OnboardingField, OnboardingSession class OnboardingPageInline(TabularInline): model = OnboardingPage extra = 0 class OnboardingFieldInline(TabularInline): model = OnboardingField extra = 0 @admin.register(OnboardingFlow) class OnboardingFlowAdmin(ModelAdmin): list_display = ('id', 'uuid', 'title', 'role', 'status') search_fields = ('title', 'role__name') list_filter = ('status',) inlines = (OnboardingPageInline,) readonly_fields = ('uuid',) @admin.register(OnboardingPage) class OnboardingPageAdmin(ModelAdmin): list_display = ('id', 'uuid', 'title', 'flow', 'order') search_fields = ('title', 'flow__title') list_filter = ('flow',) inlines = (OnboardingFieldInline,) readonly_fields = ('uuid',) @admin.register(OnboardingField) class OnboardingFieldAdmin(ModelAdmin): list_display = ('id', 'uuid', 'label', 'page', 'field_type', 'required') search_fields = ('label', 'page__title') list_filter = ('field_type',) readonly_fields = ('uuid',) @admin.register(OnboardingSession) class OnboardingSessionAdmin(ModelAdmin): list_display = ('id', 'uuid', 'flow', 'user', 'status', 'current_page_order') search_fields = ('flow__title', 'user__email_address') list_filter = ('status',) readonly_fields = ('uuid',)