Author: jezdez
Date: 2010-11-13 12:42:31 -0600 (Sat, 13 Nov 2010)
New Revision: 14555

Modified:
   django/trunk/django/contrib/contenttypes/generic.py
   django/trunk/tests/regressiontests/generic_inline_admin/models.py
   django/trunk/tests/regressiontests/generic_inline_admin/tests.py
Log:
Fixed #14670 -- Made GenericTabularInline aware of changes made in r13708. 
Thanks, gregmuellegger.

Modified: django/trunk/django/contrib/contenttypes/generic.py
===================================================================
--- django/trunk/django/contrib/contenttypes/generic.py 2010-11-13 18:42:11 UTC 
(rev 14554)
+++ django/trunk/django/contrib/contenttypes/generic.py 2010-11-13 18:42:31 UTC 
(rev 14555)
@@ -12,6 +12,7 @@
 from django.forms.models import BaseModelFormSet, modelformset_factory, 
save_instance
 from django.contrib.admin.options import InlineModelAdmin, flatten_fieldsets
 from django.utils.encoding import smart_unicode
+from django.utils.functional import curry
 
 from django.contrib.contenttypes.models import ContentType
 
@@ -407,7 +408,7 @@
             "ct_field": self.ct_field,
             "fk_field": self.ct_fk_field,
             "form": self.form,
-            "formfield_callback": self.formfield_for_dbfield,
+            "formfield_callback": curry(self.formfield_for_dbfield, 
request=request),
             "formset": self.formset,
             "extra": self.extra,
             "can_delete": self.can_delete,

Modified: django/trunk/tests/regressiontests/generic_inline_admin/models.py
===================================================================
--- django/trunk/tests/regressiontests/generic_inline_admin/models.py   
2010-11-13 18:42:11 UTC (rev 14554)
+++ django/trunk/tests/regressiontests/generic_inline_admin/models.py   
2010-11-13 18:42:31 UTC (rev 14555)
@@ -76,11 +76,15 @@
 # Generic inline with unique_together
 #
 
+class Category(models.Model):
+    name = models.CharField(max_length=50)
+
 class PhoneNumber(models.Model):
     content_type = models.ForeignKey(ContentType)
     object_id = models.PositiveIntegerField()
     content_object = generic.GenericForeignKey('content_type', 'object_id')
     phone_number = models.CharField(max_length=30)
+    category = models.ForeignKey(Category, null=True, blank=True)
 
     class Meta:
         unique_together = (('content_type', 'object_id', 'phone_number',),)
@@ -93,6 +97,7 @@
     model = PhoneNumber
 
 admin.site.register(Contact, inlines=[PhoneNumberInline])
+admin.site.register(Category)
 
 #
 # Generic inline with can_delete=False

Modified: django/trunk/tests/regressiontests/generic_inline_admin/tests.py
===================================================================
--- django/trunk/tests/regressiontests/generic_inline_admin/tests.py    
2010-11-13 18:42:11 UTC (rev 14554)
+++ django/trunk/tests/regressiontests/generic_inline_admin/tests.py    
2010-11-13 18:42:31 UTC (rev 14555)
@@ -6,7 +6,7 @@
 
 # local test models
 from models import Episode, EpisodeExtra, EpisodeMaxNum, EpisodeExclude, \
-                   Media, EpisodePermanent, MediaPermanentInline
+                   Media, EpisodePermanent, MediaPermanentInline, Category
 
 class GenericAdminViewTest(TestCase):
     fixtures = ['users.xml']
@@ -190,6 +190,7 @@
         self.client.logout()
 
     def testAdd(self):
+        category_id = Category.objects.create(name='male').pk
         post_data = {
             "name": u"John Doe",
             # inline data
@@ -198,8 +199,10 @@
             
"generic_inline_admin-phonenumber-content_type-object_id-MAX_NUM_FORMS": u"0",
             "generic_inline_admin-phonenumber-content_type-object_id-0-id": "",
             
"generic_inline_admin-phonenumber-content_type-object_id-0-phone_number": 
"555-555-5555",
+            
"generic_inline_admin-phonenumber-content_type-object_id-0-category": "%s" % 
category_id,
         }
         response = 
self.client.get('/generic_inline_admin/admin/generic_inline_admin/contact/add/')
+        self.failUnlessEqual(response.status_code, 200)
         response = 
self.client.post('/generic_inline_admin/admin/generic_inline_admin/contact/add/',
 post_data)
         self.failUnlessEqual(response.status_code, 302) # redirect somewhere
 

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.

Reply via email to