X-Git-Url: http://git.ithinksw.org/philo.git/blobdiff_plain/2f7a76a00f2bcae2f67459b7fd86806278ef9b66..9378da0590e3fcb8817d0c0309413bf59083ae8b:/admin/nodes.py diff --git a/admin/nodes.py b/admin/nodes.py index 093537e..66be107 100644 --- a/admin/nodes.py +++ b/admin/nodes.py @@ -1,10 +1,19 @@ from django.contrib import admin -from philo.admin.base import EntityAdmin +from philo.admin.base import EntityAdmin, TreeEntityAdmin, COLLAPSE_CLASSES from philo.models import Node, Redirect, File -class NodeAdmin(EntityAdmin): - pass +class NodeAdmin(TreeEntityAdmin): + 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): @@ -14,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):