You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

46 lines
1.6 KiB

from django.contrib import admin
from django.utils.translation import gettext_lazy as _
from unfold.admin import ModelAdmin
from utils.admin import dovoodi_admin_site
from ..models import ContentRelease, HadisDatabaseVersion
class ContentReleaseAdmin(ModelAdmin):
"""Admin for ContentRelease model"""
list_display = ('version_name', 'published_at', 'is_active')
list_filter = ('is_active', 'published_at')
search_fields = ('version_name', 'description')
readonly_fields = ('published_at',)
ordering = ('-published_at',)
fieldsets = (
(None, {
'fields': ('version_name', 'description', 'is_active')
}),
(_('Timestamps'), {
'fields': ('published_at',),
'classes': ('collapse',)
}),
)
class HadisDatabaseVersionAdmin(ModelAdmin):
"""Admin for HadisDatabaseVersion SQLite files"""
list_display = ('version', 'file_size_display', 'hadis_count', 'categories_count', 'is_active', 'created_at')
list_filter = ('is_active', 'created_at')
search_fields = ('version', 'notes', 'checksum_md5')
readonly_fields = ('created_at', 'checksum_md5', 'file_size')
ordering = ('-version',)
def file_size_display(self, obj):
if obj.file_size:
return f"{obj.file_size / (1024 * 1024):.2f} MB"
return "0 MB"
file_size_display.short_description = _("حجم فایل")
# Register models with the custom admin site
dovoodi_admin_site.register(ContentRelease, ContentReleaseAdmin)
dovoodi_admin_site.register(HadisDatabaseVersion, HadisDatabaseVersionAdmin)