]> git.sommitrealweird.co.uk Git - sommitrealweird.git/blobdiff - sommitrealweird/bpcms/views.py
Update for newer django
[sommitrealweird.git] / sommitrealweird / bpcms / views.py
index 365174305a6bf0ded27a901a499300f2d2a32906..82dfb563a176f026d5c453b58aa84755be62b3d8 100644 (file)
@@ -2,33 +2,43 @@ from bpcms.models import CSSDocument, Document, Folder
 from django.http import Http404, HttpResponse
 from django.shortcuts import render
 from django.template import RequestContext, loader
 from django.http import Http404, HttpResponse
 from django.shortcuts import render
 from django.template import RequestContext, loader
+import sys
 
 
-def document_view(request, slug=None, folders=None):
-    if folders == None and slug == None:
+def document_view(request, path = None):
+
+    if path == None:
         raise Http404()
 
         raise Http404()
 
+    folders = path.split("/")
+    slug = None
     folder = None
 
     if folders != None:
     folder = None
 
     if folders != None:
-        folders = folders.split('/')
         resfolder = None
         resfolder = None
-        for folder in folders:
+        prevfolder = None
+        for i,folder_name in enumerate(folders):
             try:
                 if resfolder:
             try:
                 if resfolder:
-                    resfolder = Folder.objects.get(slug__exact=folder, parent__exact=resfolder)
+                    resfolder = Folder.objects.get(slug__exact=folder_name, parent__exact=resfolder)
                 else:
                 else:
-                    resfolder = Folder.objects.get(slug__exact=folder, parent__isnull=True)
+                    resfolder = Folder.objects.get(slug__exact=folder_name, parent__isnull=True)
                 resfolder = resfolder.id
             except:
                 resfolder = resfolder.id
             except:
-                raise Http404
+                slug = folders[i]
+                folders = folders[:i]
+                break
         try:
         try:
-            folder = Folder.objects.get(pk=resfolder)
+            if resfolder != None:
+                folder = Folder.objects.get(pk=resfolder)
         except:
         except:
-            raise Http404
+            raise Http404("Badgers")
+
+    if slug == None:
+        slug = "index"
 
     if folder != None:
         try:
 
     if folder != None:
         try:
-            if not request.user.is_authenticated():
+            if not request.user.is_authenticated:
                 doc = Document.objects.get(slug__exact=slug, islive__exact=True, folder__exact=folder)
             else:
 
                 doc = Document.objects.get(slug__exact=slug, islive__exact=True, folder__exact=folder)
             else:
 
@@ -41,10 +51,10 @@ def document_view(request, slug=None, folders=None):
                 else:
                     doc = Document.objects.get(slug__exact='index', folder__exact=folder)
             except:
                 else:
                     doc = Document.objects.get(slug__exact='index', folder__exact=folder)
             except:
-                raise Http404
+                raise Http404(folder + "/" + slug)
     else:
         try:
     else:
         try:
-            if not request.user.is_authenticated():
+            if not request.user.is_authenticated:
                 doc = Document.objects.get(slug__exact=slug, islive__exact=True, folder__isnull=True)
             else:
                 doc = Document.objects.get(slug__exact=slug, folder__isnull=True)
                 doc = Document.objects.get(slug__exact=slug, islive__exact=True, folder__isnull=True)
             else:
                 doc = Document.objects.get(slug__exact=slug, folder__isnull=True)
@@ -56,7 +66,7 @@ def document_view(request, slug=None, folders=None):
                 else:
                     doc = Document.objects.get(slug__exact='index', folder__exact=folder)
             except:
                 else:
                     doc = Document.objects.get(slug__exact='index', folder__exact=folder)
             except:
-                raise Http404
+                raise Http404(slug)
     template_name = "bpcms/%s.html" %(doc.format,)
     c = {
             "content"   : doc.content,
     template_name = "bpcms/%s.html" %(doc.format,)
     c = {
             "content"   : doc.content,