From 6da05900249293aeaae88532ea5eebefc1c946ac Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Thu, 16 Jan 2020 20:21:36 +0100
Subject: [PATCH] Remove instance-based renaming from path_and_rename

---
 aleksis/core/util/core_helpers.py | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/aleksis/core/util/core_helpers.py b/aleksis/core/util/core_helpers.py
index ec114c5c0..5eb24736d 100644
--- a/aleksis/core/util/core_helpers.py
+++ b/aleksis/core/util/core_helpers.py
@@ -125,14 +125,13 @@ def celery_optional(orig: Callable) -> Callable:
         return orig
 
 
-def path_and_rename(instance, filename):
-    upload_to = 'files'
-    ext = filename.split('.')[-1].lower()
-    # get filename
-    if instance.pk:
-        filename = '{}.{}'.format(instance.pk, ext)
-    else:
-        # set filename as random string
-        filename = '{}.{}'.format(uuid4().hex, ext)
+def path_and_rename(instance, filename: str, upload_to: str = "files") -> str:
+    """ Updates path of an uploaded file while using in Django FileField """
+
+    _, ext = os.path.splitext(filename)
+
+    # set filename as random string
+    new_filename = '{}.{}'.format(uuid4().hex, ext)
+
     # return the whole path to the file
-    return os.path.join(upload_to, filename)
+    return os.path.join(upload_to, new_filename)
-- 
GitLab