|
|
@ -58,6 +58,7 @@ class FactsheetCreate(LoginRequiredMixin,CreateView): |
|
|
|
|
|
|
|
|
|
|
|
class CountyList(LoginRequiredMixin,ListView): |
|
|
|
""" Liste der Städte und Gemeinden """ |
|
|
|
model = County |
|
|
|
template_name ="backend/list.html" |
|
|
|
#fields = '__all__' |
|
|
@ -66,6 +67,7 @@ class CountyList(LoginRequiredMixin,ListView): |
|
|
|
#queryset = User.objects.all() # Default: Model.objects.all() |
|
|
|
|
|
|
|
class SearchResultsView(LoginRequiredMixin,ListView): |
|
|
|
""" Ergebnis der Suche """ |
|
|
|
model = County |
|
|
|
template_name = 'backend/search_results.html' |
|
|
|
|
|
|
@ -85,6 +87,7 @@ def index(request): |
|
|
|
|
|
|
|
@login_required |
|
|
|
def details(request,id): |
|
|
|
""" Detailseite für Gemeinde """ |
|
|
|
template="backend/population-details.html" |
|
|
|
try: |
|
|
|
county = County.objects.get(pk=id) |
|
|
@ -108,7 +111,9 @@ def details(request,id): |
|
|
|
# Create your views here.# one parameter named request |
|
|
|
@login_required |
|
|
|
def population_upload(request): # declaring template |
|
|
|
""" Upload der CSV-Datei """ |
|
|
|
template = "backend/counties_upload.html" |
|
|
|
startline=6 |
|
|
|
data = County.objects.all()# prompt is a context variable that can have different values depending on their context |
|
|
|
prompt = { |
|
|
|
'order': 'Reihenfolge der CSV sollte seien: gemeindeId, Name, Anzahl, männlich, weiblich', |
|
|
@ -127,8 +132,8 @@ def population_upload(request): # declaring template |
|
|
|
line_count=0 |
|
|
|
County.objects.all().delete() |
|
|
|
for column in csv.reader(io_string, delimiter=';', quotechar="|"): |
|
|
|
print (column) |
|
|
|
if line_count>8: |
|
|
|
#print (column) |
|
|
|
if line_count>startline: |
|
|
|
id = County.mkFull(column[0]) |
|
|
|
name = column[1].lstrip() |
|
|
|
_, created = County.objects.update_or_create( |
|
|
@ -149,6 +154,7 @@ def population_upload(request): # declaring template |
|
|
|
|
|
|
|
@login_required |
|
|
|
def showcalculation(request): |
|
|
|
""" Anzeige der berechneten Werte analog zu Excel-Tabelle """ |
|
|
|
template="backend/calculate.html" |
|
|
|
targetyear=2030 |
|
|
|
try: |
|
|
@ -156,11 +162,13 @@ def showcalculation(request): |
|
|
|
c=Calc(gemeindeId,targetyear) |
|
|
|
return render(request, template, c.calculate()) |
|
|
|
except: |
|
|
|
return HttpResponseNotFound('<h1>Error: wrong parameter?</h1>') |
|
|
|
c=Calc() |
|
|
|
return render(request, template, c.calculate()) |
|
|
|
|
|
|
|
|
|
|
|
@login_required |
|
|
|
def output(request): |
|
|
|
""" Ausgabe der Werte - wird im Backend nicht verwendet """ |
|
|
|
template="backend/output.html" |
|
|
|
|
|
|
|
try: |
|
|
|