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, NodeOverrideInlineFormSet
+
+
+class ChildNavigationOverrideInline(admin.StackedInline):
+ fk_name = 'parent'
+ model = NodeNavigationOverride
+ formset = NodeOverrideInlineFormSet
+ 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):