diff --git a/hub/services/migrations/0016_cloudprovider_disable_listing_and_more.py b/hub/services/migrations/0016_cloudprovider_disable_listing_and_more.py new file mode 100644 index 0000000..63958a0 --- /dev/null +++ b/hub/services/migrations/0016_cloudprovider_disable_listing_and_more.py @@ -0,0 +1,33 @@ +# Generated by Django 5.1.5 on 2025-03-03 10:29 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("services", "0015_cloudprovider_address_cloudprovider_email_and_more"), + ] + + operations = [ + migrations.AddField( + model_name="cloudprovider", + name="disable_listing", + field=models.BooleanField(default=False), + ), + migrations.AddField( + model_name="consultingpartner", + name="disable_listing", + field=models.BooleanField(default=False), + ), + migrations.AddField( + model_name="service", + name="disable_listing", + field=models.BooleanField(default=False), + ), + migrations.AddField( + model_name="serviceoffering", + name="disable_listing", + field=models.BooleanField(default=False), + ), + ] diff --git a/hub/services/models.py b/hub/services/models.py index 4b818df..7035fd3 100644 --- a/hub/services/models.py +++ b/hub/services/models.py @@ -98,6 +98,7 @@ class CloudProvider(models.Model): blank=True, ) is_featured = models.BooleanField(default=False) + disable_listing = models.BooleanField(default=False) def __str__(self): return self.name @@ -125,6 +126,8 @@ class Service(models.Model): features = ProseEditorField() is_featured = models.BooleanField(default=False) is_coming_soon = models.BooleanField(default=False) + disable_listing = models.BooleanField(default=False) + created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) @@ -176,6 +179,8 @@ class ConsultingPartner(models.Model): ) is_featured = models.BooleanField(default=False) + disable_listing = models.BooleanField(default=False) + created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) @@ -207,6 +212,8 @@ class ServiceOffering(models.Model): null=True, ) + disable_listing = models.BooleanField(default=False) + created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) diff --git a/hub/services/views/offerings.py b/hub/services/views/offerings.py index 62257e2..2414c51 100644 --- a/hub/services/views/offerings.py +++ b/hub/services/views/offerings.py @@ -5,7 +5,7 @@ from hub.services.models import ServiceOffering, CloudProvider, Category, Servic def offering_list(request): offerings = ( - ServiceOffering.objects.all() + ServiceOffering.objects.filter(disable_listing=False) .order_by("service") .select_related("service", "cloud_provider") .prefetch_related( diff --git a/hub/services/views/partners.py b/hub/services/views/partners.py index 9c88009..1ed9cca 100644 --- a/hub/services/views/partners.py +++ b/hub/services/views/partners.py @@ -5,7 +5,7 @@ from hub.services.models import ConsultingPartner, CloudProvider, Service def partner_list(request): partners = ( - ConsultingPartner.objects.all() + ConsultingPartner.objects.filter(disable_listing=False) .order_by("name") .prefetch_related("services", "cloud_providers") ) diff --git a/hub/services/views/providers.py b/hub/services/views/providers.py index 61d2021..84d5df1 100644 --- a/hub/services/views/providers.py +++ b/hub/services/views/providers.py @@ -8,7 +8,7 @@ from hub.services.models import ( def provider_list(request): providers = ( - CloudProvider.objects.all() + CloudProvider.objects.filter(disable_listing=False) .order_by("name") .prefetch_related("offerings", "consulting_partners") ) diff --git a/hub/services/views/services.py b/hub/services/views/services.py index 1e00576..4243697 100644 --- a/hub/services/views/services.py +++ b/hub/services/views/services.py @@ -10,7 +10,7 @@ from hub.services.models import ( def service_list(request): services = ( - Service.objects.all() + Service.objects.filter(disable_listing=False) .order_by("-is_featured", "is_coming_soon", "name") .prefetch_related( "categories",