Fixed #14424 -- corrected a NameError when instantiating a RelatedFieldWidgetWrapper.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@14683 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Alex Gaynor 2010-11-22 21:55:29 +00:00
parent 07ba3220ba
commit 3498849532
3 changed files with 17 additions and 7 deletions

View File

@ -203,7 +203,7 @@ class RelatedFieldWidgetWrapper(forms.Widget):
# Backwards compatible check for whether a user can add related
# objects.
if can_add_related is None:
can_add_related = rel_to in self.admin_site._registry
can_add_related = rel.to in admin_site._registry
self.can_add_related = can_add_related
# so we can check if the related object is registered with this AdminSite
self.admin_site = admin_site

View File

@ -1,8 +1,9 @@
from django.db import models
from django.contrib.auth.models import User
class MyFileField(models.FileField):
pass
class MyFileField(models.FileField):
pass
class Member(models.Model):
name = models.CharField(max_length=100)

View File

@ -6,9 +6,9 @@ from django import forms
from django.conf import settings
from django.contrib import admin
from django.contrib.admin import widgets
from django.contrib.admin.widgets import FilteredSelectMultiple, AdminSplitDateTime
from django.contrib.admin.widgets import (AdminFileWidget, ForeignKeyRawIdWidget,
ManyToManyRawIdWidget)
from django.contrib.admin.widgets import (FilteredSelectMultiple,
AdminSplitDateTime, AdminFileWidget, ForeignKeyRawIdWidget, AdminRadioSelect,
RelatedFieldWidgetWrapper, ManyToManyRawIdWidget)
from django.core.files.storage import default_storage
from django.core.files.uploadedfile import SimpleUploadedFile
from django.db.models import DateField
@ -31,7 +31,8 @@ class AdminFormfieldForDBFieldTests(TestCase):
and verify that the returned formfield is appropriate.
"""
# Override any settings on the model admin
class MyModelAdmin(admin.ModelAdmin): pass
class MyModelAdmin(admin.ModelAdmin):
pass
for k in admin_overrides:
setattr(MyModelAdmin, k, admin_overrides[k])
@ -314,3 +315,11 @@ class ManyToManyRawIdWidgetTest(DjangoTestCase):
self.assertEqual(w._has_changed([1, 2], [u'1', u'2']), False)
self.assertEqual(w._has_changed([1, 2], [u'1']), True)
self.assertEqual(w._has_changed([1, 2], [u'1', u'3']), True)
class RelatedFieldWidgetWrapperTests(DjangoTestCase):
def test_no_can_add_related(self):
rel = models.Inventory._meta.get_field('parent').rel
w = AdminRadioSelect()
# Used to fail with a name error.
w = RelatedFieldWidgetWrapper(w, rel, admin.site)
self.assertFalse(w.can_add_related)