1 from django.contrib import admin
2 from philo.admin.base import EntityAdmin, TreeEntityAdmin, COLLAPSE_CLASSES
3 from philo.models import Node, Redirect, File, NodeNavigationOverride
4 from philo.forms import NodeWithOverrideForm
7 class ChildNavigationOverrideInline(admin.StackedInline):
9 model = NodeNavigationOverride
10 sortable_field_name = 'order'
11 verbose_name = 'child'
12 verbose_name_plural = 'children'
17 class NodeAdmin(TreeEntityAdmin):
18 form = NodeWithOverrideForm
21 'fields': ('parent', 'slug', 'view_content_type', 'view_object_id'),
23 ('Navigation Overrides', {
24 'fields': ('title', 'url', 'child_navigation'),
25 'classes': COLLAPSE_CLASSES
28 inlines = [ChildNavigationOverrideInline] + TreeEntityAdmin.inlines
31 class ViewAdmin(EntityAdmin):
35 class RedirectAdmin(ViewAdmin):
38 'fields': ('target', 'status_code')
41 list_display = ('target', 'status_code')
42 list_filter = ('status_code',)
45 class FileAdmin(ViewAdmin):
48 'fields': ('file', 'mimetype')
51 list_display = ('mimetype', 'file')
54 admin.site.register(Node, NodeAdmin)
55 admin.site.register(Redirect, RedirectAdmin)
56 admin.site.register(File, FileAdmin)