diff options
| author | Russell Keith-Magee <russell@keith-magee.com> | 2011-02-08 12:00:21 +0000 |
|---|---|---|
| committer | Russell Keith-Magee <russell@keith-magee.com> | 2011-02-08 12:00:21 +0000 |
| commit | 74ffca17e2ca6a9f061913797efeebbc578692c5 (patch) | |
| tree | 442589d03357a6d386e932c392b681c4a3152541 /tests/regressiontests/admin_views | |
| parent | a105ca5d7a232edd4713f37fbbe9ee3fec5f9e77 (diff) | |
Fixed #10573 -- Corrected autofocus problem in admin when the first widget displayed is a multiwidget. Thanks to rduffield for the report, and to Ramiro and Julien Phalip for the patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15452 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/admin_views')
| -rw-r--r-- | tests/regressiontests/admin_views/models.py | 5 | ||||
| -rw-r--r-- | tests/regressiontests/admin_views/tests.py | 23 |
2 files changed, 28 insertions, 0 deletions
diff --git a/tests/regressiontests/admin_views/models.py b/tests/regressiontests/admin_views/models.py index 02c6b9208d..60319eaf7d 100644 --- a/tests/regressiontests/admin_views/models.py +++ b/tests/regressiontests/admin_views/models.py @@ -666,6 +666,10 @@ class Answer(models.Model): def __unicode__(self): return self.answer +class Reservation(models.Model): + start_date = models.DateTimeField() + price = models.IntegerField() + admin.site.register(Article, ArticleAdmin) admin.site.register(CustomArticle, CustomArticleAdmin) admin.site.register(Section, save_as=True, inlines=[ArticleInline]) @@ -701,6 +705,7 @@ admin.site.register(PlotDetails) admin.site.register(CyclicOne) admin.site.register(CyclicTwo) admin.site.register(WorkHour, WorkHourAdmin) +admin.site.register(Reservation) # We intentionally register Promo and ChapterXtra1 but not Chapter nor ChapterXtra2. # That way we cover all four cases: diff --git a/tests/regressiontests/admin_views/tests.py b/tests/regressiontests/admin_views/tests.py index a05f40f702..98a2d41ddc 100644 --- a/tests/regressiontests/admin_views/tests.py +++ b/tests/regressiontests/admin_views/tests.py @@ -431,6 +431,29 @@ class AdminViewBasicTest(TestCase): except SuspiciousOperation: self.fail("Filters should be allowed if they are defined on a ForeignKey pointing to this model") +class AdminJavaScriptTest(AdminViewBasicTest): + def testSingleWidgetFirsFieldFocus(self): + """ + JavaScript-assisted auto-focus on first field. + """ + response = self.client.get('/test_admin/%s/admin_views/picture/add/' % self.urlbit) + self.assertContains( + response, + '<script type="text/javascript">document.getElementById("id_name").focus();</script>' + ) + + def testMultiWidgetFirsFieldFocus(self): + """ + JavaScript-assisted auto-focus should work if a model/ModelAdmin setup + is such that the first form field has a MultiWidget. + """ + response = self.client.get('/test_admin/%s/admin_views/reservation/add/' % self.urlbit) + self.assertContains( + response, + '<script type="text/javascript">document.getElementById("id_start_date_0").focus();</script>' + ) + + class SaveAsTests(TestCase): fixtures = ['admin-views-users.xml','admin-views-person.xml'] |
