Files @ 44cdd088befa
Branch filter:

Location: symposion_app/vendor/symposion/schedule/admin.py

James Polley
git subrepo clone git@gitlab.com:LCA2018/registrasion-desk.git vendor/regidesk

subrepo:
subdir: "vendor/regidesk"
merged: "a8096d0"
upstream:
origin: "git@gitlab.com:LCA2018/registrasion-desk.git"
branch: "master"
commit: "a8096d0"
git-subrepo:
version: "0.3.1"
origin: "???"
commit: "???"
from django.contrib import admin

from symposion.schedule.models import Schedule, Day, Room, SlotKind, Slot, SlotRoom, Presentation, Session, SessionRole, Track


class DayInline(admin.StackedInline):
    model = Day
    extra = 2


class SlotKindInline(admin.StackedInline):
    model = SlotKind


class ScheduleAdmin(admin.ModelAdmin):
    model = Schedule
    inlines = [DayInline, SlotKindInline, ]
    list_display = ["section","published","hidden"]
    list_editable = ["published","hidden"]
    list_filter = ["published","hidden"]


class SlotRoomInline(admin.TabularInline):
    model = SlotRoom
    extra = 1


class SlotAdmin(admin.ModelAdmin):
    list_filter = ("day", "kind","exclusive")
    list_display = ("day", "start", "end", "kind", "room_names",
                    "content_override","exclusive")
    list_editable = ("exclusive",)
    inlines = [SlotRoomInline]

    def room_names(self, slot):
        return ", ".join(room.name for room in slot.rooms.all())


class RoomAdmin(admin.ModelAdmin):
    list_display = ["name", "order", "schedule"]
    list_filter = ["schedule"]
    inlines = [SlotRoomInline]


class PresentationAdmin(admin.ModelAdmin):
    model = Presentation
    list_filter = ("section", "cancelled", "slot")

class TrackAdmin(admin.ModelAdmin):
    model = Track
    list_filter=("room","day")
    list_display=("name","room","day")
    list_editable=("room","day")


admin.site.register(Day)
admin.site.register(
    SlotKind,
    list_display=["label", "schedule"],
)
admin.site.register(
    SlotRoom,
    list_display=["slot", "room"]
)
admin.site.register(Schedule, ScheduleAdmin)
admin.site.register(Room, RoomAdmin)
admin.site.register(Slot, SlotAdmin)
admin.site.register(Session)
admin.site.register(SessionRole)
admin.site.register(Presentation, PresentationAdmin)
admin.site.register(Track, TrackAdmin)