mirror of
				https://github.com/django/django.git
				synced 2025-10-31 12:05:47 +00:00 
			
		
		
		
	Fixed #16838 -- Corrected broken add-another inline JS in admin with related_name="+". Thanks jamesp for report and patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16860 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
		
							parent
							
								
									b22a4fdc71
								
							
						
					
					
						commit
						09a01435de
					
				
					 4 changed files with 55 additions and 5 deletions
				
			
		|  | @ -101,6 +101,14 @@ class NovelAdmin(admin.ModelAdmin): | |||
|     inlines = [ChapterInline] | ||||
| 
 | ||||
| 
 | ||||
| class ConsigliereInline(admin.TabularInline): | ||||
|     model = Consigliere | ||||
| 
 | ||||
| 
 | ||||
| class SottoCapoInline(admin.TabularInline): | ||||
|     model = SottoCapo | ||||
| 
 | ||||
| 
 | ||||
| site.register(TitleCollection, inlines=[TitleInline]) | ||||
| # Test bug #12561 and #12778 | ||||
| # only ModelAdmin media | ||||
|  | @ -115,3 +123,4 @@ site.register(Novel, NovelAdmin) | |||
| site.register(Fashionista, inlines=[InlineWeakness]) | ||||
| site.register(Holder4, Holder4Admin) | ||||
| site.register(Author, AuthorAdmin) | ||||
| site.register(CapoFamiglia, inlines=[ConsigliereInline, SottoCapoInline]) | ||||
|  |  | |||
|  | @ -122,3 +122,17 @@ class Novel(models.Model): | |||
| class Chapter(models.Model): | ||||
|     novel = models.ForeignKey(Novel) | ||||
| 
 | ||||
| 
 | ||||
| # Models for #16838 | ||||
| class CapoFamiglia(models.Model): | ||||
|     name = models.CharField(max_length=100) | ||||
| 
 | ||||
| 
 | ||||
| class Consigliere(models.Model): | ||||
|     name = models.CharField(max_length=100) | ||||
|     capo_famiglia = models.ForeignKey(CapoFamiglia, related_name='+') | ||||
| 
 | ||||
| 
 | ||||
| class SottoCapo(models.Model): | ||||
|     name = models.CharField(max_length=100) | ||||
|     capo_famiglia = models.ForeignKey(CapoFamiglia, related_name='+') | ||||
|  |  | |||
|  | @ -4,7 +4,8 @@ from django.test import TestCase | |||
| 
 | ||||
| # local test models | ||||
| from models import (Holder, Inner, Holder2, Inner2, Holder3, | ||||
|     Inner3, Person, OutfitItem, Fashionista, Teacher, Parent, Child) | ||||
|     Inner3, Person, OutfitItem, Fashionista, Teacher, Parent, Child, | ||||
|     CapoFamiglia, Consigliere, SottoCapo) | ||||
| from admin import InnerInline | ||||
| 
 | ||||
| 
 | ||||
|  | @ -115,6 +116,32 @@ class TestInline(TestCase): | |||
|         self.assertContains(response, '<p class="help">Awesome stacked help text is awesome.</p>', 4) | ||||
|         self.assertContains(response, '<img src="/static/admin/img/icon-unknown.gif" class="help help-tooltip" width="10" height="10" alt="(Awesome tabular help text is awesome.)" title="Awesome tabular help text is awesome." />', 1) | ||||
| 
 | ||||
|     def test_non_related_name_inline(self): | ||||
|         """ | ||||
|         Ensure that multiple inlines with related_name='+' have correct form | ||||
|         prefixes. Bug #16838. | ||||
|         """ | ||||
|         response = self.client.get('/admin/admin_inlines/capofamiglia/add/') | ||||
| 
 | ||||
|         self.assertContains(response, | ||||
|                 '<input type="hidden" name="-1-0-id" id="id_-1-0-id" />') | ||||
|         self.assertContains(response, | ||||
|                 '<input type="hidden" name="-1-0-capo_famiglia" ' | ||||
|                 'id="id_-1-0-capo_famiglia" />') | ||||
|         self.assertContains(response, | ||||
|                 '<input id="id_-1-0-name" type="text" class="vTextField" ' | ||||
|                 'name="-1-0-name" maxlength="100" />') | ||||
| 
 | ||||
|         self.assertContains(response, | ||||
|                 '<input type="hidden" name="-2-0-id" id="id_-2-0-id" />') | ||||
|         self.assertContains(response, | ||||
|                 '<input type="hidden" name="-2-0-capo_famiglia" ' | ||||
|                 'id="id_-2-0-capo_famiglia" />') | ||||
|         self.assertContains(response, | ||||
|                 '<input id="id_-2-0-name" type="text" class="vTextField" ' | ||||
|                 'name="-2-0-name" maxlength="100" />') | ||||
| 
 | ||||
| 
 | ||||
| class TestInlineMedia(TestCase): | ||||
|     urls = "regressiontests.admin_inlines.urls" | ||||
|     fixtures = ['admin-views-users.xml'] | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Carl Meyer
						Carl Meyer