Docker Image and first iteration

This commit is contained in:
boris committed 2026-06-02 12:27:54 +02:00
1 parent 723b64b1c4
commit bd9209ebb7
40 files changed
+26643

No files matched your search

+51
View File
@@ -0,0 +1,51 @@
from django.http import JsonResponse
from django.shortcuts import render
from .models import PortfolioEntry, Region
def home(request):
return render(request, "showcase/home.html")
def _serialize_entry(entry):
return {
"id": entry.id,
"type": entry.entry_type,
"title": entry.title,
"organization": entry.organization,
"startDate": entry.start_date.isoformat() if entry.start_date else None,
"endDate": entry.end_date.isoformat() if entry.end_date else None,
"summary": entry.summary,
"url": entry.url,
}
def map_regions(request):
entries = PortfolioEntry.objects.filter(is_published=True).prefetch_related("regions")
entries_by_region = {}
for entry in entries:
payload = _serialize_entry(entry)
for region in entry.regions.all():
entries_by_region.setdefault(region.code, {})[entry.id] = payload
regions = list(Region.objects.select_related("parent").prefetch_related("subdivisions"))
payload = []
for region in regions:
related = dict(entries_by_region.get(region.code, {}))
if region.level == Region.Level.COUNTRY:
for subdivision in region.subdivisions.all():
related.update(entries_by_region.get(subdivision.code, {}))
payload.append(
{
"code": region.code,
"name": region.name,
"level": region.level,
"parentCode": region.parent_id,
"entries": list(related.values()),
}
)
return JsonResponse({"regions": payload})