diff --git a/src/registrar/admin.py b/src/registrar/admin.py index 2f9bc97c5..b25014fcf 100644 --- a/src/registrar/admin.py +++ b/src/registrar/admin.py @@ -455,6 +455,8 @@ class DomainInformationAdmin(ListHeaderAdmin): "is_policy_acknowledged", ] + filter_horizontal = ('other_contacts',) + def get_readonly_fields(self, request, obj=None): """Set the read-only state on form elements. We have 1 conditions that determine which fields are read-only: @@ -591,6 +593,15 @@ class DomainApplicationAdmin(ListHeaderAdmin): "is_policy_acknowledged", ] + filter_horizontal = ('current_websites', 'alternative_domains') + + # lists in filter_horizontal are not sorted properly, sort them + # by website + def formfield_for_manytomany(self, db_field, request, **kwargs): + if db_field.name in ("current_websites", "alternative_domains"): + kwargs["queryset"] = models.Website.objects.all().order_by('website') # Sort websites + return super().formfield_for_manytomany(db_field, request, **kwargs) + # Trigger action when a fieldset is changed def save_model(self, request, obj, form, change): if obj and obj.creator.status != models.User.RESTRICTED: @@ -749,7 +760,7 @@ class DomainAdmin(ListHeaderAdmin): change_form_template = "django/admin/domain_change_form.html" change_list_template = "django/admin/domain_change_list.html" readonly_fields = ["state", "expiration_date"] - + def export_data_type(self, request): # match the CSV example with all the fields response = HttpResponse(content_type="text/csv")