summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/contrib/admin/options.py1
-rw-r--r--django/contrib/admin/templates/admin/change_form.html2
-rw-r--r--django/contrib/admin/views/main.py1
-rw-r--r--django/db/models/base.py2
-rw-r--r--django/db/models/options.py3
5 files changed, 5 insertions, 4 deletions
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py
index d5e7dfcd66..f3b7701d75 100644
--- a/django/contrib/admin/options.py
+++ b/django/contrib/admin/options.py
@@ -41,6 +41,7 @@ class ModelAdmin(object):
search_fields = ()
date_hierarchy = None
save_as = False
+ save_on_top = False
ordering = None
def __init__(self, model):
diff --git a/django/contrib/admin/templates/admin/change_form.html b/django/contrib/admin/templates/admin/change_form.html
index 7e7b639139..066ae2a89c 100644
--- a/django/contrib/admin/templates/admin/change_form.html
+++ b/django/contrib/admin/templates/admin/change_form.html
@@ -26,7 +26,7 @@
<form {% if has_file_field %}enctype="multipart/form-data" {% endif %}action="{{ form_url }}" method="post" id="{{ opts.module_name }}_form">{% block form_top %}{% endblock %}
<div>
{% if is_popup %}<input type="hidden" name="_popup" value="1" />{% endif %}
-{% if opts.admin.save_on_top %}{% submit_row %}{% endif %}
+{% if save_on_top %}{% submit_row %}{% endif %}
{% if form.error_dict %}
<p class="errornote">
{% blocktrans count form.error_dict.items|length as counter %}Please correct the error below.{% plural %}Please correct the errors below.{% endblocktrans %}
diff --git a/django/contrib/admin/views/main.py b/django/contrib/admin/views/main.py
index 3a686b0f07..7cb73711e6 100644
--- a/django/contrib/admin/views/main.py
+++ b/django/contrib/admin/views/main.py
@@ -192,6 +192,7 @@ def render_change_form(model, manipulator, context, add=False, change=False, for
'form_url': form_url,
'opts': opts,
'content_type_id': ContentType.objects.get_for_model(model).id,
+ 'save_on_top': opts.ModelAdmin.save_on_top,
}
context.update(extra_context)
return render_to_response([
diff --git a/django/db/models/base.py b/django/db/models/base.py
index 5d3c5220cc..9bb2279465 100644
--- a/django/db/models/base.py
+++ b/django/db/models/base.py
@@ -137,7 +137,7 @@ class Model(object):
# of ModelAdmin.
cls._meta.ModelAdmin = type('ModelAdmin', (value, ModelAdmin), {})
# This AdminOptions stuff is legacy and will eventually be removed.
- value = AdminOptions(**dict([(k, v) for k, v in value.__dict__.items() if not k.startswith('_') and k not in ('list_display', 'list_display_links', 'list_filter', 'date_hierarchy', 'save_as', 'search_fields', 'list_select_related', 'list_per_page', 'ordering')]))
+ value = AdminOptions(**dict([(k, v) for k, v in value.__dict__.items() if not k.startswith('_') and k not in ('list_display', 'list_display_links', 'list_filter', 'date_hierarchy', 'save_as', 'search_fields', 'list_select_related', 'list_per_page', 'ordering', 'save_on_top')]))
value.contribute_to_class(cls, name)
elif hasattr(value, 'contribute_to_class'):
value.contribute_to_class(cls, name)
diff --git a/django/db/models/options.py b/django/db/models/options.py
index 86056a66fd..3202734825 100644
--- a/django/db/models/options.py
+++ b/django/db/models/options.py
@@ -200,10 +200,9 @@ class Options(object):
class AdminOptions(object):
def __init__(self, fields=None, js=None,
- save_on_top=False, manager=None):
+ manager=None):
self.fields = fields
self.js = js or []
- self.save_on_top = save_on_top
self.manager = manager or Manager()
def get_field_sets(self, opts):