PonyConf/proposals/admin.py

24 lines
898 B
Python
Raw Normal View History

2016-06-07 20:59:13 +00:00
from django.contrib import admin
from proposals.models import Conference, Talk, Topic, Event
class TalkAdmin(admin.ModelAdmin):
# Disable add button in django admin has it is too dangerous
# (it is easy to obtain incoherent data due to site framework)
def has_add_permission(self, request):
return False
2016-09-18 16:43:32 +00:00
# Filter for 'on site' topics and event
def get_form(self, request, obj=None, **kwargs):
form = super(TalkAdmin, self).get_form(request, obj, **kwargs)
# in fact, obj should never be none as 'add' button is disabled
if obj:
form.base_fields['topics'].queryset = Topic.objects.filter(site=obj.site)
form.base_fields['event'].queryset = Event.objects.filter(site=obj.site)
return form
2016-06-07 20:59:13 +00:00
admin.site.register(Conference)
2016-06-07 20:59:13 +00:00
admin.site.register(Topic)
admin.site.register(Talk, TalkAdmin)
admin.site.register(Event)