summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorLoic Bistuer <loic.bistuer@sixmedia.com>2013-04-17 01:49:22 +0700
committerTim Graham <timograham@gmail.com>2013-05-31 12:48:51 -0400
commit23e1b59cf2ad6a75637dd0273973e657e48e317e (patch)
treedb4551430adc5e599b04e9f41dc922a98a23d4a2 /django
parentf10e9af22759cc287a967bba02c75d2834761f1e (diff)
Fixed #18681 -- BaseModelAdmin.get_form and InlineModelAdmin.get_formset no longer bypass get_fieldsets
Thanks msopacua for the report.
Diffstat (limited to 'django')
-rw-r--r--django/contrib/admin/options.py16
1 files changed, 8 insertions, 8 deletions
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py
index a0a82f32ff..97f82cbb59 100644
--- a/django/contrib/admin/options.py
+++ b/django/contrib/admin/options.py
@@ -498,7 +498,7 @@ class ModelAdmin(BaseModelAdmin):
"Hook for specifying fieldsets for the add form."
if self.declared_fieldsets:
return self.declared_fieldsets
- form = self.get_form(request, obj)
+ form = self.get_form(request, obj, fields=None)
fields = list(form.base_fields) + list(self.get_readonly_fields(request, obj))
return [(None, {'fields': fields})]
@@ -507,10 +507,10 @@ class ModelAdmin(BaseModelAdmin):
Returns a Form class for use in the admin add view. This is used by
add_view and change_view.
"""
- if self.declared_fieldsets:
- fields = flatten_fieldsets(self.declared_fieldsets)
+ if 'fields' in kwargs:
+ fields = kwargs.pop('fields')
else:
- fields = None
+ fields = flatten_fieldsets(self.get_fieldsets(request, obj))
if self.exclude is None:
exclude = []
else:
@@ -1518,10 +1518,10 @@ class InlineModelAdmin(BaseModelAdmin):
def get_formset(self, request, obj=None, **kwargs):
"""Returns a BaseInlineFormSet class for use in admin add/change views."""
- if self.declared_fieldsets:
- fields = flatten_fieldsets(self.declared_fieldsets)
+ if 'fields' in kwargs:
+ fields = kwargs.pop('fields')
else:
- fields = None
+ fields = flatten_fieldsets(self.get_fieldsets(request, obj))
if self.exclude is None:
exclude = []
else:
@@ -1593,7 +1593,7 @@ class InlineModelAdmin(BaseModelAdmin):
def get_fieldsets(self, request, obj=None):
if self.declared_fieldsets:
return self.declared_fieldsets
- form = self.get_formset(request, obj).form
+ form = self.get_formset(request, obj, fields=None).form
fields = list(form.base_fields) + list(self.get_readonly_fields(request, obj))
return [(None, {'fields': fields})]