X-Git-Url: https://git.sommitrealweird.co.uk/sommitrealweird.git/blobdiff_plain/56b2cdf3569443cf4504fe085de9db0466dcd09f..29f2eef0ba05968f84c3afad30e1fa105fc56ed3:/sommitrealweird/bpcms/views.py diff --git a/sommitrealweird/bpcms/views.py b/sommitrealweird/bpcms/views.py index d98fa8c..e0087c8 100644 --- a/sommitrealweird/bpcms/views.py +++ b/sommitrealweird/bpcms/views.py @@ -1,6 +1,8 @@ -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: @@ -27,27 +29,48 @@ 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: + 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") +