From b921f1bac090cecd87e0b99b4c7c2d7581bcf2da Mon Sep 17 00:00:00 2001 From: Jannis Leidel Date: Thu, 3 Mar 2011 13:20:45 +0000 Subject: Fixed #12475 -- Fixed an edge case with hidden fields in ModelAdmin changelists when used in conjunction with list_display_links or list_editable. Thanks, Simon Meers, Julien Phalip, Karen and master. git-svn-id: http://code.djangoproject.com/svn/django/trunk@15722 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- tests/regressiontests/admin_views/models.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'tests/regressiontests/admin_views/models.py') diff --git a/tests/regressiontests/admin_views/models.py b/tests/regressiontests/admin_views/models.py index 3b44f94d8b..4c4e2907d7 100644 --- a/tests/regressiontests/admin_views/models.py +++ b/tests/regressiontests/admin_views/models.py @@ -735,6 +735,28 @@ class CoverLetterAdmin(admin.ModelAdmin): #return super(CoverLetterAdmin, self).queryset(request).only('author') return super(CoverLetterAdmin, self).queryset(request).defer('date') +class Story(models.Model): + title = models.CharField(max_length=100) + content = models.TextField() + +class StoryForm(forms.ModelForm): + class Meta: + widgets = {'title': forms.HiddenInput} + +class StoryAdmin(admin.ModelAdmin): + list_display = ('id', 'title', 'content') + list_display_links = ('title',) # 'id' not in list_display_links + list_editable = ('content', ) + form = StoryForm + +class OtherStory(models.Model): + title = models.CharField(max_length=100) + content = models.TextField() + +class OtherStoryAdmin(admin.ModelAdmin): + list_display = ('id', 'title', 'content') + list_display_links = ('title', 'id') # 'id' in list_display_links + list_editable = ('content', ) admin.site.register(Article, ArticleAdmin) admin.site.register(CustomArticle, CustomArticleAdmin) @@ -776,6 +798,8 @@ admin.site.register(FoodDelivery, FoodDeliveryAdmin) admin.site.register(RowLevelChangePermissionModel, RowLevelChangePermissionModelAdmin) admin.site.register(Paper, PaperAdmin) admin.site.register(CoverLetter, CoverLetterAdmin) +admin.site.register(Story, StoryAdmin) +admin.site.register(OtherStory, OtherStoryAdmin) # We intentionally register Promo and ChapterXtra1 but not Chapter nor ChapterXtra2. # That way we cover all four cases: -- cgit v1.3