Skip to content

Commit af039d0

Browse files
committed
🔧(backend) add CRISP_WEBSITE_ID setting
Add setting CRISP_WEBSITE_ID. This setting is used to configure the Crisp chat widget. It will be available to the conf endpoint, to be used by the frontend.
1 parent 4c9caf0 commit af039d0

File tree

3 files changed

+14
-26
lines changed

3 files changed

+14
-26
lines changed

src/backend/core/api/viewsets.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -902,6 +902,7 @@ def get(self, request):
902902
"""
903903
array_settings = [
904904
"COLLABORATION_SERVER_URL",
905+
"CRISP_WEBSITE_ID",
905906
"ENVIRONMENT",
906907
"FRONTEND_THEME",
907908
"MEDIA_BASE_URL",

src/backend/core/tests/test_api_config.py

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -17,47 +17,29 @@
1717

1818
@override_settings(
1919
COLLABORATION_SERVER_URL="http://testcollab/",
20+
CRISP_WEBSITE_ID="123",
2021
FRONTEND_THEME="test-theme",
2122
MEDIA_BASE_URL="http://testserver/",
2223
SENTRY_DSN="https://sentry.test/123",
2324
)
24-
def test_api_config_anonymous():
25+
@pytest.mark.parametrize("is_authenticated", [False, True])
26+
def test_api_config(is_authenticated):
2527
"""Anonymous users should be allowed to get the configuration."""
2628
client = APIClient()
27-
response = client.get("/api/v1.0/config/")
28-
assert response.status_code == HTTP_200_OK
29-
assert response.json() == {
30-
"COLLABORATION_SERVER_URL": "http://testcollab/",
31-
"ENVIRONMENT": "test",
32-
"FRONTEND_THEME": "test-theme",
33-
"LANGUAGES": [["en-us", "English"], ["fr-fr", "French"], ["de-de", "German"]],
34-
"LANGUAGE_CODE": "en-us",
35-
"MEDIA_BASE_URL": "http://testserver/",
36-
"SENTRY_DSN": "https://sentry.test/123",
37-
}
3829

39-
40-
@override_settings(
41-
COLLABORATION_SERVER_URL="http://testcollab/",
42-
FRONTEND_THEME="test-theme",
43-
MEDIA_BASE_URL="http://testserver/",
44-
SENTRY_DSN="https://sentry.test/123",
45-
)
46-
def test_api_config_authenticated():
47-
"""Authenticated users should be allowed to get the configuration."""
48-
user = factories.UserFactory()
49-
50-
client = APIClient()
51-
client.force_login(user)
30+
if is_authenticated:
31+
user = factories.UserFactory()
32+
client.force_login(user)
5233

5334
response = client.get("/api/v1.0/config/")
5435
assert response.status_code == HTTP_200_OK
5536
assert response.json() == {
5637
"COLLABORATION_SERVER_URL": "http://testcollab/",
38+
"CRISP_WEBSITE_ID": "123",
5739
"ENVIRONMENT": "test",
5840
"FRONTEND_THEME": "test-theme",
59-
"MEDIA_BASE_URL": "http://testserver/",
6041
"LANGUAGES": [["en-us", "English"], ["fr-fr", "French"], ["de-de", "German"]],
6142
"LANGUAGE_CODE": "en-us",
43+
"MEDIA_BASE_URL": "http://testserver/",
6244
"SENTRY_DSN": "https://sentry.test/123",
6345
}

src/backend/impress/settings.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,11 @@ class Base(Configuration):
381381
None, environ_name="FRONTEND_THEME", environ_prefix=None
382382
)
383383

384+
# Crisp
385+
CRISP_WEBSITE_ID = values.Value(
386+
None, environ_name="CRISP_WEBSITE_ID", environ_prefix=None
387+
)
388+
384389
# Easy thumbnails
385390
THUMBNAIL_EXTENSION = "webp"
386391
THUMBNAIL_TRANSPARENCY_EXTENSION = "webp"

0 commit comments

Comments
 (0)