from django.contrib import admin from django.utils.translation import gettext_lazy as _ from unfold.admin import ModelAdmin from unfold.decorators import display from django.utils.html import format_html from filer.models.thumbnailoptionmodels import ThumbnailOption # from filer.admin.thumbnailoptionmodels import ThumbnailOptionAdmin as OriginalThumbnailOptionAdmin admin.site.unregister(ThumbnailOption) @admin.register(ThumbnailOption) class ThumbnailOptionAdmin(ModelAdmin): list_display = ['name', 'dimensions_display', 'crop', 'upscale', 'preview'] list_filter = ['crop', 'upscale'] search_fields = ['name'] fieldsets = ( (None, { 'fields': ('name', 'width', 'height', 'crop', 'upscale'), 'classes': ('unfold-fieldset',), }), ) @display(description=_("Dimensions")) def dimensions_display(self, obj): return f"{obj.width} × {obj.height}" @display(description=_("Preview")) def preview(self, obj): # ایجاد یک نمایش بصری از ابعاد تصویر بندانگشتی width_percent = min(100, obj.width / 10) # محدود کردن عرض به حداکثر 100% height_px = min(50, obj.height / 5) # محدود کردن ارتفاع به حداکثر 50px return format_html( '