Files
@ 54f53cd2c655
Branch filter:
Location: symposion_app/vendor/symposion/schedule/admin.py - annotation
54f53cd2c655
2.1 KiB
text/x-python
Add a waffle, for flipping and switching
39d0faac7c40 39d0faac7c40 765e80765c3e 39d0faac7c40 39d0faac7c40 32e8c27df99f 32e8c27df99f 32e8c27df99f 32e8c27df99f 32e8c27df99f 32e8c27df99f 32e8c27df99f 32e8c27df99f 32e8c27df99f 32e8c27df99f 32e8c27df99f 32e8c27df99f 1eb28f2c80a4 1eb28f2c80a4 1eb28f2c80a4 32e8c27df99f 32e8c27df99f 32e8c27df99f 32e8c27df99f 32e8c27df99f 32e8c27df99f 32e8c27df99f f99765ca0b03 f99765ca0b03 f99765ca0b03 f99765ca0b03 f99765ca0b03 f99765ca0b03 32e8c27df99f 23f4a38126db 193ffc76d5a2 193ffc76d5a2 f99765ca0b03 8a95b0861c5c f99765ca0b03 32e8c27df99f 193ffc76d5a2 193ffc76d5a2 193ffc76d5a2 6dd80f9ddb6f 32e8c27df99f 8a95b0861c5c 8a95b0861c5c 8a95b0861c5c 32e8c27df99f 32e8c27df99f 32e8c27df99f 32e8c27df99f 32e8c27df99f 32e8c27df99f a880bc27fbf6 a880bc27fbf6 a880bc27fbf6 a880bc27fbf6 a880bc27fbf6 a880bc27fbf6 98e0abf30ca3 98e0abf30ca3 98e0abf30ca3 32e8c27df99f 39d0faac7c40 7cff2d8b1dcf 7cff2d8b1dcf 8a95b0861c5c 479579f35072 479579f35072 479579f35072 8a95b0861c5c 479579f35072 32e8c27df99f 32e8c27df99f 32e8c27df99f 98e0abf30ca3 a41fb8bd3542 32e8c27df99f a880bc27fbf6 | 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
def update_slot_names(modeladmin, request, queryset):
for slot in queryset:
slot.save()
update_slot_names.short_description = "Update slot names"
class SlotAdmin(admin.ModelAdmin):
list_filter = ("day", "kind","exclusive","slotroom__room")
list_display = ("day", "start", "end", "kind", "room_names",
"content_override","exclusive")
list_editable = ("exclusive","kind","start","end")
inlines = [SlotRoomInline]
actions = [update_slot_names]
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")
class SessionAdmin(admin.ModelAdmin):
model = Session,
filter_vertical=["slots"]
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, SessionAdmin)
admin.site.register(SessionRole)
admin.site.register(Presentation, PresentationAdmin)
admin.site.register(Track, TrackAdmin)
|