summaryrefslogtreecommitdiff
path: root/tests/regressiontests/generic_inline_admin/admin.py
diff options
context:
space:
mode:
authorRamiro Morales <cramm0@gmail.com>2011-09-20 18:16:49 +0000
committerRamiro Morales <cramm0@gmail.com>2011-09-20 18:16:49 +0000
commit7b21bfc0745f92f83a6826a3d3e58797fb74e326 (patch)
treeacd08401267e495b6569e858268d94cb9f8449d4 /tests/regressiontests/generic_inline_admin/admin.py
parentfc06ec0daf563718e3ea96634040878c85bb2ebd (diff)
Improved test isolation of the admin tests and assigned custom admin sites to
prevent test order dependant failures. This involves introducing usage of `TestCase.urls` and implementing proper admin.py modules for some of the test apps. Thanks Florian Apolloner for finding the issue and contributing the patch. Refs #15294 (it solves these problems so the fix for that ticket we are going to commit doesn't introduce obscure and hard to reproduce test failures when running the Django test suite.) git-svn-id: http://code.djangoproject.com/svn/django/trunk@16856 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/generic_inline_admin/admin.py')
-rw-r--r--tests/regressiontests/generic_inline_admin/admin.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/regressiontests/generic_inline_admin/admin.py b/tests/regressiontests/generic_inline_admin/admin.py
new file mode 100644
index 0000000000..87224edab7
--- /dev/null
+++ b/tests/regressiontests/generic_inline_admin/admin.py
@@ -0,0 +1,44 @@
+from django.contrib import admin
+from django.contrib.contenttypes import generic
+
+from models import (Media, PhoneNumber, Episode, EpisodeExtra, Contact,
+ Category, EpisodePermanent, EpisodeMaxNum)
+
+site = admin.AdminSite(name="admin")
+
+class MediaInline(generic.GenericTabularInline):
+ model = Media
+
+
+class EpisodeAdmin(admin.ModelAdmin):
+ inlines = [
+ MediaInline,
+ ]
+
+
+class MediaExtraInline(generic.GenericTabularInline):
+ model = Media
+ extra = 0
+
+
+class MediaMaxNumInline(generic.GenericTabularInline):
+ model = Media
+ extra = 5
+ max_num = 2
+
+
+class PhoneNumberInline(generic.GenericTabularInline):
+ model = PhoneNumber
+
+
+class MediaPermanentInline(generic.GenericTabularInline):
+ model = Media
+ can_delete = False
+
+
+site.register(Episode, EpisodeAdmin)
+site.register(EpisodeExtra, inlines=[MediaExtraInline])
+site.register(EpisodeMaxNum, inlines=[MediaMaxNumInline])
+site.register(Contact, inlines=[PhoneNumberInline])
+site.register(Category)
+site.register(EpisodePermanent, inlines=[MediaPermanentInline])