diff --git a/common/djangoapps/student/admin.py b/common/djangoapps/student/admin.py index bc1f1c0e27..127290243d 100644 --- a/common/djangoapps/student/admin.py +++ b/common/djangoapps/student/admin.py @@ -2,7 +2,8 @@ from functools import wraps -from dal import autocomplete +from dal_select2.views import Select2ListView +from dal_select2.widgets import ListSelect2 from django_countries import countries from config_models.admin import ConfigurationModelAdmin @@ -314,14 +315,14 @@ class CourseEnrollmentAdmin(DisableEnrollmentAdminMixin, admin.ModelAdmin): return super().get_queryset(request).select_related('user') # lint-amnesty, pylint: disable=no-member, super-with-arguments @method_decorator(login_required, name='dispatch') -class LanguageAutocomplete(autocomplete.Select2ListView): # pylint: disable=no-member +class LanguageAutocomplete(Select2ListView): def get_list(self): if not self.request.user.is_staff: return [] return [lang for lang in LANGUAGE_CHOICES if self.q.lower() in lang.lower()] @method_decorator(login_required, name='dispatch') -class CountryAutocomplete(autocomplete.Select2ListView): # pylint: disable=no-member +class CountryAutocomplete(Select2ListView): """ Autocomplete view for selecting countries using Select2. @@ -355,11 +356,11 @@ class UserProfileInlineForm(forms.ModelForm): """ language = forms.CharField( required=False, - widget=autocomplete.ListSelect2(url='admin:language-autocomplete') # pylint: disable=no-member + widget=ListSelect2(url='admin:language-autocomplete') # pylint: disable=no-member ) country = forms.CharField( required=False, - widget=autocomplete.ListSelect2(url='admin:country-autocomplete') # pylint: disable=no-member + widget=ListSelect2(url='admin:country-autocomplete') # pylint: disable=no-member ) class Meta: