Improved NodeAdmin list_display options. Added use of default validators to JSONField...
[philo.git] / admin / pages.py
index 234b9d8..caeee05 100644 (file)
@@ -1,6 +1,7 @@
+from django.conf import settings
 from django.contrib import admin
 from django import forms
 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.nodes import ViewAdmin
 from philo.models.pages import Page, Template, Contentlet, ContentReference
 from philo.forms import ContentletInlineFormSet, ContentReferenceInlineFormSet, ContentletForm, ContentReferenceForm
@@ -13,7 +14,11 @@ class ContentletInline(admin.StackedInline):
        formset = ContentletInlineFormSet
        form = ContentletForm
        can_delete = False
        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):
 
 
 class ContentReferenceInline(admin.StackedInline):
@@ -23,7 +28,11 @@ class ContentReferenceInline(admin.StackedInline):
        formset = ContentReferenceInlineFormSet
        form = ContentReferenceForm
        can_delete = False
        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):
 
 
 class PageAdmin(ViewAdmin):
@@ -39,7 +48,7 @@ class PageAdmin(ViewAdmin):
        inlines = [ContentletInline, ContentReferenceInline] + ViewAdmin.inlines
 
 
        inlines = [ContentletInline, ContentReferenceInline] + ViewAdmin.inlines
 
 
-class TemplateAdmin(admin.ModelAdmin):
+class TemplateAdmin(TreeAdmin):
        prepopulated_fields = {'slug': ('name',)}
        fieldsets = (
                (None, {
        prepopulated_fields = {'slug': ('name',)}
        fieldsets = (
                (None, {