forked from rc/aircox
continue migration: make website working
This commit is contained in:
@ -1,28 +1,7 @@
|
||||
from django.contrib import admin
|
||||
|
||||
|
||||
from .episode import DiffusionAdmin, EpisodeAdmin
|
||||
from .log import LogAdmin
|
||||
# from .playlist import PlaylistAdmin
|
||||
from .program import ProgramAdmin, ScheduleAdmin, StreamAdmin
|
||||
from .sound import SoundAdmin
|
||||
|
||||
from aircox.models import Log, Port, Station
|
||||
|
||||
|
||||
class PortInline(admin.StackedInline):
|
||||
model = Port
|
||||
extra = 0
|
||||
|
||||
|
||||
@admin.register(Station)
|
||||
class StationAdmin(admin.ModelAdmin):
|
||||
prepopulated_fields = {'slug': ('name',)}
|
||||
inlines = [PortInline]
|
||||
|
||||
|
||||
@admin.register(Log)
|
||||
class LogAdmin(admin.ModelAdmin):
|
||||
list_display = ['id', 'date', 'station', 'source', 'type', 'comment']
|
||||
list_filter = ['date', 'source', 'station']
|
||||
|
||||
from .station import StationAdmin
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -7,6 +7,7 @@ from aircox.models import Episode, Diffusion, Sound, Track
|
||||
|
||||
from .page import PageAdmin
|
||||
from .playlist import TracksInline
|
||||
from .sound import SoundInline
|
||||
|
||||
|
||||
class DiffusionBaseAdmin:
|
||||
@ -46,14 +47,6 @@ class DiffusionInline(DiffusionBaseAdmin, admin.TabularInline):
|
||||
return request.user.has_perm('aircox_program.scheduling')
|
||||
|
||||
|
||||
class SoundInline(admin.TabularInline):
|
||||
model = Sound
|
||||
fk_name = 'episode'
|
||||
fields = ['type', 'path', 'duration', 'is_public']
|
||||
readonly_fields = ['type']
|
||||
extra = 0
|
||||
|
||||
|
||||
@admin.register(Episode)
|
||||
class EpisodeAdmin(PageAdmin):
|
||||
list_display = PageAdmin.list_display + ('program',)
|
||||
|
13
aircox/admin/log.py
Normal file
13
aircox/admin/log.py
Normal file
@ -0,0 +1,13 @@
|
||||
from django.contrib import admin
|
||||
|
||||
from ..models import Log
|
||||
|
||||
|
||||
__all__ = ['LogAdmin']
|
||||
|
||||
|
||||
@admin.register(Log)
|
||||
class LogAdmin(admin.ModelAdmin):
|
||||
list_display = ['id', 'date', 'station', 'source', 'type', 'comment']
|
||||
list_filter = ['date', 'source', 'station']
|
||||
|
@ -2,6 +2,10 @@ from django.contrib import admin
|
||||
from django.utils.safestring import mark_safe
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from adminsortable2.admin import SortableInlineAdminMixin
|
||||
|
||||
from ..models import NavItem
|
||||
|
||||
|
||||
class PageAdmin(admin.ModelAdmin):
|
||||
list_display = ('cover_thumb', 'title', 'status')
|
||||
@ -24,5 +28,6 @@ class PageAdmin(admin.ModelAdmin):
|
||||
if obj.cover else ''
|
||||
|
||||
|
||||
|
||||
class NavItemInline(SortableInlineAdminMixin, admin.TabularInline):
|
||||
model = NavItem
|
||||
|
||||
|
@ -5,6 +5,13 @@ from aircox.models import Sound
|
||||
from .playlist import TracksInline
|
||||
|
||||
|
||||
class SoundInline(admin.TabularInline):
|
||||
model = Sound
|
||||
fields = ['type', 'path', 'duration', 'is_public']
|
||||
readonly_fields = ['type']
|
||||
extra = 0
|
||||
|
||||
|
||||
@admin.register(Sound)
|
||||
class SoundAdmin(admin.ModelAdmin):
|
||||
def filename(self, obj):
|
||||
@ -24,3 +31,4 @@ class SoundAdmin(admin.ModelAdmin):
|
||||
inlines = [TracksInline]
|
||||
|
||||
|
||||
|
||||
|
20
aircox/admin/station.py
Normal file
20
aircox/admin/station.py
Normal file
@ -0,0 +1,20 @@
|
||||
from django.contrib import admin
|
||||
|
||||
from ..models import Port, Station
|
||||
from .page import NavItemInline
|
||||
|
||||
|
||||
__all__ = ['PortInline', 'StationAdmin']
|
||||
|
||||
|
||||
class PortInline(admin.StackedInline):
|
||||
model = Port
|
||||
extra = 0
|
||||
|
||||
|
||||
@admin.register(Station)
|
||||
class StationAdmin(admin.ModelAdmin):
|
||||
prepopulated_fields = {'slug': ('name',)}
|
||||
inlines = [PortInline, NavItemInline]
|
||||
|
||||
|
Reference in New Issue
Block a user