From 9cc40e958cb392139085cc16c7257bc2d2d395e6 Mon Sep 17 00:00:00 2001
From: George Katsikas <giorgakis.katsikas@gmail.com>
Date: Tue, 5 Dec 2023 16:19:31 +0100
Subject: [PATCH] fix fellowships from nomination not being saved

---
 scipost_django/colleges/views.py | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/scipost_django/colleges/views.py b/scipost_django/colleges/views.py
index 481b7f7cc..1e033d68a 100644
--- a/scipost_django/colleges/views.py
+++ b/scipost_django/colleges/views.py
@@ -1053,6 +1053,7 @@ def _hx_fellowship_invitation_update_response(request, invitation_id):
             nonexpired_fellowship = (
                 Fellowship.objects.exclude(
                     until_date__lte=timezone.now().date(),
+                    status=Fellowship.STATUS_GUEST,
                 )
                 .filter(
                     college=invitation.nomination.college,
@@ -1065,7 +1066,7 @@ def _hx_fellowship_invitation_update_response(request, invitation_id):
             # Create a new Fellowship if no object exists
             if not nonexpired_fellowship:
                 start_date = invitation.postpone_start_to or timezone.now()
-                fellowship = Fellowship.objects.create(
+                nonexpired_fellowship = Fellowship.objects.create(
                     college=invitation.nomination.college,
                     contributor=invitation.nomination.profile.contributor,
                     start_date=start_date,
@@ -1073,11 +1074,12 @@ def _hx_fellowship_invitation_update_response(request, invitation_id):
                 )
 
                 invitation.nomination.add_event(
-                    description=f"Fellowship created (start: {fellowship.start_date.strftime('%Y-%m-%d')})",
+                    description=f"Fellowship created (start: {nonexpired_fellowship.start_date.strftime('%Y-%m-%d')})",
                     by=request.user.contributor,
                 )
 
-                invitation.nomination.fellowship = fellowship
+            invitation.nomination.fellowship = nonexpired_fellowship
+            invitation.nomination.save()
         #     else:
         #         # Update the start date of the Fellowship if an object already exists
         #         nonexpired_fellowship.start_date = (
-- 
GitLab