diff --git a/src/servala/core/models/organization.py b/src/servala/core/models/organization.py index 32dc12e..84453b9 100644 --- a/src/servala/core/models/organization.py +++ b/src/servala/core/models/organization.py @@ -146,12 +146,31 @@ class Organization(ServalaModelMixin, models.Model): def get_visible_services(self): from servala.core.models import Service + queryset = Service.objects.all() + if self.limit_osb_services.exists(): + queryset = self.limit_osb_services.all() + if self.limit_cloudproviders.exists(): + allowed_providers = self.limit_cloudproviders.all() + queryset = queryset.filter( + offerings__provider__in=allowed_providers + ).distinct() + return queryset.prefetch_related( + "offerings", "offerings__provider" + ).select_related("category") + + def get_deactivated_services(self): + from servala.core.models import Service + + if not self.limit_osb_services.exists(): + return Service.objects.none() + queryset = Service.objects.select_related("category") if self.limit_cloudproviders.exists(): allowed_providers = self.limit_cloudproviders.all() queryset = queryset.filter( offerings__provider__in=allowed_providers ).distinct() + queryset = queryset.exclude(id__in=self.limit_osb_services.all()) return queryset.prefetch_related("offerings", "offerings__provider") class Meta: diff --git a/src/servala/frontend/templates/frontend/organizations/services.html b/src/servala/frontend/templates/frontend/organizations/services.html index 3a48ff9..4b8c95a 100644 --- a/src/servala/frontend/templates/frontend/organizations/services.html +++ b/src/servala/frontend/templates/frontend/organizations/services.html @@ -16,40 +16,9 @@ -
{{ service.description|urlize }}
{% endif %} -+ + {% translate "These services need to be enabled on Exoscale first before they become available in the Servala portal." %} +
+{{ service.description|urlize }}
{% endif %} +