Dynavera/apps/onboarding/admin.py

48 lines
1.4 KiB
Python
Raw Normal View History

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',)