diff --git a/engine/apps/api/tests/test_features.py b/engine/apps/api/tests/test_features.py index 30b37944..6fe5c444 100644 --- a/engine/apps/api/tests/test_features.py +++ b/engine/apps/api/tests/test_features.py @@ -9,6 +9,7 @@ from apps.api.views.features import ( FEATURE_LIVE_SETTINGS, FEATURE_SLACK, FEATURE_TELEGRAM, + FEATURE_WEB_SCHEDULES, ) @@ -42,6 +43,7 @@ def test_select_features_all_enabled( settings.FEATURE_LIVE_SETTINGS_ENABLED = True settings.FEATURE_GRAFANA_CLOUD_CONNECTION = True settings.FEATURE_GRAFANA_CLOUD_NOTIFICATIONS = True + settings.FEATURE_WEB_SCHEDULES_ENABLED = True client = APIClient() url = reverse("api-internal:features") response = client.get(url, format="json", **make_user_auth_headers(user, token)) @@ -53,6 +55,7 @@ def test_select_features_all_enabled( FEATURE_GRAFANA_CLOUD_CONNECTION, FEATURE_LIVE_SETTINGS, FEATURE_GRAFANA_CLOUD_NOTIFICATIONS, + FEATURE_WEB_SCHEDULES, ] @@ -69,6 +72,7 @@ def test_select_features_all_disabled( settings.FEATURE_LIVE_SETTINGS_ENABLED = False settings.FEATURE_GRAFANA_CLOUD_CONNECTION = False settings.FEATURE_GRAFANA_CLOUD_NOTIFICATIONS = FEATURE_GRAFANA_CLOUD_NOTIFICATIONS + settings.FEATURE_WEB_SCHEDULES_ENABLED = False client = APIClient() url = reverse("api-internal:features") response = client.get(url, format="json", **make_user_auth_headers(user, token)) diff --git a/engine/apps/api/views/features.py b/engine/apps/api/views/features.py index 805308a9..fc56ca93 100644 --- a/engine/apps/api/views/features.py +++ b/engine/apps/api/views/features.py @@ -12,6 +12,7 @@ FEATURE_LIVE_SETTINGS = "live_settings" MOBILE_APP_PUSH_NOTIFICATIONS = "mobile_app" FEATURE_GRAFANA_CLOUD_NOTIFICATIONS = "grafana_cloud_notifications" FEATURE_GRAFANA_CLOUD_CONNECTION = "grafana_cloud_connection" +FEATURE_WEB_SCHEDULES = "web_schedules" class FeaturesAPIView(APIView): @@ -56,4 +57,7 @@ class FeaturesAPIView(APIView): if live_settings.GRAFANA_CLOUD_NOTIFICATIONS_ENABLED: enabled_features.append(FEATURE_GRAFANA_CLOUD_NOTIFICATIONS) + if settings.FEATURE_WEB_SCHEDULES_ENABLED: + enabled_features.append(FEATURE_WEB_SCHEDULES) + return enabled_features diff --git a/engine/settings/base.py b/engine/settings/base.py index 1d3876b6..610bedc9 100644 --- a/engine/settings/base.py +++ b/engine/settings/base.py @@ -52,6 +52,7 @@ FEATURE_LIVE_SETTINGS_ENABLED = getenv_boolean("FEATURE_LIVE_SETTINGS_ENABLED", FEATURE_TELEGRAM_INTEGRATION_ENABLED = getenv_boolean("FEATURE_TELEGRAM_INTEGRATION_ENABLED", default=True) FEATURE_EMAIL_INTEGRATION_ENABLED = getenv_boolean("FEATURE_EMAIL_INTEGRATION_ENABLED", default=False) FEATURE_SLACK_INTEGRATION_ENABLED = getenv_boolean("FEATURE_SLACK_INTEGRATION_ENABLED", default=True) +FEATURE_WEB_SCHEDULES_ENABLED = getenv_boolean("FEATURE_WEB_SCHEDULES_ENABLED", default=False) GRAFANA_CLOUD_ONCALL_HEARTBEAT_ENABLED = getenv_boolean("GRAFANA_CLOUD_ONCALL_HEARTBEAT_ENABLED", default=True) GRAFANA_CLOUD_NOTIFICATIONS_ENABLED = getenv_boolean("GRAFANA_CLOUD_NOTIFICATIONS_ENABLED", default=True)