Skip to content

Commit 5776cd1

Browse files
committed
feat: Check for link configuration
1 parent b6f1470 commit 5776cd1

File tree

4 files changed

+59
-28
lines changed

4 files changed

+59
-28
lines changed

djangocms_frontend/apps.py

Lines changed: 47 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ def ready(self):
1010
from . import plugin_tag
1111

1212
checks.register(check_settings)
13+
checks.register(check_installed_apps)
1314
plugin_tag.setup()
1415

1516

@@ -19,21 +20,51 @@ def check_settings(*args, **kwargs):
1920
warnings = []
2021

2122
if hasattr(settings, "DJANGOCMS_FRONTEND_MINIMUM_INPUT_LENGTH"): # pragma: no cover
22-
warnings.append(checks.Warning(
23-
"The DJANGOCMS_FRONTEND_MINIMUM_INPUT_LENGTH setting was removed in djangocms-frontend 2.\n"
24-
"Use DJANGOCMS_LINK_MINIMUM_INPUT_LENGTH instead.",
25-
"This message disappears after removing the DJANGOCMS_FRONTEND_MINIMUM_INPUT_LENGTH from your project's "
26-
"settings.\n",
27-
id="djangocms_frontend.W001",
28-
obj="settings.DJANGOCMS_FRONTEND_MINIMUM_INPUT_LENGTH",
29-
))
23+
warnings.append(
24+
checks.Warning(
25+
"The DJANGOCMS_FRONTEND_MINIMUM_INPUT_LENGTH setting was removed in djangocms-frontend 2.\n"
26+
"Use DJANGOCMS_LINK_MINIMUM_INPUT_LENGTH instead.",
27+
"This message disappears after removing the DJANGOCMS_FRONTEND_MINIMUM_INPUT_LENGTH from "
28+
"your project's settings.\n",
29+
id="djangocms_frontend.W001",
30+
obj="settings.DJANGOCMS_FRONTEND_MINIMUM_INPUT_LENGTH",
31+
)
32+
)
3033
if hasattr(settings, "DJANGOCMS_FRONTEND_LINK_MODELS"): # pragma: no cover
31-
warnings.append(checks.Warning(
32-
"The DJANGOCMS_FRONTEND_LINK_MODELS setting was removed in djangocms-frontend 2.\n"
33-
"djangocms-frontend 2 uses linkable models from djangocms-link. See "
34-
"https://github.com/django-cms/djangocms-link#django-cms-link for more info.",
35-
"This message disappears after removing the DJANGOCMS_FRONTEND_LINK_MODELS from your project's settings.\n",
36-
id="djangocms_frontend.W002",
37-
obj="settings.DJANGOCMS_FRONTEND_LINK_MODELS",
38-
))
34+
warnings.append(
35+
checks.Warning(
36+
"The DJANGOCMS_FRONTEND_LINK_MODELS setting was removed in djangocms-frontend 2.\n"
37+
"djangocms-frontend 2 uses linkable models from djangocms-link. See "
38+
"https://github.com/django-cms/djangocms-link#django-cms-link for more info.",
39+
"This message disappears after removing the DJANGOCMS_FRONTEND_LINK_MODELS from your "
40+
"project's settings.\n",
41+
id="djangocms_frontend.W002",
42+
obj="settings.DJANGOCMS_FRONTEND_LINK_MODELS",
43+
)
44+
)
3945
return warnings
46+
47+
48+
def check_installed_apps(app_configs, **kwargs):
49+
from django.conf import settings
50+
51+
errors = []
52+
link_contrib_apps = [
53+
"djangocms_frontend.contrib.carousel",
54+
"djangocms_frontend.contrib.image",
55+
"djangocms_frontend.contrib.link",
56+
]
57+
58+
if any(app in settings.INSTALLED_APPS for app in link_contrib_apps):
59+
if "djangocms_link" not in settings.INSTALLED_APPS: # pragma: no cover
60+
errors.append(
61+
checks.Error(
62+
"djangocms-frontend requires djangocms-link to be installed for the following plugins: {}.\n"
63+
"Add 'djangocms_link' to your INSTALLED_APPS setting or remove all of the above apps.".format(
64+
", ".join(link_contrib_apps)
65+
),
66+
id="djangocms_frontend.E001",
67+
obj="settings.INSTALLED_APPS",
68+
)
69+
)
70+
return errors

djangocms_frontend/static/djangocms_frontend/css/base.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

private/sass/components/_tabs.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
}
55

66
ul.nav {
7-
&:has(> li ~ div) {
7+
&:not(:has(> li:nth-child(2))) {
88
// Hide single tab
99
display: none;
1010
}

pyproject.toml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
[tool.black]
2-
exclude = [
3-
".git",
4-
".hg",
5-
".tox",
6-
"venv",
7-
".venv",
8-
"_build",
9-
"build",
10-
"dist",
11-
]
2+
exclude = '''
3+
.git
4+
.hg
5+
.tox
6+
venv
7+
.venv
8+
_build
9+
build
10+
dist
11+
'''
1212

1313
[tool.ruff]
1414
line-length = 119

0 commit comments

Comments
 (0)