from django.contrib import admin from polymorphic.admin import ( PolymorphicParentModelAdmin, PolymorphicChildModelAdmin, PolymorphicChildModelFilter, ) from apps.content.models import ( Banner, Content, Image, Text, ImageText, Video, Gallery, GalleryImage, ImageObject, Contest, ContestWork, FAQ, Package, ) @admin.register(Banner) class BannerAdmin(admin.ModelAdmin): list_display = ( 'text', 'button_text', 'url', 'image', 'color', 'color2', 'pages', 'main_banner', ) @admin.register(ImageObject) class ImageObjectAdmin(admin.ModelAdmin): list_display = ( 'id', 'image', 'created_at', 'update_at', ) class ContentChildAdmin(PolymorphicChildModelAdmin): base_model = Content show_in_index = True base_fieldsets = ( (None, {'fields': ('course', 'lesson', 'title', 'position',)}), ) @admin.register(Image) class ImageAdmin(ContentChildAdmin): base_model = Image @admin.register(Text) class TextAdmin(ContentChildAdmin): base_model = Text @admin.register(ImageText) class ImageTextAdmin(ContentChildAdmin): base_model = ImageText @admin.register(Video) class VideoAdmin(ContentChildAdmin): base_model = Video @admin.register(Gallery) class GalleryAdmin(ContentChildAdmin): base_model = Gallery @admin.register(Content) class ContentAdmin(PolymorphicParentModelAdmin): base_model = Content polymorphic_list = True child_models = ( Image, Text, ImageText, Video, ) @admin.register(GalleryImage) class GalleryImageAdmin(admin.ModelAdmin): pass @admin.register(Contest) class ContestAdmin(admin.ModelAdmin): base_model = Contest @admin.register(ContestWork) class ContestWorkAdmin(admin.ModelAdmin): base_model = ContestWork @admin.register(FAQ) class FAQAdmin(admin.ModelAdmin): base_model = FAQ @admin.register(Package) class PackageAdmin(admin.ModelAdmin): base_model = Package