diff --git a/beat/web/accounts/models.py b/beat/web/accounts/models.py
index 500597da2899cf81d64412919206240df304974a..d8821bec4f6aa1fce09c4eff3bbb53eb0f599748 100644
--- a/beat/web/accounts/models.py
+++ b/beat/web/accounts/models.py
@@ -153,6 +153,27 @@ def save_user_profile(sender, instance, **kwargs):
     instance.profile.save()
 
 
+class TemporaryUrlManager(models.Manager):
+    def create_temporary_url(self, status, supervision_track):
+        # Actions that result creating the object
+
+        # url_hash creation
+        length = 32
+        url_hash = "".join(
+            random.choice(string.ascii_letters + string.digits)  # nosec
+            for _ in range(length)
+        )
+        now = datetime.datetime.now()
+        expiration_date_delta = datetime.timedelta(days=settings.ACCOUNT_ACTIVATION_DAYS_FROM_SUPERVISOR)
+        expires = now + expiration_date_delta
+
+        temporary_url = self.model(status=status,
+                                   url_hash=url_hash,
+                                   expires=expires,
+                                   supervision_track=supervision_track)
+        temporary_url.save()
+        return temporary_url
+
 class TemporaryUrl(models.Model):
     # _____ Constants __________
 
@@ -175,19 +196,4 @@ class TemporaryUrl(models.Model):
         SupervisionTrack, on_delete=models.CASCADE, related_name="supervisees"
     )
 
-    def _generate_temporary_url(self, status, supervision_track):
-        # Actions that result creating the object
-
-        # url_hash creation
-        length = 32
-        url_hash = "".join(
-            random.choice(string.ascii_letters + string.digits)  # nosec
-            for _ in range(length)
-        )
-        self.url_hash = url_hash
-        now = datetime.datetime.now()
-        expiration_date_delta = datetime.timedelta(days=settings.ACCOUNT_ACTIVATION_DAYS_FROM_SUPERVISOR)
-        self.expires = now + expiration_date_delta
-        self.status = status
-        self.supervision_track = supervision_track
-        self.save()
+    objects = TemporaryUrlManager()