PonyConf/proposals/admin.py

43 lines
1.4 KiB
Python
Raw Normal View History

2016-06-07 20:59:13 +00:00
from django.contrib import admin
2016-10-18 20:40:56 +00:00
from django.contrib.sites.shortcuts import get_current_site
2016-06-07 20:59:13 +00:00
2016-09-21 22:53:09 +00:00
from proposals.models import Conference, Talk, Topic, Track, Event
2016-10-18 20:40:56 +00:00
from planning.models import Room
2016-10-19 21:36:15 +00:00
from ponyconf.admin import SiteAdminMixin
2016-10-18 20:40:56 +00:00
class TalkAdmin(SiteAdminMixin, admin.ModelAdmin):
def get_form(self, request, obj=None, **kwargs):
form = super(TalkAdmin, self).get_form(request, obj, **kwargs)
2016-10-18 20:40:56 +00:00
site = get_current_site(request)
form.base_fields['topics'].queryset = Topic.objects.filter(site=site)
form.base_fields['track'].queryset = Track.objects.filter(site=site)
form.base_fields['event'].queryset = Event.objects.filter(site=site)
form.base_fields['room'].queryset = Room.objects.filter(site=site)
return form
2016-06-07 20:59:13 +00:00
2016-09-22 22:51:07 +00:00
2016-10-18 20:40:56 +00:00
class TopicAdmin(SiteAdminMixin, admin.ModelAdmin):
2016-09-22 22:51:07 +00:00
def get_form(self, request, obj=None, **kwargs):
form = super().get_form(request, obj, **kwargs)
2016-10-18 20:40:56 +00:00
site = get_current_site(request)
form.base_fields['track'].queryset = Track.objects.filter(site=site)
2016-09-22 22:51:07 +00:00
return form
2016-10-18 20:40:56 +00:00
class TrackAdmin(SiteAdminMixin, admin.ModelAdmin):
pass
class EventAdmin(SiteAdminMixin, admin.ModelAdmin):
pass
admin.site.register(Conference)
2016-09-22 22:51:07 +00:00
admin.site.register(Topic, TopicAdmin)
2016-10-18 20:40:56 +00:00
admin.site.register(Track, TrackAdmin)
admin.site.register(Talk, TalkAdmin)
2016-10-18 20:40:56 +00:00
admin.site.register(Event, EventAdmin)