Browse Source

admin panel video and article category fixed.

master
Mohsen Taba 5 months ago
parent
commit
255d321a78
  1. 4
      apps/article/admin.py
  2. 11
      apps/video/admin.py

4
apps/article/admin.py

@ -165,7 +165,7 @@ class MiddleArticleCollectionAdmin(ArticleCollectionAdminBase):
class ArticleCategoryAdmin(ModelAdmin):
list_display = ('display_header', 'slug', 'status', 'order', 'count_articles', 'created_at')
list_display = ('title', 'slug', 'status', 'order', 'count_articles', 'created_at')
list_filter = ('status', 'created_at', 'updated_at')
search_fields = ('title', 'slug')
@ -186,7 +186,7 @@ class ArticleCategoryAdmin(ModelAdmin):
@display(description=_("Category"), header=True)
def display_header(self, obj):
return obj.title
return list(obj.title)
class ArticleAdmin(ModelAdmin):

11
apps/video/admin.py

@ -125,10 +125,15 @@ class VideoCategoryAdmin(ModelAdmin):
@admin.display(description=_('Number of Videos'))
def count_videos(self, obj):
count = obj.videos.count()
# Count videos through playlists: Category -> Playlist -> PlaylistItem -> Video
count = Video.objects.filter(
playlist_appearances__playlist__categories=obj
).distinct().count()
if count > 0:
url = reverse('admin:video_video_changelist') + f'?category__id__exact={obj.id}'
return format_html('<a href="{}">{}</a>', url, count)
# Note: Direct filtering by category in admin might not work due to the relationship
# We'll just display the count without a clickable link for now
return count
return count
def get_form(self, request, obj=None, change=False, **kwargs):

Loading…
Cancel
Save