diff --git a/docs/env.md b/docs/env.md index 767952fa..22bc601f 100644 --- a/docs/env.md +++ b/docs/env.md @@ -47,6 +47,11 @@ These are the environmental variables you can set for the impress-backend contai | COLLABORATION_API_URL | collaboration api host | | | COLLABORATION_SERVER_SECRET | collaboration api secret | | | COLLABORATION_WS_URL | collaboration websocket url | | +| FRONTEND_CSS_URL | To add a external css file to the app | | +| FRONTEND_HOMEPAGE_FEATURE_ENABLED | frontend feature flag to display the homepage | false | +| FRONTEND_FOOTER_FEATURE_ENABLED | frontend feature flag to display the footer | false | +| FRONTEND_FOOTER_VIEW_CACHE_TIMEOUT | Cache duration of the json footer | 86400 | +| FRONTEND_URL_JSON_FOOTER | Url with a json to configure the footer | | | FRONTEND_THEME | frontend theme to use | | | POSTHOG_KEY | posthog key for analytics | | | CRISP_WEBSITE_ID | crisp website id for support | | diff --git a/env.d/development/common.dist b/env.d/development/common.dist index 451a40a7..471f5aee 100644 --- a/env.d/development/common.dist +++ b/env.d/development/common.dist @@ -64,5 +64,6 @@ COLLABORATION_WS_URL=ws://localhost:4444/collaboration/ws/ # Frontend FRONTEND_THEME=default +FRONTEND_HOMEPAGE_FEATURE_ENABLED=True FRONTEND_FOOTER_FEATURE_ENABLED=True FRONTEND_URL_JSON_FOOTER=http://frontend:3000/contents/footer-demo.json diff --git a/src/backend/core/api/viewsets.py b/src/backend/core/api/viewsets.py index 9f8a1255..685cfb83 100644 --- a/src/backend/core/api/viewsets.py +++ b/src/backend/core/api/viewsets.py @@ -1692,6 +1692,7 @@ class ConfigView(drf.views.APIView): "CRISP_WEBSITE_ID", "ENVIRONMENT", "FRONTEND_CSS_URL", + "FRONTEND_HOMEPAGE_FEATURE_ENABLED", "FRONTEND_FOOTER_FEATURE_ENABLED", "FRONTEND_THEME", "MEDIA_BASE_URL", diff --git a/src/backend/core/tests/test_api_config.py b/src/backend/core/tests/test_api_config.py index e6adb1ae..8ce579e2 100644 --- a/src/backend/core/tests/test_api_config.py +++ b/src/backend/core/tests/test_api_config.py @@ -19,6 +19,7 @@ pytestmark = pytest.mark.django_db COLLABORATION_WS_URL="http://testcollab/", CRISP_WEBSITE_ID="123", FRONTEND_CSS_URL="http://testcss/", + FRONTEND_HOMEPAGE_FEATURE_ENABLED=True, FRONTEND_FOOTER_FEATURE_ENABLED=True, FRONTEND_THEME="test-theme", MEDIA_BASE_URL="http://testserver/", @@ -41,6 +42,7 @@ def test_api_config(is_authenticated): "CRISP_WEBSITE_ID": "123", "ENVIRONMENT": "test", "FRONTEND_CSS_URL": "http://testcss/", + "FRONTEND_HOMEPAGE_FEATURE_ENABLED": True, "FRONTEND_FOOTER_FEATURE_ENABLED": True, "FRONTEND_THEME": "test-theme", "LANGUAGES": [ diff --git a/src/backend/impress/settings.py b/src/backend/impress/settings.py index 9d825095..55e7909b 100755 --- a/src/backend/impress/settings.py +++ b/src/backend/impress/settings.py @@ -410,6 +410,11 @@ class Base(Configuration): FRONTEND_THEME = values.Value( None, environ_name="FRONTEND_THEME", environ_prefix=None ) + FRONTEND_HOMEPAGE_FEATURE_ENABLED = values.BooleanValue( + default=False, + environ_name="FRONTEND_HOMEPAGE_FEATURE_ENABLED", + environ_prefix=None, + ) FRONTEND_URL_JSON_FOOTER = values.Value( None, environ_name="FRONTEND_URL_JSON_FOOTER", environ_prefix=None ) diff --git a/src/frontend/apps/e2e/__tests__/app-impress/config.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/config.spec.ts index c0415665..c2f3d3d1 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/config.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/config.spec.ts @@ -10,6 +10,7 @@ const config = { COLLABORATION_WS_URL: 'ws://localhost:4444/collaboration/ws/', ENVIRONMENT: 'development', FRONTEND_CSS_URL: null, + FRONTEND_HOMEPAGE_FEATURE_ENABLED: true, FRONTEND_FOOTER_FEATURE_ENABLED: true, FRONTEND_THEME: 'default', MEDIA_BASE_URL: 'http://localhost:8083', diff --git a/src/helm/env.d/dev/values.impress.yaml.gotmpl b/src/helm/env.d/dev/values.impress.yaml.gotmpl index 25728d04..b3a5e410 100644 --- a/src/helm/env.d/dev/values.impress.yaml.gotmpl +++ b/src/helm/env.d/dev/values.impress.yaml.gotmpl @@ -50,6 +50,7 @@ backend: DB_USER: dinum DB_PASSWORD: pass DB_PORT: 5432 + FRONTEND_HOMEPAGE_FEATURE_ENABLED: true FRONTEND_FOOTER_FEATURE_ENABLED: true FRONTEND_URL_JSON_FOOTER: https://impress.127.0.0.1.nip.io/contents/footer-demo.json POSTGRES_DB: impress