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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
from django.shortcuts import render, get_object_or_404
from django.template import RequestContext
from django.http import HttpResponse
from .models import Worker, Ware, Building, Tribe
def index(request):
tribes = Tribe.objects.all().order_by('displayname')
return render(request, 'wlhelp/index.html',
{'tribes': tribes, })
def ware_details(request, tribe, ware):
w = get_object_or_404(Ware, tribe__name=tribe, name=ware)
t = Tribe.objects.get(name=tribe)
return render(request, 'wlhelp/ware_details.html',
{'ware': w,
'tribe': t, })
def building_details(request, tribe, building):
b = get_object_or_404(Building, tribe__name=tribe, name=building)
t = Tribe.objects.get(name=tribe)
return render(request, 'wlhelp/building_details.html',
{'building': b,
'tribe': t, })
def worker_details(request, tribe, worker):
w = get_object_or_404(Worker, tribe__name=tribe, name=worker)
t = Tribe.objects.get(name=tribe)
return render(request, 'wlhelp/worker_details.html',
{'worker': w,
'tribe': t, })
def workers(request, tribe='barbarians'):
t = get_object_or_404(Tribe, name=tribe)
return render(request, 'wlhelp/workers.html',
{'workers': Worker.objects.filter(tribe=t).order_by('displayname'),
'tribe': t, })
def wares(request, tribe='barbarians'):
t = get_object_or_404(Tribe, name=tribe)
return render(request, 'wlhelp/wares.html',
{'wares': Ware.objects.filter(tribe=t).order_by('displayname'),
'tribe': t, })
def buildings(request, tribe='barbarians'):
t = get_object_or_404(Tribe, name=tribe)
# Request all the objects
buildings = {}
# All headquarters
buildings['headquarters'] = Building.objects.filter(
size='H', tribe=t).order_by('displayname')
# Now, all small buildings
small = Building.objects.filter(size='S', tribe=t).order_by('displayname')
buildings['small'] = small.filter(enhanced_from=None)
buildings['small_enhanced'] = small.exclude(enhanced_from=None)
# Now, all medium buildings
medium = Building.objects.filter(size='M', tribe=t).order_by('displayname')
buildings['medium'] = medium.filter(enhanced_from=None)
buildings['medium_enhanced'] = medium.exclude(enhanced_from=None)
# Now, all big buildings
big = Building.objects.filter(size='B', tribe=t).order_by('displayname')
buildings['big'] = big.filter(enhanced_from=None)
buildings['big_enhanced'] = big.exclude(enhanced_from=None)
# Now, all mines
mine = Building.objects.filter(size='I', tribe=t).order_by('displayname')
buildings['mine'] = mine.filter(enhanced_from=None)
buildings['mine_enhanced'] = mine.exclude(enhanced_from=None)
# Now, all ports
port = Building.objects.filter(size='P', tribe=t).order_by('displayname')
buildings['port'] = port.filter(enhanced_from=None)
buildings['port_enhanced'] = port.exclude(enhanced_from=None)
return render(request, 'wlhelp/buildings.html',
{'buildings': buildings,
'tribe': t, })
|