+++ /dev/null
-from content.models import Document, Folder
-from django.http import Http404, HttpResponse
-from django.template import RequestContext, loader
-
-def document_view(request, slug=None, folders=None):
- if folders == None and slug == None:
- raise Http404()
-
- folder = None
-
- if folders != None:
- folders = folders.split('/')
- resfolder = None
- for folder in folders:
- try:
- if resfolder:
- resfolder = Folder.objects.get(slug__exact=folder, parent__exact=resfolder)
- else:
- resfolder = Folder.objects.get(slug__exact=folder, parent__isnull=True)
- resfolder = resfolder.id
- except:
- raise Http404
- try:
- folder = Folder.objects.get(pk=resfolder)
- except:
- raise Http404
-
- if folder != None:
- try:
- doc = Document.objects.get(slug__exact=slug, islive__exact=True, 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)
- except:
- raise Http404
- else:
- try:
- doc = Document.objects.get(slug__exact=slug, islive__exact=True, 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)
- except:
- raise Http404
- template_name = "%s.html" %(doc.format,)
- t = loader.get_template(template_name)
- c = RequestContext(request,
- {
- "content" : doc.content,
- "title" : doc.title,
- })
- return HttpResponse(t.render(c))