+from django.conf import settings
from django.contrib import admin
from django import forms
-from django.template import Template as DjangoTemplate
-from philo.admin import widgets
-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 TemplateForm, ContentletInlineFormSet, ContentReferenceInlineFormSet
+from philo.admin.forms.containers import *
class ContentletInline(admin.StackedInline):
extra = 0
max_num = 0
formset = ContentletInlineFormSet
+ form = ContentletForm
can_delete = False
- template = 'admin/philo/edit_inline/tabular_container.html'
+ classes = ('collapse-open', 'collapse','open')
+ if 'grappelli' in settings.INSTALLED_APPS:
+ template = 'admin/philo/edit_inline/grappelli_tabular_container.html'
+ else:
+ template = 'admin/philo/edit_inline/tabular_container.html'
class ContentReferenceInline(admin.StackedInline):
extra = 0
max_num = 0
formset = ContentReferenceInlineFormSet
+ form = ContentReferenceForm
can_delete = False
- template = 'admin/philo/edit_inline/tabular_container.html'
+ classes = ('collapse-open', 'collapse','open')
+ if 'grappelli' in settings.INSTALLED_APPS:
+ template = 'admin/philo/edit_inline/grappelli_tabular_container.html'
+ else:
+ template = 'admin/philo/edit_inline/tabular_container.html'
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, {
save_on_top = True
save_as = True
list_display = ('__unicode__', 'slug', 'get_path',)
- form = TemplateForm
admin.site.register(Page, PageAdmin)