Author: jkocherhans
Date: 2007-10-09 21:48:26 -0500 (Tue, 09 Oct 2007)
New Revision: 6470
Modified:
django/branches/newforms-admin/django/contrib/admin/options.py
django/branches/newforms-admin/django/contrib/admin/views/main.py
Log:
newforms-admin: Fixed #5720. render_change_form now belongs to ModelAdmin and
no longer uses manipulators. Thanks Brian Rosner.
Modified: django/branches/newforms-admin/django/contrib/admin/options.py
===================================================================
--- django/branches/newforms-admin/django/contrib/admin/options.py
2007-10-10 02:20:32 UTC (rev 6469)
+++ django/branches/newforms-admin/django/contrib/admin/options.py
2007-10-10 02:48:26 UTC (rev 6470)
@@ -1,6 +1,7 @@
from django import oldforms, template
from django import newforms as forms
from django.newforms.formsets import all_valid
+from django.contrib.contenttypes.models import ContentType
from django.contrib.admin import widgets
from django.contrib.admin.util import get_deleted_objects
from django.core.exceptions import ImproperlyConfigured, PermissionDenied
@@ -449,9 +450,31 @@
request.user.message_set.create(message=msg)
return HttpResponseRedirect("../")
+ def render_change_form(self, model, context, add=False, change=False,
form_url=''):
+ opts = model._meta
+ app_label = opts.app_label
+ ordered_objects = opts.get_ordered_objects()
+ extra_context = {
+ 'add': add,
+ 'change': change,
+ 'has_delete_permission':
context['perms'][app_label][opts.get_delete_permission()],
+ 'has_change_permission':
context['perms'][app_label][opts.get_change_permission()],
+ 'has_file_field': True, # FIXME - this should check if form or
formsets have a FileField,
+ 'has_absolute_url': hasattr(model, 'get_absolute_url'),
+ 'ordered_objects': ordered_objects,
+ 'form_url': form_url,
+ 'opts': opts,
+ 'content_type_id': ContentType.objects.get_for_model(model).id,
+ 'save_on_top': self.save_on_top,
+ }
+ context.update(extra_context)
+ return render_to_response([
+ "admin/%s/%s/change_form.html" % (app_label,
opts.object_name.lower()),
+ "admin/%s/change_form.html" % app_label,
+ "admin/change_form.html"], context_instance=context)
+
def add_view(self, request, form_url=''):
"The 'add' admin view for this model."
- from django.contrib.admin.views.main import render_change_form
model = self.model
opts = model._meta
app_label = opts.app_label
@@ -500,11 +523,10 @@
'media': media,
'inline_admin_formsets': inline_admin_formsets,
})
- return render_change_form(self, model, model.AddManipulator(), c,
add=True)
-
+ return self.render_change_form(model, c, add=True)
+
def change_view(self, request, object_id):
"The 'change' admin view for this model."
- from django.contrib.admin.views.main import render_change_form
model = self.model
opts = model._meta
app_label = opts.app_label
@@ -576,7 +598,7 @@
'media': media,
'inline_admin_formsets': inline_admin_formsets,
})
- return render_change_form(self, model,
model.ChangeManipulator(object_id), c, change=True)
+ return self.render_change_form(model, c, change=True)
def changelist_view(self, request):
"The 'change list' admin view for this model."
Modified: django/branches/newforms-admin/django/contrib/admin/views/main.py
===================================================================
--- django/branches/newforms-admin/django/contrib/admin/views/main.py
2007-10-10 02:20:32 UTC (rev 6469)
+++ django/branches/newforms-admin/django/contrib/admin/views/main.py
2007-10-10 02:48:26 UTC (rev 6470)
@@ -3,7 +3,6 @@
from django.contrib.admin.options import IncorrectLookupParameters
from django.contrib.admin.views.decorators import staff_member_required
from django.views.decorators.cache import never_cache
-from django.contrib.contenttypes.models import ContentType
from django.core.paginator import ObjectPaginator, InvalidPage
from django.shortcuts import render_to_response
from django.db import models
@@ -110,32 +109,6 @@
return url_method()
return ''
-def render_change_form(model_admin, model, manipulator, context, add=False,
change=False, form_url=''):
- opts = model._meta
- app_label = opts.app_label
- original = getattr(manipulator, 'original_object', None)
- ordered_objects = opts.get_ordered_objects()
- inline_related_objects =
opts.get_followed_related_objects(manipulator.follow)
- extra_context = {
- 'add': add,
- 'change': change,
- 'has_delete_permission':
context['perms'][app_label][opts.get_delete_permission()],
- 'has_change_permission':
context['perms'][app_label][opts.get_change_permission()],
- 'has_file_field': True, # FIXME - this should check if form or
formsets have a FileField,
- 'has_absolute_url': hasattr(model, 'get_absolute_url'),
- 'ordered_objects': ordered_objects,
- 'inline_related_objects': inline_related_objects,
- 'form_url': form_url,
- 'opts': opts,
- 'content_type_id': ContentType.objects.get_for_model(model).id,
- 'save_on_top': model_admin.save_on_top,
- }
- context.update(extra_context)
- return render_to_response([
- "admin/%s/%s/change_form.html" % (app_label, opts.object_name.lower()),
- "admin/%s/change_form.html" % app_label,
- "admin/change_form.html"], context_instance=context)
-
def index(request):
return render_to_response('admin/index.html', {'title': ugettext('Site
administration')}, context_instance=template.RequestContext(request))
index = staff_member_required(never_cache(index))
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---