Skip to content

Commit a6a2025

Browse files
committed
remove link plugin if frontend link is used
1 parent 5776cd1 commit a6a2025

File tree

2 files changed

+18
-15
lines changed

2 files changed

+18
-15
lines changed

djangocms_frontend/apps.py

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,31 +9,29 @@ class DjangocmsFrontendConfig(apps.AppConfig):
99
def ready(self):
1010
from . import plugin_tag
1111

12+
plugin_tag.setup()
1213
checks.register(check_settings)
1314
checks.register(check_installed_apps)
14-
plugin_tag.setup()
1515

1616

17-
def check_settings(*args, **kwargs):
17+
def check_settings(*args, **kwargs): # pragma: no cover
1818
from django.conf import settings
1919

2020
warnings = []
2121

22-
if hasattr(settings, "DJANGOCMS_FRONTEND_MINIMUM_INPUT_LENGTH"): # pragma: no cover
22+
if hasattr(settings, "DJANGOCMS_FRONTEND_MINIMUM_INPUT_LENGTH"):
2323
warnings.append(
2424
checks.Warning(
25-
"The DJANGOCMS_FRONTEND_MINIMUM_INPUT_LENGTH setting was removed in djangocms-frontend 2.\n"
25+
"The DJANGOCMS_FRONTEND_MINIMUM_INPUT_LENGTH setting was removed in djangocms-frontend 2.",
2626
"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",
2927
id="djangocms_frontend.W001",
3028
obj="settings.DJANGOCMS_FRONTEND_MINIMUM_INPUT_LENGTH",
3129
)
3230
)
33-
if hasattr(settings, "DJANGOCMS_FRONTEND_LINK_MODELS"): # pragma: no cover
31+
if hasattr(settings, "DJANGOCMS_FRONTEND_LINK_MODELS"):
3432
warnings.append(
3533
checks.Warning(
36-
"The DJANGOCMS_FRONTEND_LINK_MODELS setting was removed in djangocms-frontend 2.\n"
34+
"The DJANGOCMS_FRONTEND_LINK_MODELS setting was removed in djangocms-frontend 2. "
3735
"djangocms-frontend 2 uses linkable models from djangocms-link. See "
3836
"https://github.com/django-cms/djangocms-link#django-cms-link for more info.",
3937
"This message disappears after removing the DJANGOCMS_FRONTEND_LINK_MODELS from your "
@@ -45,7 +43,7 @@ def check_settings(*args, **kwargs):
4543
return warnings
4644

4745

48-
def check_installed_apps(app_configs, **kwargs):
46+
def check_installed_apps(*args, **kwargs): # pragma: no cover
4947
from django.conf import settings
5048

5149
errors = []
@@ -54,15 +52,15 @@ def check_installed_apps(app_configs, **kwargs):
5452
"djangocms_frontend.contrib.image",
5553
"djangocms_frontend.contrib.link",
5654
]
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
55+
link_apps_used = [app for app in link_contrib_apps if app in settings.INSTALLED_APPS]
56+
if link_apps_used:
57+
if "djangocms_link" not in settings.INSTALLED_APPS:
6058
errors.append(
6159
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)
60+
"djangocms-frontend requires djangocms-link to be installed for {}.".format(
61+
", ".join(link_apps_used)
6562
),
63+
"Add 'djangocms_link' to your INSTALLED_APPS setting or remove all of the above apps.",
6664
id="djangocms_frontend.E001",
6765
obj="settings.INSTALLED_APPS",
6866
)

djangocms_frontend/contrib/link/cms_plugins.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,3 +97,8 @@ def get_render_template(self, context, instance, placeholder):
9797
if "djangocms_frontend.contrib.link" in django_settings.INSTALLED_APPS:
9898
# Only register plugin if in INSTALLED_APPS
9999
plugin_pool.register_plugin(TextLinkPlugin)
100+
101+
if "djangocms_link" in django_settings.INSTALLED_APPS:
102+
from djangocms_link.cms_plugins import LinkPlugin
103+
104+
LinkPlugin.parent_classes = [None] # Remove it from the list of valid plugins

0 commit comments

Comments
 (0)