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.
 
 

65 lines
2.0 KiB

from django.contrib import admin
from django.utils.translation import gettext_lazy as _
from unfold.admin import ModelAdmin, TabularInline
from unfold.decorators import display, action
from utils.admin import project_admin_site
from ..models import Transmitters, HadisTransmitter
class HadisTransmitterInline(TabularInline):
"""Inline for HadisTransmitter in Transmitters admin"""
model = HadisTransmitter
extra = 0
fields = ('hadis', 'order', 'status')
readonly_fields = ('created_at',)
class TransmittersAdmin(ModelAdmin):
"""Admin for Transmitters model"""
list_display = ('full_name', 'birth_year_hijri', 'death_year_hijri')
list_filter = ('birth_year_hijri', 'death_year_hijri')
search_fields = ('full_name', 'description')
readonly_fields = ('created_at', 'updated_at')
inlines = [HadisTransmitterInline]
fieldsets = (
(None, {
'fields': ('full_name', 'birth_year_hijri', 'death_year_hijri')
}),
(_('Additional Information'), {
'fields': ('description', 'thumbnail'),
'classes': ('collapse',)
}),
(_('Timestamps'), {
'fields': ('created_at', 'updated_at'),
'classes': ('collapse',)
}),
)
class HadisTransmitterAdmin(ModelAdmin):
"""Admin for HadisTransmitter model"""
list_display = ('hadis', 'transmitter', 'order', 'status', 'created_at')
list_filter = ('status', 'created_at')
search_fields = ('hadis__title', 'transmitter__full_name')
readonly_fields = ('created_at',)
ordering = ('hadis', 'order')
fieldsets = (
(None, {
'fields': ('hadis', 'transmitter', 'order')
}),
(_('Status Information'), {
'fields': ('status',)
}),
(_('Timestamps'), {
'fields': ('created_at',),
'classes': ('collapse',)
}),
)
# Register models with the custom admin site
project_admin_site.register(Transmitters, TransmittersAdmin)
project_admin_site.register(HadisTransmitter, HadisTransmitterAdmin)