from django.contrib import admin from .models import * from unfold.admin import ModelAdmin as UnfoldModelAdmin from import_export.admin import ImportExportModelAdmin from unfold.contrib.import_export.forms import ExportForm, ImportForm, SelectableFieldsExportForm from unfold.contrib.forms.widgets import ArrayWidget, WysiwygWidget from django.contrib.postgres.fields import ArrayField from unfold.decorators import action, display from django.utils.html import format_html from unfold.decorators import display from utils.admin import ModelAdmin @admin.register(ShowCaseSlider) class ShowCaseSliderAdmin(ModelAdmin, ImportExportModelAdmin): import_form_class = ImportForm export_form_class = ExportForm search_fields = ['title'] compressed_fields = False warn_unsaved_form = True formfield_overrides = { ArrayField: { "widget": ArrayWidget, } } @admin.register(LearnVideoModel) class LearnVideoAdmin(UnfoldModelAdmin): list_display = ['title', 'section', 'display_viewd'] search_fields = ['title', 'section'] compressed_fields = False list_filter = ['section'] warn_unsaved_form = True change_form_template = 'video_change_form_after.html' formfield_overrides = { ArrayField: { "widget": ArrayWidget, } } @display(description='دیده شده') def display_viewd(self, instance): if instance.viewd: svg = f'' else: svg = f'' return format_html( svg ) @admin.register(SliderModel) class SliderAdmin(ModelAdmin, ImportExportModelAdmin): import_form_class = ImportForm export_form_class = ExportForm search_fields = ['description', 'title'] compressed_fields = False warn_unsaved_form = True formfield_overrides = { ArrayField: { "widget": ArrayWidget, } } @admin.register(HomeImageModel) class HomeImageAdmin(ModelAdmin, ImportExportModelAdmin): import_form_class = ImportForm export_form_class = ExportForm compressed_fields = True warn_unsaved_form = True formfield_overrides = { ArrayField: { "widget": ArrayWidget, } }