=== modified file 'django/contrib/admin/options.py'
--- django/contrib/admin/options.py	2007-09-10 00:27:48 +0000
+++ django/contrib/admin/options.py	2007-09-10 16:53:11 +0000
@@ -129,6 +129,7 @@
     filter_vertical = ()
     filter_horizontal = ()
     prepopulated_fields = {}
+    base_form = forms.BaseForm
 
     def __init__(self):
         # TODO: This should really go in django.core.validation, but validation
@@ -424,7 +425,7 @@
             post_url = '../../../'
 
         fields = flatten_fieldsets(self.fieldsets_add(request))
-        ModelForm = forms.form_for_model(model, fields=fields, formfield_callback=self.formfield_for_dbfield)
+        ModelForm = forms.form_for_model(model, fields=fields, form=self.base_form, formfield_callback=self.formfield_for_dbfield)
 
         inline_formsets = []
         if request.method == 'POST':
@@ -486,7 +487,7 @@
             return self.add_view(request, form_url='../../add/')
 
         fields = flatten_fieldsets(self.fieldsets_change(request, obj))
-        ModelForm = forms.form_for_instance(obj, fields=fields, formfield_callback=self.formfield_for_dbfield)
+        ModelForm = forms.form_for_instance(obj, fields=fields, form=self.base_form, formfield_callback=self.formfield_for_dbfield)
 
         inline_formsets = []
         if request.method == 'POST':
@@ -669,12 +670,12 @@
     def formset_add(self, request):
         """Returns an InlineFormSet class for use in admin add views."""
         fields = flatten_fieldsets(self.fieldsets_add(request))
-        return forms.inline_formset(self.parent_model, self.model, fk_name=self.fk_name, fields=fields, formfield_callback=self.formfield_for_dbfield, extra=self.extra)
+        return forms.inline_formset(self.parent_model, self.model, fk_name=self.fk_name, fields=fields, form=self.base_form, formfield_callback=self.formfield_for_dbfield, extra=self.extra)
 
     def formset_change(self, request, obj):
         """Returns an InlineFormSet class for use in admin change views."""
         fields = flatten_fieldsets(self.fieldsets_change(request, obj))
-        return forms.inline_formset(self.parent_model, self.model, fk_name=self.fk_name, fields=fields, formfield_callback=self.formfield_for_dbfield, extra=self.extra)
+        return forms.inline_formset(self.parent_model, self.model, fk_name=self.fk_name, fields=fields, form=self.base_form, formfield_callback=self.formfield_for_dbfield, extra=self.extra)
 
     def _fieldsets(self, request):
         if self.fieldsets:

=== modified file 'django/contrib/admin/templates/admin/change_form.html'
--- django/contrib/admin/templates/admin/change_form.html	2007-09-10 00:27:48 +0000
+++ django/contrib/admin/templates/admin/change_form.html	2007-09-10 16:49:07 +0000
@@ -37,6 +37,7 @@
 {% if adminform.form.errors %}
     <p class="errornote">
     {% blocktrans count adminform.form.errors.items|length as counter %}Please correct the error below.{% plural %}Please correct the errors below.{% endblocktrans %}
+    {{ adminform.form.non_field_errors }}
     </p>
 {% endif %}
 

=== modified file 'django/newforms/models.py'
--- django/newforms/models.py	2007-08-31 05:53:47 +0000
+++ django/newforms/models.py	2007-09-10 16:53:21 +0000
@@ -305,7 +305,7 @@
         new_obj = self.model(**kwargs)
         return save_instance(form, new_obj, commit=commit)
 
-def inline_formset(parent_model, model, fk_name=None, fields=None, extra=3, orderable=False, deletable=True, formfield_callback=lambda f: f.formfield()):
+def inline_formset(parent_model, model, fk_name=None, fields=None, extra=3, orderable=False, deletable=True, form=BaseForm, formfield_callback=lambda f: f.formfield()):
     """
     Returns an ``InlineFormset`` for the given kwargs.
     
@@ -325,7 +325,7 @@
             raise Exception("%s has more than 1 ForeignKey to %s" % (model, parent_model))
     # let the formset handle object deletion by default
     FormSet = formset_for_model(model, formset=InlineFormset, fields=fields, 
-                                formfield_callback=formfield_callback, 
+                                form=form, formfield_callback=formfield_callback, 
                                 extra=extra, orderable=orderable, 
                                 deletable=deletable)
     # HACK: remove the ForeignKey to the parent from every form

