forked from rc/aircox
work hard on this
This commit is contained in:
41
aircox/admin/playlist.py
Normal file
41
aircox/admin/playlist.py
Normal file
@ -0,0 +1,41 @@
|
||||
from django.contrib import admin
|
||||
from django.utils.translation import ugettext as _, ugettext_lazy
|
||||
|
||||
from adminsortable2.admin import SortableInlineAdminMixin
|
||||
|
||||
from aircox.models import Track
|
||||
|
||||
|
||||
class TracksInline(SortableInlineAdminMixin, admin.TabularInline):
|
||||
template = 'admin/aircox/playlist_inline.html'
|
||||
model = Track
|
||||
extra = 0
|
||||
fields = ('position', 'artist', 'title', 'info', 'timestamp', 'tags')
|
||||
|
||||
list_display = ['artist', 'title', 'tags', 'related']
|
||||
list_filter = ['artist', 'title', 'tags']
|
||||
|
||||
|
||||
@admin.register(Track)
|
||||
class TrackAdmin(admin.ModelAdmin):
|
||||
# TODO: url to filter by tag
|
||||
def tag_list(self, obj):
|
||||
return u", ".join(o.name for o in obj.tags.all())
|
||||
|
||||
list_display = ['pk', 'artist', 'title', 'tag_list', 'diffusion', 'sound']
|
||||
list_editable = ['artist', 'title']
|
||||
list_filter = ['sound', 'diffusion', 'artist', 'title', 'tags']
|
||||
fieldsets = [
|
||||
(_('Playlist'), {'fields': ['diffusion', 'sound', 'position', 'timestamp']}),
|
||||
(_('Info'), {'fields': ['artist', 'title', 'info', 'tags']}),
|
||||
]
|
||||
|
||||
# TODO on edit: readonly_fields = ['diffusion', 'sound']
|
||||
|
||||
#@admin.register(Playlist)
|
||||
#class PlaylistAdmin(admin.ModelAdmin):
|
||||
# fields = ['diffusion', 'sound']
|
||||
# inlines = [TracksInline]
|
||||
# # TODO: dynamic read only fields
|
||||
|
||||
|
Reference in New Issue
Block a user