From dcab792313fd67cfebd924329e53d1ac54e1be31 Mon Sep 17 00:00:00 2001 From: Parbhat Puri <parbhatpuri17@gmail.com> Date: Wed, 15 May 2019 12:42:55 +0000 Subject: [PATCH] Check submission while generating URLs --- opentech/apply/funds/models/mixins.py | 8 +++++++- opentech/apply/funds/views.py | 8 +------- opentech/storage_backends.py | 18 ++++++++---------- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/opentech/apply/funds/models/mixins.py b/opentech/apply/funds/models/mixins.py index 6ca8ac3e0..388e23849 100644 --- a/opentech/apply/funds/models/mixins.py +++ b/opentech/apply/funds/models/mixins.py @@ -15,7 +15,13 @@ from opentech.apply.stream_forms.files import StreamFieldFile __all__ = ['AccessFormData'] -submission_storage = get_storage_class(getattr(settings, 'PRIVATE_FILE_STORAGE', None))() +private_file_storage = getattr(settings, 'PRIVATE_FILE_STORAGE', None) +submission_storage_class = get_storage_class(private_file_storage) + +if private_file_storage: + submission_storage = submission_storage_class(is_submission=True) +else: + submission_storage = submission_storage_class() class UnusedFieldException(Exception): diff --git a/opentech/apply/funds/views.py b/opentech/apply/funds/views.py index f263fef55..8b9b7f7d3 100644 --- a/opentech/apply/funds/views.py +++ b/opentech/apply/funds/views.py @@ -62,13 +62,7 @@ from .tables import ( from .workflow import STAGE_CHANGE_ACTIONS, PHASES_MAPPING, review_statuses from .permissions import is_user_has_access_to_view_submission -private_file_storage = getattr(settings, 'PRIVATE_FILE_STORAGE', None) -submission_storage_class = get_storage_class(private_file_storage) - -if private_file_storage: - submission_storage = submission_storage_class(internal_url=False) -else: - submission_storage = submission_storage_class() +submission_storage = get_storage_class(getattr(settings, 'PRIVATE_FILE_STORAGE', None)) class BaseAdminSubmissionsTable(SingleTableMixin, FilterView): diff --git a/opentech/storage_backends.py b/opentech/storage_backends.py index d8404ca5a..3a347b4cb 100644 --- a/opentech/storage_backends.py +++ b/opentech/storage_backends.py @@ -29,20 +29,18 @@ class PrivateMediaStorage(S3Boto3Storage): file_overwrite = False querystring_auth = True url_protocol = 'https:' - internal_url = True + is_submission = False def url(self, name, parameters=None, expire=None): - if self.internal_url: + if self.is_submission: try: name_parts = name.split('/') - # Create and return internal URL only for submissions - if name_parts[0] == 'submission': - return reverse( - 'apply:submissions:private_media_redirect', kwargs={ - 'submission_id': name_parts[1], 'field_id': name_parts[2], - 'file_name': name_parts[3] - } - ) + return reverse( + 'apply:submissions:private_media_redirect', kwargs={ + 'submission_id': name_parts[1], 'field_id': name_parts[2], + 'file_name': name_parts[3] + } + ) except IndexError: pass -- GitLab