Commit 38be3cf5 authored by Arne Brodowski's avatar Arne Brodowski Committed by Baptiste Mispelon
Browse files

Fixed #21870 -- Admin check for list_editable_item

During the admin check for list_editable _check_list_editable_item
should return an empty list if all checks pass. Additionally the
Testcase test_readonly_and_editable was changed to test what the
name implies instead of duplicating the logic of test_readonly.
parent e1d18b9d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -791,6 +791,8 @@ class ModelAdminChecks(BaseModelAdminChecks):
                        id='admin.E126',
                    )
                ]
            else:
                return []

    def _check_search_fields(self, cls, model):
        """ Check search_fields is a sequence. """
+24 −0
Original line number Diff line number Diff line
@@ -52,6 +52,30 @@ class SystemChecksTestCase(TestCase):
    def test_readonly_and_editable(self):
        class SongAdmin(admin.ModelAdmin):
            readonly_fields = ["original_release"]
            list_display = ["pk", "original_release"]
            list_editable = ["original_release"]
            fieldsets = [
                (None, {
                    "fields": ["title", "original_release"],
                }),
            ]

        errors = SongAdmin.check(model=Song)
        expected = [
            checks.Error(
                ('"list_editable[0]" refers to field "original_release", '
                    'whih is not editable through the admin.'),
                hint=None,
                obj=SongAdmin,
                id='admin.E126',
            )
        ]
        self.assertEqual(errors, expected)

    def test_editable(self):
        class SongAdmin(admin.ModelAdmin):
            list_display = ["pk", "title"]
            list_editable = ["title"]
            fieldsets = [
                (None, {
                    "fields": ["title", "original_release"],