Lots of changes to fix lots of bugs and add comments to blog
[sommitrealweird.git] / sommitrealweird / bpcms / views.py
index d98fa8cf5e1ec2cc6c6ed5846bd1a2aa7ae7dc2c..9cb3e42e031b7ce7162df2a05a81bbc139dd2c68 100644 (file)
@@ -1,4 +1,4 @@
-from bpcms.models import Document, Folder
+from bpcms.models import CSSDocument, Document, Folder
 from django.http import Http404, HttpResponse
 from django.template import RequestContext, loader
 
@@ -27,20 +27,33 @@ def document_view(request, slug=None, folders=None):
 
     if folder != None:
         try:
-            doc = Document.objects.get(slug__exact=slug, islive__exact=True, folder__exact=folder)
+            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, folder__exact=folder)
         except:
             try:
                 folder = Folder.objects.get(slug__exact=slug, parent__exact=folder)
-                doc = Document.objects.get(slug__exact='index', islive__exact=True, folder__exact=folder)
+                if not request.user.is_authenticated():
+                    doc = Document.objects.get(slug__exact='index', islive__exact=True, folder__exact=folder)
+                else:
+                    doc = Document.objects.get(slug__exact='index', folder__exact=folder)
             except:
                 raise Http404
     else:
         try:
-            doc = Document.objects.get(slug__exact=slug, islive__exact=True, folder__isnull=True)
+            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)
         except:
             try:
                 folder = Folder.objects.get(slug__exact=slug, parent__isnull=True)
-                doc = Document.objects.get(slug__exact='index', islive__exact=True, folder__exact=folder)
+                if not request.user.is_authenticated():
+                    doc = Document.objects.get(slug__exact='index', islive__exact=True, folder__exact=folder)
+                else:
+                    doc = Document.objects.get(slug__exact='index', folder__exact=folder)
             except:
                 raise Http404
     template_name = "bpcms/%s.html" %(doc.format,)
@@ -49,5 +62,14 @@ def document_view(request, slug=None, folders=None):
         {
             "content"   : doc.content,
             "title"     : doc.title,
+            "extracss"  : doc.extracss.all(),
         })
     return HttpResponse(t.render(c))
+
+def css_view(request, slug):
+    cssdoc = CSSDocument.objects.get(slug=slug)
+    if not cssdoc:
+        raise Http404()
+
+    return HttpResponse(cssdoc.content, content_type="text/css")
+