Changeset 5833
- Timestamp:
- 08/09/07 09:47:49 (1 year ago)
- Files:
-
- django/branches/newforms-admin/django/contrib/admin/options.py (modified) (2 diffs)
- django/branches/newforms-admin/django/contrib/admin/views/main.py (modified) (1 diff)
- django/branches/newforms-admin/django/newforms/formsets.py (modified) (3 diffs)
- django/branches/newforms-admin/django/newforms/models.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/newforms-admin/django/contrib/admin/options.py
r5830 r5833 421 421 form = ModelForm(request.POST, request.FILES) 422 422 for FormSet in self.get_inline_formsets(): 423 inline_formset = FormSet(data=request.POST )423 inline_formset = FormSet(data=request.POST, files=request.FILES) 424 424 inline_formsets.append(inline_formset) 425 425 if all_valid(inline_formsets) and form.is_valid(): … … 471 471 form = ModelForm(request.POST, request.FILES) 472 472 for FormSet in self.get_inline_formsets(): 473 inline_formset = FormSet(obj, request.POST )473 inline_formset = FormSet(obj, request.POST, request.FILES) 474 474 inline_formsets.append(inline_formset) 475 475 django/branches/newforms-admin/django/contrib/admin/views/main.py
r5828 r5833 125 125 'has_delete_permission': context['perms'][app_label][opts.get_delete_permission()], 126 126 'has_change_permission': context['perms'][app_label][opts.get_change_permission()], 127 'has_file_field': opts.has_field_type(models.FileField),127 'has_file_field': True, # FIXME - this should check if form or formsets have a FileField, 128 128 'has_absolute_url': hasattr(model, 'get_absolute_url'), 129 129 'ordered_objects': ordered_objects, django/branches/newforms-admin/django/newforms/formsets.py
r5578 r5833 21 21 """A collection of instances of the same Form class.""" 22 22 23 def __init__(self, data=None, auto_id='id_%s', prefix=None, initial=None):24 self.is_bound = data is not None 23 def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None, initial=None): 24 self.is_bound = data is not None and files is not None 25 25 self.prefix = prefix or 'form' 26 26 self.auto_id = auto_id 27 27 self.data = data 28 self.files = files 28 29 self.initial = initial 29 30 # initialization is different depending on whether we recieved data, initial, or nothing 30 if data :31 self.management_form = ManagementForm(data, auto_id=self.auto_id, prefix=self.prefix)31 if data or files: 32 self.management_form = ManagementForm(data, files, auto_id=self.auto_id, prefix=self.prefix) 32 33 if self.management_form.is_valid(): 33 34 self.total_forms = self.management_form.cleaned_data[FORM_COUNT_FIELD_NAME] … … 57 58 if self.data: 58 59 kwargs['data'] = self.data 60 if self.files: 61 kwargs['files'] = self.files 59 62 add_form = FormClass(**kwargs) 60 63 self.add_fields(add_form, i) … … 73 76 if self.data: 74 77 kwargs['data'] = self.data 78 if self.files: 79 kwargs['files'] = self.files 75 80 if self.initial: 76 81 kwargs['initial'] = self.initial[i] django/branches/newforms-admin/django/newforms/models.py
r5828 r5833 235 235 model = None 236 236 237 def __init__(self, data=None, auto_id='id_%s', prefix=None, instances=None):237 def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None, instances=None): 238 238 self.instances = instances 239 kwargs = {'data': data, ' auto_id': auto_id, 'prefix': prefix}239 kwargs = {'data': data, 'files': files, 'auto_id': auto_id, 'prefix': prefix} 240 240 if instances: 241 241 kwargs['initial'] = [initial_data(instance) for instance in instances] … … 288 288 class InlineFormset(BaseModelFormSet): 289 289 """A formset for child objects related to a parent.""" 290 def __init__(self, instance=None, data=None ):290 def __init__(self, instance=None, data=None, files=None): 291 291 from django.db.models.fields.related import RelatedObject 292 292 self.instance = instance 293 293 # is there a better way to get the object descriptor? 294 294 self.rel_name = RelatedObject(self.fk.rel.to, self.model, self.fk).get_accessor_name() 295 super(InlineFormset, self).__init__(data, instances=self.get_inline_objects(), prefix=self.rel_name)295 super(InlineFormset, self).__init__(data, files, instances=self.get_inline_objects(), prefix=self.rel_name) 296 296 297 297 def get_inline_objects(self):
