diff options
Diffstat (limited to 'tests/admin_inlines/admin.py')
| -rw-r--r-- | tests/admin_inlines/admin.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/admin_inlines/admin.py b/tests/admin_inlines/admin.py index 0ec56d71b3..3cdaee22df 100644 --- a/tests/admin_inlines/admin.py +++ b/tests/admin_inlines/admin.py @@ -40,6 +40,8 @@ from .models import ( OutfitItem, ParentModelWithCustomPk, Person, + Photo, + Photographer, Poll, Profile, ProfileCollection, @@ -98,6 +100,57 @@ class AuthorAdmin(admin.ModelAdmin): ] +class PhotoInlineMixin: + model = Photo + extra = 2 + fieldsets = [ + (None, {"fields": ["image", "title"]}), + ( + "Details", + {"fields": ["description", "creation_date"], "classes": ["collapse"]}, + ), + ( + "Details", # Fieldset name intentionally duplicated + {"fields": ["update_date", "updated_by"]}, + ), + ] + + +class PhotoTabularInline(PhotoInlineMixin, admin.TabularInline): + pass + + +class PhotoStackedExtra2Inline(PhotoInlineMixin, admin.StackedInline): + pass + + +class PhotoStackedExtra3Inline(PhotoInlineMixin, admin.StackedInline): + extra = 3 + + +class PhotoStackedCollapsibleInline(PhotoInlineMixin, admin.StackedInline): + fieldsets = [] + classes = ["collapse"] + + +class PhotographerAdmin(admin.ModelAdmin): + fieldsets = [ + (None, {"fields": ["firstname", "fullname"]}), + ("Advanced options", {"fields": ["nationality", "residency"]}), + ( + "Advanced options", # Fieldset name intentionally duplicated + {"fields": ["siblings", "children"], "classes": ["collapse"]}, + ), + ] + inlines = [ + PhotoTabularInline, + PhotoTabularInline, + PhotoStackedExtra2Inline, + PhotoStackedExtra3Inline, + PhotoStackedCollapsibleInline, + ] + + class InnerInline(admin.StackedInline): model = Inner can_delete = False @@ -454,6 +507,7 @@ site.register(Teacher, TeacherAdmin) site.register(Chapter, inlines=[FootNoteNonEditableInlineCustomForm]) site.register(OutfitItem, inlines=[WeaknessInlineCustomForm]) site.register(Person, inlines=[AuthorTabularInline, FashonistaStackedInline]) +site.register(Photographer, PhotographerAdmin) site.register(Course, ClassAdminStackedHorizontal) site.register(CourseProxy, ClassAdminStackedVertical) site.register(CourseProxy1, ClassAdminTabularVertical) |
