-from bpcms.models import Document, Folder
+from bpcms.models import CSSDocument, Document, Folder
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:
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:
+ sys.stderr.write("Unexpected error:", sys.exc_info()[0])
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,)
- t = loader.get_template(template_name)
- c = RequestContext(request,
- {
+ c = {
"content" : doc.content,
"title" : doc.title,
- })
- return HttpResponse(t.render(c))
+ "extracss" : doc.extracss.all(),
+ }
+ return render(request, template_name, 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")
+