| 1 | === modified file 'django/contrib/admin/options.py'
|
|---|
| 2 | --- django/contrib/admin/options.py 2007-11-13 02:22:09 +0000
|
|---|
| 3 | +++ django/contrib/admin/options.py 2007-11-13 02:15:40 +0000
|
|---|
| 4 | @@ -522,6 +522,7 @@
|
|---|
| 5 | 'show_delete': False,
|
|---|
| 6 | 'media': media,
|
|---|
| 7 | 'inline_admin_formsets': inline_admin_formsets,
|
|---|
| 8 | + 'errors': AdminErrorList(form, inline_formsets),
|
|---|
| 9 | })
|
|---|
| 10 | return self.render_change_form(model, c, add=True)
|
|---|
| 11 |
|
|---|
| 12 | @@ -597,6 +598,7 @@
|
|---|
| 13 | 'is_popup': request.REQUEST.has_key('_popup'),
|
|---|
| 14 | 'media': media,
|
|---|
| 15 | 'inline_admin_formsets': inline_admin_formsets,
|
|---|
| 16 | + 'errors': AdminErrorList(form, inline_formsets),
|
|---|
| 17 | })
|
|---|
| 18 | return self.render_change_form(model, c, change=True)
|
|---|
| 19 |
|
|---|
| 20 | @@ -805,3 +807,13 @@
|
|---|
| 21 | def ordering_field(self):
|
|---|
| 22 | from django.newforms.formsets import ORDERING_FIELD_NAME
|
|---|
| 23 | return AdminField(self.form, ORDERING_FIELD_NAME, False)
|
|---|
| 24 | +
|
|---|
| 25 | +class AdminErrorList(forms.util.ErrorList):
|
|---|
| 26 | +
|
|---|
| 27 | + def __init__(self, form, inline_formsets):
|
|---|
| 28 | + if form.is_bound:
|
|---|
| 29 | + self.extend(form.errors.values())
|
|---|
| 30 | + for inline_formset in inline_formsets:
|
|---|
| 31 | + self.extend(inline_formset.non_form_errors())
|
|---|
| 32 | + for errors_in_inline_form in inline_formset.errors:
|
|---|
| 33 | + self.extend(errors_in_inline_form.values())
|
|---|
| 34 |
|
|---|
| 35 | === modified file 'django/contrib/admin/templates/admin/change_form.html'
|
|---|
| 36 | --- django/contrib/admin/templates/admin/change_form.html 2007-11-13 02:22:08 +0000
|
|---|
| 37 | +++ django/contrib/admin/templates/admin/change_form.html 2007-11-13 02:15:40 +0000
|
|---|
| 38 | @@ -34,9 +34,10 @@
|
|---|
| 39 | <div>
|
|---|
| 40 | {% if is_popup %}<input type="hidden" name="_popup" value="1" />{% endif %}
|
|---|
| 41 | {% if save_on_top %}{% submit_row %}{% endif %}
|
|---|
| 42 | -{% if adminform.form.errors %}
|
|---|
| 43 | +{% if errors %}
|
|---|
| 44 | <p class="errornote">
|
|---|
| 45 | - {% blocktrans count adminform.form.errors.items|length as counter %}Please correct the error below.{% plural %}Please correct the errors below.{% endblocktrans %}
|
|---|
| 46 | + {% blocktrans count errors|length as counter %}Please correct the error below.{% plural %}Please correct the errors below.{% endblocktrans %}
|
|---|
| 47 | + {{ adminform.form.non_field_errors }}
|
|---|
| 48 | </p>
|
|---|
| 49 | {% endif %}
|
|---|
| 50 |
|
|---|
| 51 |
|
|---|