diff options
| author | Timothy McCurrach <tim.mccurrach@gmail.com> | 2021-01-15 14:32:54 +0000 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-01-18 08:12:19 +0100 |
| commit | 0aff3fd7110d1bd431a35bb28d8688693b98d886 (patch) | |
| tree | 22b90ae3b3ab203dff9e97b52744c713415c847d | |
| parent | 13409a0c0db0ae322d58a1fceef678f8bca067fb (diff) | |
Fixed #18549 -- Fixed heading for inlines with a OneToOneField.
Used verbose_name instead of verbose_name_plural.
| -rw-r--r-- | django/contrib/admin/templates/admin/edit_inline/stacked.html | 6 | ||||
| -rw-r--r-- | django/contrib/admin/templates/admin/edit_inline/tabular.html | 6 | ||||
| -rw-r--r-- | tests/admin_inlines/admin.py | 13 | ||||
| -rw-r--r-- | tests/admin_inlines/models.py | 1 | ||||
| -rw-r--r-- | tests/admin_inlines/tests.py | 5 |
5 files changed, 27 insertions, 4 deletions
diff --git a/django/contrib/admin/templates/admin/edit_inline/stacked.html b/django/contrib/admin/templates/admin/edit_inline/stacked.html index 0292c6ef99..25b7b58e4e 100644 --- a/django/contrib/admin/templates/admin/edit_inline/stacked.html +++ b/django/contrib/admin/templates/admin/edit_inline/stacked.html @@ -4,7 +4,11 @@ data-inline-type="stacked" data-inline-formset="{{ inline_admin_formset.inline_formset_data }}"> <fieldset class="module {{ inline_admin_formset.classes }}"> - <h2>{{ inline_admin_formset.opts.verbose_name_plural|capfirst }}</h2> + {% if inline_admin_formset.formset.max_num == 1 %} + <h2>{{ inline_admin_formset.opts.verbose_name|capfirst }}</h2> + {% else %} + <h2>{{ inline_admin_formset.opts.verbose_name_plural|capfirst }}</h2> + {% endif %} {{ inline_admin_formset.formset.management_form }} {{ inline_admin_formset.formset.non_form_errors }} diff --git a/django/contrib/admin/templates/admin/edit_inline/tabular.html b/django/contrib/admin/templates/admin/edit_inline/tabular.html index c19d284062..7a4e7cb226 100644 --- a/django/contrib/admin/templates/admin/edit_inline/tabular.html +++ b/django/contrib/admin/templates/admin/edit_inline/tabular.html @@ -5,7 +5,11 @@ <div class="tabular inline-related {% if forloop.last %}last-related{% endif %}"> {{ inline_admin_formset.formset.management_form }} <fieldset class="module {{ inline_admin_formset.classes }}"> - <h2>{{ inline_admin_formset.opts.verbose_name_plural|capfirst }}</h2> + {% if inline_admin_formset.formset.max_num == 1 %} + <h2>{{ inline_admin_formset.opts.verbose_name|capfirst }}</h2> + {% else %} + <h2>{{ inline_admin_formset.opts.verbose_name_plural|capfirst }}</h2> + {% endif %} {{ inline_admin_formset.formset.non_form_errors }} <table> <thead><tr> diff --git a/tests/admin_inlines/admin.py b/tests/admin_inlines/admin.py index 5c968870e4..50266308e1 100644 --- a/tests/admin_inlines/admin.py +++ b/tests/admin_inlines/admin.py @@ -9,8 +9,8 @@ from .models import ( Holder, Holder2, Holder3, Holder4, Holder5, Inner, Inner2, Inner3, Inner4Stacked, Inner4Tabular, Inner5Stacked, Inner5Tabular, NonAutoPKBook, NonAutoPKBookChild, Novel, NovelReadonlyChapter, OutfitItem, - ParentModelWithCustomPk, Poll, Profile, ProfileCollection, Question, - ReadOnlyInline, ShoppingWeakness, Sighting, SomeChildModel, + ParentModelWithCustomPk, Person, Poll, Profile, ProfileCollection, + Question, ReadOnlyInline, ShoppingWeakness, Sighting, SomeChildModel, SomeParentModel, SottoCapo, Teacher, Title, TitleCollection, ) @@ -292,6 +292,14 @@ class TeacherAdmin(admin.ModelAdmin): inlines = [StudentInline] +class AuthorTabularInline(admin.TabularInline): + model = Author + + +class FashonistaStackedInline(admin.StackedInline): + model = Fashionista + + site.register(TitleCollection, inlines=[TitleInline]) # Test bug #12561 and #12778 # only ModelAdmin media @@ -318,3 +326,4 @@ site.register([Question, Inner4Stacked, Inner4Tabular]) site.register(Teacher, TeacherAdmin) site.register(Chapter, inlines=[FootNoteNonEditableInlineCustomForm]) site.register(OutfitItem, inlines=[WeaknessInlineCustomForm]) +site.register(Person, inlines=[AuthorTabularInline, FashonistaStackedInline]) diff --git a/tests/admin_inlines/models.py b/tests/admin_inlines/models.py index 501020f188..241eceebb2 100644 --- a/tests/admin_inlines/models.py +++ b/tests/admin_inlines/models.py @@ -44,6 +44,7 @@ class Book(models.Model): class Author(models.Model): name = models.CharField(max_length=50) books = models.ManyToManyField(Book) + person = models.OneToOneField('Person', models.CASCADE, null=True) class NonAutoPKBook(models.Model): diff --git a/tests/admin_inlines/tests.py b/tests/admin_inlines/tests.py index c71bf1efed..7af6972585 100644 --- a/tests/admin_inlines/tests.py +++ b/tests/admin_inlines/tests.py @@ -485,6 +485,11 @@ class TestInline(TestDataMixin, TestCase): self.assertContains(response, '<h2>Inner4 stackeds</h2>', html=True) self.assertContains(response, '<h2>Inner4 tabulars</h2>', html=True) + def test_inlines_singular_heading_one_to_one(self): + response = self.client.get(reverse('admin:admin_inlines_person_add')) + self.assertContains(response, '<h2>Author</h2>', html=True) # Tabular. + self.assertContains(response, '<h2>Fashionista</h2>', html=True) # Stacked. + @override_settings(ROOT_URLCONF='admin_inlines.urls') class TestInlineMedia(TestDataMixin, TestCase): |
