Refs #23444 -- Removed InlineAdminForm.original_content_type_id per deprecation timeline.
This commit is contained in:
parent
1bb6ecf6d3
commit
7140d4adf7
|
@ -14,11 +14,8 @@ from django.db.models.fields.related import ManyToManyRel
|
|||
from django.forms.utils import flatatt
|
||||
from django.template.defaultfilters import capfirst, linebreaksbr
|
||||
from django.utils import six
|
||||
from django.utils.deprecation import (
|
||||
RemovedInDjango20Warning, RemovedInDjango110Warning,
|
||||
)
|
||||
from django.utils.deprecation import RemovedInDjango20Warning
|
||||
from django.utils.encoding import force_text, smart_text
|
||||
from django.utils.functional import cached_property
|
||||
from django.utils.html import conditional_escape, format_html
|
||||
from django.utils.safestring import mark_safe
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
@ -292,21 +289,6 @@ class InlineAdminForm(AdminForm):
|
|||
super(InlineAdminForm, self).__init__(form, fieldsets, prepopulated_fields,
|
||||
readonly_fields, model_admin)
|
||||
|
||||
@cached_property
|
||||
def original_content_type_id(self):
|
||||
warnings.warn(
|
||||
'InlineAdminForm.original_content_type_id is deprecated and will be '
|
||||
'removed in Django 1.10. If you were using this attribute to construct '
|
||||
'the "view on site" URL, use the `absolute_url` attribute instead.',
|
||||
RemovedInDjango110Warning, stacklevel=2
|
||||
)
|
||||
if self.original is not None:
|
||||
# Since this module gets imported in the application's root package,
|
||||
# it cannot import models from other applications at the module level.
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
return ContentType.objects.get_for_model(self.original).pk
|
||||
raise AttributeError
|
||||
|
||||
def __iter__(self):
|
||||
for name, options in self.fieldsets:
|
||||
yield InlineFieldset(self.formset, self.form, name,
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
from __future__ import unicode_literals
|
||||
|
||||
import datetime
|
||||
import warnings
|
||||
|
||||
from django.contrib.admin import ModelAdmin, TabularInline
|
||||
from django.contrib.admin.helpers import InlineAdminForm
|
||||
|
@ -10,7 +9,6 @@ from django.contrib.auth.models import Permission, User
|
|||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.test import RequestFactory, TestCase, override_settings
|
||||
from django.utils.encoding import force_text
|
||||
|
||||
from .admin import InnerInline, site as admin_site
|
||||
from .models import (
|
||||
|
@ -458,28 +456,6 @@ class TestInlineAdminForm(TestCase):
|
|||
parent_ct = ContentType.objects.get_for_model(Parent)
|
||||
self.assertEqual(iaf.original.content_type, parent_ct)
|
||||
|
||||
def test_original_content_type_id_deprecated(self):
|
||||
"""
|
||||
#23444 -- Verify a warning is raised when accessing
|
||||
`original_content_type_id` attribute of `InlineAdminForm` object.
|
||||
"""
|
||||
iaf = InlineAdminForm(None, None, {}, {}, None)
|
||||
poll = Poll.objects.create(name="poll")
|
||||
iaf2 = InlineAdminForm(None, None, {}, {}, poll)
|
||||
poll_ct = ContentType.objects.get_for_model(Poll)
|
||||
with warnings.catch_warnings(record=True) as recorded:
|
||||
warnings.filterwarnings('always')
|
||||
with self.assertRaises(AttributeError):
|
||||
iaf.original_content_type_id
|
||||
msg = force_text(recorded.pop().message)
|
||||
self.assertEqual(
|
||||
msg,
|
||||
'InlineAdminForm.original_content_type_id is deprecated and will be '
|
||||
'removed in Django 1.10. If you were using this attribute to construct '
|
||||
'the "view on site" URL, use the `absolute_url` attribute instead.'
|
||||
)
|
||||
self.assertEqual(iaf2.original_content_type_id, poll_ct.id)
|
||||
|
||||
|
||||
@override_settings(PASSWORD_HASHERS=['django.contrib.auth.hashers.SHA1PasswordHasher'],
|
||||
ROOT_URLCONF="admin_inlines.urls")
|
||||
|
|
Loading…
Reference in New Issue