From 8884b2c9aa566cea128c41d25d496a1355a31f61 Mon Sep 17 00:00:00 2001
From: Saurabh Kumar <theskumar@users.noreply.github.com>
Date: Mon, 22 Aug 2022 14:09:48 +0530
Subject: [PATCH] Fix URL of private application submission files

The submission_id is used to do URL reverse for private
files are wrongly put to use one of the revisions and
the parent submission.

This fixes the submission_id with a getter function
---
 hypha/apply/funds/files.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/hypha/apply/funds/files.py b/hypha/apply/funds/files.py
index b5ee6c23e..1862c800f 100644
--- a/hypha/apply/funds/files.py
+++ b/hypha/apply/funds/files.py
@@ -14,20 +14,23 @@ def generate_submission_file_path(submission_id, field_id, file_name):
 
 
 class SubmissionStreamFieldFile(StreamFieldFile):
-    def generate_filename(self):
+
+    def get_submission_id(self):
         from hypha.apply.funds.models.submissions import ApplicationRevision
         submission_id = self.instance.pk
 
         if isinstance(self.instance, ApplicationRevision):
             submission_id = self.instance.submission.pk
+        return submission_id
 
-        return generate_submission_file_path(submission_id, self.field.id, self.name)
+    def generate_filename(self):
+        return generate_submission_file_path(self.get_submission_id(), self.field.id, self.name)
 
     @property
     def url(self):
         return reverse(
             'apply:submissions:serve_private_media', kwargs={
-                'pk': self.instance.pk,
+                'pk': self.get_submission_id(),
                 'field_id': self.field.id,
                 'file_name': self.basename,
             }
-- 
GitLab