diff --git a/tailbone/views/batch/core.py b/tailbone/views/batch/core.py index cf236c36..bcf33479 100644 --- a/tailbone/views/batch/core.py +++ b/tailbone/views/batch/core.py @@ -312,7 +312,7 @@ class BatchMasterView(MasterView): f.remove_field('complete') def save_create_form(self, form): - uploads = self.normalize_uploads(form, skip=['filename']) + uploads = self.normalize_uploads(form) self.before_create(form) session = self.Session() @@ -327,18 +327,10 @@ class BatchMasterView(MasterView): # obtain kwargs for making batch via handler, below kwargs = self.get_batch_kwargs(batch) - # TODO: this needs work yet surely... - if 'filename' in form.schema: - filedict = kwargs.pop('filename', None) - filepath = None - if filedict: - kwargs['filename'] = '' # null not allowed - tempdir = tempfile.mkdtemp() - filepath = os.path.join(tempdir, filedict['filename']) - tmpinfo = form.deform_form['filename'].widget.tmpstore.get(filedict['uid']) - tmpdata = tmpinfo['fp'].read() - with open(filepath, 'wb') as f: - f.write(tmpdata) + # TODO: this needs work yet surely...why is this an issue? + # treat 'filename' field specially, for some reason it can be a filedict? + if 'filename' in kwargs and not isinstance(kwargs['filename'], six.string_types): + kwargs['filename'] = '' # null not allowed # TODO: is this still necessary with colander? # destroy initial batch and re-make using handler