Initial commit of Gilbert, an advanced Django administration interface.
[philo.git] / views.py
index 5e4b7dd..911adfe 100644 (file)
--- a/views.py
+++ b/views.py
@@ -1,19 +1,22 @@
 from django.http import Http404, HttpResponse
 from django.template import RequestContext
 from django.contrib.sites.models import Site
 from django.http import Http404, HttpResponse
 from django.template import RequestContext
 from django.contrib.sites.models import Site
-from models import Node
+from philo.models import Node
 
 
 def node_view(request, path=None, **kwargs):
        node = None
 
 
 def node_view(request, path=None, **kwargs):
        node = None
+       subpath = None
        if path is None:
                path = '/'
        try:
                current_site = Site.objects.get_current()
                if current_site:
        if path is None:
                path = '/'
        try:
                current_site = Site.objects.get_current()
                if current_site:
-                       node = Node.objects.get_with_path(path, root=current_site.root_node)
+                       node, subpath = Node.objects.get_with_path(path, root=current_site.root_node, absolute_result=False)
        except Node.DoesNotExist:
                raise Http404
        if not node:
                raise Http404
        except Node.DoesNotExist:
                raise Http404
        if not node:
                raise Http404
-       return node.instance.render_to_response(request, path=path)
+       if subpath and not node.accepts_subpath:
+               raise Http404
+       return node.render_to_response(request, path=path, subpath=subpath)