From 5bad139d0306c4e3fbb8546e8b75b534689de0ca Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Mon, 17 Mar 2025 09:18:54 +0100 Subject: [PATCH 1/2] correct ordering of services in provider --- hub/services/admin.py | 9 ++++++++- .../templates/services/provider_detail.html | 2 +- hub/services/views/providers.py | 20 ++++++++++++++++++- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/hub/services/admin.py b/hub/services/admin.py index 314f479..d2db897 100644 --- a/hub/services/admin.py +++ b/hub/services/admin.py @@ -101,7 +101,14 @@ class ExternalLinkInline(admin.TabularInline): @admin.register(Service) class ServiceAdmin(admin.ModelAdmin): - list_display = ("name", "logo_preview", "category_list", "partner_list") + list_display = ( + "name", + "logo_preview", + "category_list", + "is_featured", + "is_coming_soon", + "disable_listing", + ) list_filter = ("categories",) search_fields = ("name", "description", "slug") prepopulated_fields = {"slug": ("name",)} diff --git a/hub/services/templates/services/provider_detail.html b/hub/services/templates/services/provider_detail.html index ae61b0b..2d64770 100644 --- a/hub/services/templates/services/provider_detail.html +++ b/hub/services/templates/services/provider_detail.html @@ -145,7 +145,7 @@

Available Services

- {% for offering in provider.offerings.all %} + {% for offering in ordered_offerings %}
{% if offering.service.logo or offering.service.is_featured %} diff --git a/hub/services/views/providers.py b/hub/services/views/providers.py index 92eba64..ed35652 100644 --- a/hub/services/views/providers.py +++ b/hub/services/views/providers.py @@ -2,6 +2,7 @@ from django.shortcuts import render, get_object_or_404 from django.db.models import Q from hub.services.models import ( Service, + ServiceOffering, CloudProvider, ) @@ -39,13 +40,30 @@ def provider_detail(request, slug): # Get all services offered by this provider through offerings services = ( - Service.objects.filter(offerings__cloud_provider=provider) + Service.objects.filter( + offerings__cloud_provider=provider, disable_listing=False + ) .distinct() .prefetch_related("categories") ) + # Get the provider's offerings and sort them by service attributes + # Exclude offerings with disabled services + ordered_offerings = ( + ServiceOffering.objects.filter( + cloud_provider=provider, service__disable_listing=False + ) + .select_related("service") + .order_by( + "-service__is_featured", # Featured first (True before False) + "service__is_coming_soon", # Coming soon last (False before True) + "service__name", # Alphabetically within each group + ) + ) + context = { "provider": provider, "services": services, + "ordered_offerings": ordered_offerings, } return render(request, "services/provider_detail.html", context) From ad3f06d6ff8e81ffaf83545799dfb71dfd80bc09 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Mon, 17 Mar 2025 09:24:07 +0100 Subject: [PATCH 2/2] deploy to night maint nodes --- deployment/deployment.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/deployment/deployment.yaml b/deployment/deployment.yaml index 5c173d3..3afa58e 100644 --- a/deployment/deployment.yaml +++ b/deployment/deployment.yaml @@ -16,6 +16,8 @@ spec: labels: app: servala spec: + nodeSelector: + appuio.io/node-class: nokto imagePullSecrets: - name: gitlab-pull-secret containers: