X-Git-Url: http://git.ithinksw.org/philo.git/blobdiff_plain/3c9e34c075474c6bff157de0d3a38796ba44b02f..bf7348280872f3e17f6cb766f27d57c41d9e2ae0:/admin/pages.py?ds=inline diff --git a/admin/pages.py b/admin/pages.py index 15b06d9..f9e96c0 100644 --- a/admin/pages.py +++ b/admin/pages.py @@ -1,10 +1,10 @@ from django.conf import settings from django.contrib import admin from django import forms -from philo.admin.base import COLLAPSE_CLASSES +from philo.admin.base import COLLAPSE_CLASSES, TreeAdmin from philo.admin.nodes import ViewAdmin from philo.models.pages import Page, Template, Contentlet, ContentReference -from philo.forms import ContentletInlineFormSet, ContentReferenceInlineFormSet, ContentletForm, ContentReferenceForm +from philo.admin.forms.containers import * class ContentletInline(admin.StackedInline): @@ -46,9 +46,15 @@ class PageAdmin(ViewAdmin): list_filter = ('template',) search_fields = ['title', 'contentlets__content'] inlines = [ContentletInline, ContentReferenceInline] + ViewAdmin.inlines + + def response_add(self, request, obj, post_url_continue='../%s/'): + # Shamelessly cribbed from django/contrib/auth/admin.py:143 + if '_addanother' not in request.POST and '_popup' not in request.POST: + request.POST['_continue'] = 1 + return super(PageAdmin, self).response_add(request, obj, post_url_continue) -class TemplateAdmin(admin.ModelAdmin): +class TemplateAdmin(TreeAdmin): prepopulated_fields = {'slug': ('name',)} fieldsets = ( (None, {