summaryrefslogtreecommitdiff
path: root/tests/admin_inlines/admin.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/admin_inlines/admin.py')
-rw-r--r--tests/admin_inlines/admin.py54
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)