Minor improvements to navigationoverrides, including admin support and working naviga...
[philo.git] / admin / nodes.py
index 45a3172..16c2aaf 100644 (file)
@@ -1,10 +1,31 @@
 from django.contrib import admin
-from philo.admin.base import EntityAdmin, TreeEntityAdmin
-from philo.models import Node, Redirect, File
+from philo.admin.base import EntityAdmin, TreeEntityAdmin, COLLAPSE_CLASSES
+from philo.models import Node, Redirect, File, NodeNavigationOverride
+from philo.forms import NodeWithOverrideForm
+
+
+class ChildNavigationOverrideInline(admin.StackedInline):
+       fk_name = 'parent'
+       model = NodeNavigationOverride
+       sortable_field_name = 'order'
+       verbose_name = 'child'
+       verbose_name_plural = 'children'
+       extra = 0
+       max_num = 0
 
 
 class NodeAdmin(TreeEntityAdmin):
-       pass
+       form = NodeWithOverrideForm
+       fieldsets = (
+               (None, {
+                       'fields': ('parent', 'slug', 'view_content_type', 'view_object_id'),
+               }),
+               ('Navigation Overrides', {
+                       'fields': ('title', 'url', 'child_navigation'),
+                       'classes': COLLAPSE_CLASSES
+               })
+       )
+       inlines = [ChildNavigationOverrideInline] + TreeEntityAdmin.inlines
 
 
 class ViewAdmin(EntityAdmin):