summaryrefslogtreecommitdiff
path: root/website/views.py
blob: 5bf6790edb6b8c43c81fc903ba586ba0d7455602 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
from django.http import HttpResponse
from django.shortcuts import render, render_to_response, get_object_or_404

from website.models import Nav, Page, Block

def block_sort(obj):
	linkboxes = obj.linkbox_set.all()
	textboxes = obj.textbox_set.all()

	items = []
	for item in linkboxes:
		items.append(item)

	for item in textboxes:
		items.append(item)

	def get_pos(x): return x.position
	items = sorted(items, key=get_pos)
	return items

def get_blocks():
    sidebar = Block.objects.get(block_name = "sidebar")
    footer = Block.objects.get(block_name = "footer")
    blocks = {
        'navs': Nav.objects.order_by('position'),
        'sidebar': block_sort(sidebar),
        'footer': block_sort(footer)
    }
    return blocks

def dispatcher(request, permalink=''):
    if permalink == '':
        permalink = 'home'

    page = get_object_or_404(Page, permalink=permalink)
    blocks = get_blocks()
    context = {
		'page': page,
		'navs': blocks['navs'],
		'sidebar': blocks['sidebar'],
		'footer': blocks['footer'],
		'permalink': permalink
	}
    return render(request, 'website/templates/page.html', context)