Skip to content

Commit 5a68e45

Browse files
committed
Remove unused autocomplete select2 widget
1 parent 9d0511a commit 5a68e45

File tree

1 file changed

+0
-69
lines changed

1 file changed

+0
-69
lines changed

djangocms_frontend/contrib/link/forms.py

Lines changed: 0 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,6 @@
1-
import json
2-
from types import SimpleNamespace
3-
4-
from cms.utils.urlutils import admin_reverse
51
from django import apps, forms
62
from django.conf import settings as django_settings
7-
from django.contrib.admin.widgets import SELECT2_TRANSLATIONS, AutocompleteMixin
83
from django.contrib.sites.models import Site
9-
from django.utils.translation import get_language
104
from django.utils.translation import gettext as _
115
from djangocms_link.fields import LinkFormField
126

@@ -45,69 +39,6 @@ def __init__(self, *args, **kwargs):
4539
super().__init__(*args, **kwargs)
4640

4741

48-
HOSTNAME = getattr(settings, "DJANGOCMS_LINK_INTRANET_HOSTNAME_PATTERN", None)
49-
LINK_MODELS = getattr(django_settings, "DJANGOCMS_FRONTEND_LINK_MODELS", [])
50-
MINIMUM_INPUT_LENGTH = getattr(django_settings, "DJANGOCMS_FRONTEND_MINIMUM_INPUT_LENGTH", 0)
51-
52-
53-
class Select2jqWidget(AutocompleteMixin, forms.Select):
54-
empty_label = _("Select a destination")
55-
56-
def __init__(self, *args, **kwargs):
57-
if MINIMUM_INPUT_LENGTH: # no-cover
58-
if "attrs" in kwargs:
59-
kwargs["attrs"].setdefault("data-minimum-input-length", MINIMUM_INPUT_LENGTH)
60-
else:
61-
kwargs["attrs"] = {"data-minimum-input-length": MINIMUM_INPUT_LENGTH}
62-
kwargs.setdefault("admin_site", None)
63-
kwargs.setdefault(
64-
"field",
65-
SimpleNamespace(
66-
name="", model=SimpleNamespace(_meta=SimpleNamespace(app="djangocms_frontend", label="link"))
67-
),
68-
) # Fake field properties for autocomplete field (unused by link)
69-
super().__init__(*args, **kwargs)
70-
71-
def get_url(self):
72-
return admin_reverse("link_link_autocomplete")
73-
74-
def build_attrs(self, base_attrs, extra_attrs=None):
75-
"""
76-
Set select2's AJAX attributes.
77-
78-
Attributes can be set using the html5 data attribute.
79-
Nested attributes require a double dash as per
80-
https://select2.org/configuration/data-attributes#nested-subkey-options
81-
"""
82-
attrs = super(forms.Select, self).build_attrs(base_attrs, extra_attrs=extra_attrs)
83-
attrs.setdefault("class", "")
84-
i18n_name = getattr(self, "i18n_name", SELECT2_TRANSLATIONS.get(get_language())) # Django 3.2 compat
85-
attrs.update(
86-
{
87-
"data-ajax--cache": "true",
88-
"data-ajax--delay": 250,
89-
"data-ajax--type": "GET",
90-
"data-ajax--url": self.get_url(),
91-
"data-theme": "admin-autocomplete",
92-
"data-app-label": "app",
93-
"data-model-name": "model",
94-
"data-field-name": "field",
95-
"data-allow-clear": json.dumps(not self.is_required),
96-
"data-placeholder": "", # Allows clearing of the input.
97-
"lang": i18n_name,
98-
"class": attrs["class"] + (" " if attrs["class"] else "") + "admin-autocomplete",
99-
}
100-
)
101-
return attrs
102-
103-
def optgroups(self, name, value, attr=None):
104-
groups = super(forms.Select, self).optgroups(name, value)
105-
if not self.is_required and groups:
106-
# Add an empty entry to allow for an empty value to be preselected
107-
groups[0][1].insert(0, self.create_option(name, "", "", False, 0))
108-
return groups
109-
110-
11142
if apps.apps.is_installed("djangocms_url_manager"):
11243
from djangocms_url_manager.forms import (
11344
HtmlLinkSiteSelectWidget,

0 commit comments

Comments
 (0)