refactor views into separate files

This commit is contained in:
Tobias Brunner 2025-01-30 09:49:27 +01:00
parent bb5cb708bd
commit a01775c1e2
No known key found for this signature in database
8 changed files with 350 additions and 323 deletions

View file

@ -0,0 +1,49 @@
from django.shortcuts import render, get_object_or_404
from django.db.models import Q
from services.models import (
ConsultingPartner,
CloudProvider,
)
def partner_list(request):
partners = ConsultingPartner.objects.all().prefetch_related(
"services", "cloud_providers"
)
# Handle cloud provider filter
if request.GET.get("cloud_provider"):
provider_id = request.GET.get("cloud_provider")
partners = partners.filter(cloud_providers__id=provider_id)
# Handle search
if request.GET.get("search"):
query = request.GET.get("search")
partners = partners.filter(
Q(name__icontains=query) | Q(description__icontains=query)
)
context = {
"partners": partners,
"cloud_providers": CloudProvider.objects.all(),
}
return render(request, "services/partner_list.html", context)
def partner_detail(request, slug):
partner = get_object_or_404(
ConsultingPartner.objects.prefetch_related(
"services",
"services__categories",
"services__offerings",
"services__offerings__cloud_provider",
"cloud_providers",
),
slug=slug,
)
context = {
"partner": partner,
"services": partner.services.all(),
}
return render(request, "services/partner_detail.html", context)