proper service ordering on list view

This commit is contained in:
Tobias Brunner 2025-03-03 17:45:28 +01:00
parent 66c5d1f8c2
commit 5157d7c781
No known key found for this signature in database

View file

@ -35,6 +35,13 @@ def service_list(request):
# Filter through offerings instead of direct cloud_providers relation
services = services.filter(offerings__cloud_provider__id=cloud_provider_id)
# Order services: featured first, then regular services, then coming soon
services = services.order_by(
"-is_featured", # Featured first (True before False)
"is_coming_soon", # Coming soon last (False before True)
"name", # Alphabetically within each group
)
# Get all available categories from filtered services
available_category_ids = services.values_list(
"categories__id", flat=True
@ -109,15 +116,9 @@ def service_list(request):
context = {
"services": services,
"categories": Category.objects.filter(
parent=None
), # Keep original for reference if needed
"consulting_partners": ConsultingPartner.objects.filter(
disable_listing=False
), # Keep original but filter out disabled
"cloud_providers": CloudProvider.objects.filter(
disable_listing=False
), # Keep original but filter out disabled
"categories": Category.objects.filter(parent=None),
"consulting_partners": ConsultingPartner.objects.filter(disable_listing=False),
"cloud_providers": CloudProvider.objects.filter(disable_listing=False),
"available_categories": available_categories,
"available_consulting_partners": available_consulting_partners,
"available_cloud_providers": available_cloud_providers,