Give better error msg when trying to close out a patch on the last available cf
authorMagnus Hagander <magnus@hagander.net>
Sun, 18 May 2014 16:32:54 +0000 (18:32 +0200)
committerMagnus Hagander <magnus@hagander.net>
Sun, 18 May 2014 16:32:54 +0000 (18:32 +0200)
pgcommitfest/commitfest/views.py

index f34fd54040d47ce1d0c5c6201c060d374413891c..c6a69c131cfd326cf73b1050ae5bba099733ff1c 100644 (file)
@@ -353,9 +353,18 @@ def close(request, cfid, patchid, status):
                                if len(newcf) == 0:
                                        raise Exception("No open and no future commitfest exists!")
                                elif len(newcf) != 1:
-                                       raise Exception("No open and multiple future commitfests exists!")
+                                       raise Exception("No open and multiple future commitfests exist!")
                        elif len(newcf) != 1:
                                raise Exception("Multiple open commitfests exists!")
+                       elif newcf[0] == poc.commitfest:
+                               # The current open CF is the same one that we are already on.
+                               # In this case, try to see if there is a future CF we can
+                               # move it to.
+                               newcf = CommitFest.objects.filter(status=CommitFest.STATUS_FUTURE)
+                               if len(newcf) == 0:
+                                       raise Exception("Cannot move patch to the same commitfest, and no future commitfests exist!")
+                               elif len(newcf) != 1:
+                                       raise Exception("Cannot move patch to the same commitfest, and multiple future commitfests exist!")
                        # Create a mapping to the new commitfest that we are bouncing
                        # this patch to.
                        newpoc = PatchOnCommitFest(patch=poc.patch, commitfest=newcf[0], enterdate=datetime.now())