From 4cc0d9375e742c68d1e1fe1ff77dfa8607c7985a Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Tue, 7 Aug 2007 15:17:35 +0000 Subject: [PATCH] newforms-admin: Modified handling of request.POST and request.FILES to match the FileField changes introduced to trunk in [5219], which were merged to newforms-admin in [5228]. File uploads on inline FormSets will not be handled correctly. git-svn-id: http://code.djangoproject.com/svn/django/branches/newforms-admin@5830 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/contrib/admin/options.py | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py index 2e96190c70..d57270dcb5 100644 --- a/django/contrib/admin/options.py +++ b/django/contrib/admin/options.py @@ -417,13 +417,10 @@ class ModelAdmin(BaseModelAdmin): ModelForm = forms.form_for_model(model, formfield_callback=self.formfield_for_dbfield) inline_formsets = [] - if request.POST: - new_data = request.POST.copy() - if opts.has_field_type(models.FileField): - new_data.update(request.FILES) - form = ModelForm(new_data) + if request.method == 'POST': + form = ModelForm(request.POST, request.FILES) for FormSet in self.get_inline_formsets(): - inline_formset = FormSet(data=new_data) + inline_formset = FormSet(data=request.POST) inline_formsets.append(inline_formset) if all_valid(inline_formsets) and form.is_valid(): return self.save_add(request, model, form, inline_formsets, '../%s/') @@ -470,13 +467,10 @@ class ModelAdmin(BaseModelAdmin): ModelForm = forms.form_for_instance(obj, formfield_callback=self.formfield_for_dbfield) inline_formsets = [] - if request.POST: - new_data = request.POST.copy() - if opts.has_field_type(models.FileField): - new_data.update(request.FILES) - form = ModelForm(new_data) + if request.method == 'POST': + form = ModelForm(request.POST, request.FILES) for FormSet in self.get_inline_formsets(): - inline_formset = FormSet(obj, new_data) + inline_formset = FormSet(obj, request.POST) inline_formsets.append(inline_formset) if all_valid(inline_formsets) and form.is_valid():