Fix TypeError when ``base_form`` was not defined.

fix_request_path_info
Diederik van der Boor 2013-09-17 10:50:46 +02:00
parent b622d6f6a1
commit e0446bd76c
2 changed files with 8 additions and 8 deletions

View File

@ -1,6 +1,12 @@
Changelog
==========
Version 0.5.3 (2013-09-17)
--------------------------
* Fix TypeError when ``base_form`` was not defined.
Version 0.5.2 (2013-09-05)
--------------------------

View File

@ -400,8 +400,7 @@ class PolymorphicChildModelAdmin(admin.ModelAdmin):
#
# Instead, pass the form unchecked here, because the standard ModelForm will just work.
# If the derived class sets the model explicitly, respect that setting.
if not self.form:
kwargs['form'] = self.base_form
kwargs.setdefault('form', self.base_form or self.form)
return super(PolymorphicChildModelAdmin, self).get_form(request, obj, **kwargs)
@ -479,11 +478,6 @@ class PolymorphicChildModelAdmin(admin.ModelAdmin):
return self.base_fieldsets
def get_form(self, request, obj=None, **kwargs):
kwargs.setdefault('form', self.base_form)
return super(PolymorphicChildModelAdmin, self).get_form(request, obj, **kwargs)
def get_subclass_fields(self, request, obj=None):
# Find out how many fields would really be on the form,
# if it weren't restricted by declared fields.
@ -492,7 +486,7 @@ class PolymorphicChildModelAdmin(admin.ModelAdmin):
# By not declaring the fields/form in the base class,
# get_form() will populate the form with all available fields.
form = self.get_form(request, obj, exclude=exclude, form=self.base_form)
form = self.get_form(request, obj, exclude=exclude)
subclass_fields = list(six.iterkeys(form.base_fields)) + list(self.get_readonly_fields(request, obj))
# Find which fields are not part of the common fields.