From 32e8c27df99f82c01acacd1922429be10fcaee5d 2015-08-01 04:03:55 From: Hiroshi Miura Date: 2015-08-01 04:03:55 Subject: [PATCH] admin: inline edit day and slotroom Signed-off-by: Hiroshi Miura --- diff --git a/symposion/schedule/admin.py b/symposion/schedule/admin.py index 50f252c333057285b85c41fd95dc16d9ea415426..4a8c376ea1737d0367e1ed78daa55ce756a2309a 100644 --- a/symposion/schedule/admin.py +++ b/symposion/schedule/admin.py @@ -3,18 +3,43 @@ from django.contrib import admin from symposion.schedule.models import Schedule, Day, Room, SlotKind, Slot, SlotRoom, Presentation, Session, SessionRole -admin.site.register(Schedule) -admin.site.register(Day) -admin.site.register(Room) -admin.site.register(SlotKind) -admin.site.register( - Slot, - list_display=("day", "start", "end", "kind") -) -admin.site.register( - SlotRoom, - list_display=("slot", "room") -) +class DayInline(admin.StackedInline): + model = Day + extra = 2 + + +class SlotKindInline(admin.StackedInline): + model = SlotKind + + +class ScheduleAdmin(admin.ModelAdmin): + model = Schedule + inlines = [DayInline, SlotKindInline, ] + + +class SlotRoomInline(admin.TabularInline): + model = SlotRoom + extra = 1 + + +class SlotAdmin(admin.ModelAdmin): + list_filter = ("day", "kind") + list_display = ("day", "start", "end", "kind", "content") + inlines = [SlotRoomInline, ] + + +class RoomAdmin(admin.ModelAdmin): + inlines = [SlotRoomInline, ] + + +class PresentationAdmin(admin.ModelAdmin): + model = Presentation + list_filter = ("section", "cancelled", "slot") + + +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) +admin.site.register(Presentation, PresentationAdmin)