mediacms/files/admin.py

88 lines
2.3 KiB
Python
Raw Permalink Normal View History

2020-12-15 22:33:43 +01:00
from django.contrib import admin
from .models import (
Media,
Encoding,
EncodeProfile,
Category,
Comment,
Tag,
Language,
Subtitle,
)
class CommentAdmin(admin.ModelAdmin):
search_fields = ["text"]
list_display = ["text", "add_date", "user", "media"]
ordering = ("-add_date",)
readonly_fields = ("user", "media", "parent")
class MediaAdmin(admin.ModelAdmin):
search_fields = ["title"]
list_display = [
"title",
"user",
"add_date",
"media_type",
"duration",
"state",
"is_reviewed",
"encoding_status",
"featured",
"get_comments_count",
]
list_filter = ["state", "is_reviewed", "encoding_status", "featured", "category"]
ordering = ("-add_date",)
readonly_fields = ("user", "tags", "category", "channel")
def get_comments_count(self, obj):
return obj.comments.count()
get_comments_count.short_description = "Comments count"
class CategoryAdmin(admin.ModelAdmin):
search_fields = ["title"]
list_display = ["title", "user", "add_date", "is_global", "media_count"]
list_filter = ["is_global"]
ordering = ("-add_date",)
readonly_fields = ("user", "media_count")
class TagAdmin(admin.ModelAdmin):
search_fields = ["title"]
list_display = ["title", "user", "media_count"]
readonly_fields = ("user", "media_count")
class EncodeProfileAdmin(admin.ModelAdmin):
list_display = ("name", "extension", "resolution", "codec", "description", "active")
list_filter = ["extension", "resolution", "codec", "active"]
search_fields = ["name", "extension", "resolution", "codec", "description"]
list_per_page = 100
fields = ("name", "extension", "resolution", "codec", "description", "active")
class LanguageAdmin(admin.ModelAdmin):
pass
class SubtitleAdmin(admin.ModelAdmin):
pass
class EncodingAdmin(admin.ModelAdmin):
pass
admin.site.register(EncodeProfile, EncodeProfileAdmin)
admin.site.register(Comment, CommentAdmin)
admin.site.register(Media, MediaAdmin)
admin.site.register(Encoding, EncodingAdmin)
admin.site.register(Category, CategoryAdmin)
admin.site.register(Tag, TagAdmin)
admin.site.register(Subtitle, SubtitleAdmin)
admin.site.register(Language, LanguageAdmin)