X-Git-Url: http://git.ithinksw.org/philo.git/blobdiff_plain/ca2138fef978345b9076a2f855ed434a0bac65e1..9378da0590e3fcb8817d0c0309413bf59083ae8b:/admin/nodes.py diff --git a/admin/nodes.py b/admin/nodes.py index 16c2aaf..66be107 100644 --- a/admin/nodes.py +++ b/admin/nodes.py @@ -1,31 +1,19 @@ from django.contrib import admin 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 +from philo.models import Node, Redirect, File class NodeAdmin(TreeEntityAdmin): - 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 + list_display = ('slug', 'view', 'accepts_subpath') + related_lookup_fields = { + 'fk': [], + 'm2m': [], + 'generic': [['view_content_type', 'view_object_id']] + } + + def accepts_subpath(self, obj): + return obj.accepts_subpath + accepts_subpath.boolean = True class ViewAdmin(EntityAdmin): @@ -35,11 +23,19 @@ class ViewAdmin(EntityAdmin): class RedirectAdmin(ViewAdmin): fieldsets = ( (None, { - 'fields': ('target', 'status_code') + 'fields': ('target_node', 'url_or_subpath', 'status_code') }), + ('Advanced', { + 'fields': ('reversing_parameters',), + 'classes': COLLAPSE_CLASSES + }) ) - list_display = ('target', 'status_code') + list_display = ('target_url', 'status_code', 'target_node', 'url_or_subpath') list_filter = ('status_code',) + raw_id_fields = ['target_node'] + related_lookup_fields = { + 'fk': raw_id_fields + } class FileAdmin(ViewAdmin):