diff --git a/opentech/apply/funds/models/mixins.py b/opentech/apply/funds/models/mixins.py index 91779f3d16c7819d2ee32f359890f003085bac55..54c23e4158f9449d65c3761fd26069a4026e7e5d 100644 --- a/opentech/apply/funds/models/mixins.py +++ b/opentech/apply/funds/models/mixins.py @@ -38,21 +38,24 @@ class AccessFormData: @classmethod def stream_file(cls, file): - if 'path' in file: - file['filename'] = file['name'] - file['name'] = file['path'] if isinstance(file, StreamFieldFile): return file if isinstance(file, File): return StreamFieldFile(file, name=file.name, storage=submission_storage) + + # This fixes a backwards compatibility issue with #507 + # Once every application has been re-saved it should be possible to remove it + if 'path' in file: + file['filename'] = file['name'] + file['name'] = file['path'] return StreamFieldFile(None, name=file['name'], filename=file.get('filename'), storage=submission_storage) @classmethod def process_file(cls, file): - try: - return cls.stream_file(file) - except TypeError: + if isinstance(file, list): return [cls.stream_file(f) for f in file] + else: + return cls.stream_file(file) @classmethod def from_db(cls, db, field_names, values):