From 21e29e468e124af5631e6c7e4d535a94a7da51d2 Mon Sep 17 00:00:00 2001
From: Fredrik Jonsson <frjo@xdeb.org>
Date: Thu, 21 Feb 2019 09:18:52 +0100
Subject: [PATCH] Only perform state transition on applicant save if there is a
 higer state.

---
 opentech/apply/funds/views.py | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/opentech/apply/funds/views.py b/opentech/apply/funds/views.py
index 67d504a0f..804c49e41 100644
--- a/opentech/apply/funds/views.py
+++ b/opentech/apply/funds/views.py
@@ -494,14 +494,17 @@ class ApplicantSubmissionEditView(BaseSubmissionEditView):
             )
 
         action = set(self.request.POST.keys()) & set(self.transitions.keys())
-        transition = self.transitions[action.pop()]
-
-        self.object.perform_transition(
-            transition.target,
-            self.request.user,
-            request=self.request,
-            notify=not (revision or submitting_proposal),  # Use the other notification
-        )
+        try:
+            transition = self.transitions[action.pop()]
+        except KeyError:
+            pass
+        else:
+            self.object.perform_transition(
+                transition.target,
+                self.request.user,
+                request=self.request,
+                notify=not (revision or submitting_proposal),  # Use the other notification
+            )
 
         return HttpResponseRedirect(self.get_success_url())
 
-- 
GitLab