Fix crash in multireg when trying to delete nonexisting reg
authorMagnus Hagander <magnus@hagander.net>
Wed, 7 Feb 2018 12:13:03 +0000 (13:13 +0100)
committerMagnus Hagander <magnus@hagander.net>
Wed, 7 Feb 2018 12:13:03 +0000 (13:13 +0100)
We can't delete a registration until it has been saved at least once. So
just avoid trying.

postgresqleu/confreg/views.py

index 62e562f25629bc17c6a45c455cf9240ed0c08303..762aa8c3699d7c302c383508b55653542cca2f65 100644 (file)
@@ -343,7 +343,10 @@ def multireg(request, confname, regid=None):
                elif request.POST['submit'] == 'Cancel':
                        return HttpResponseRedirect(redir_root)
                elif request.POST['submit'] == 'Delete':
-                       reg.delete()
+                       if reg.pk:
+                               # Only delete if it has a primary key. Not having a primary key means
+                               # it was never saved, so there is nothing to delete.
+                               reg.delete()
                        return HttpResponseRedirect(redir_root)
                elif request.POST['submit'] == 'Save':
                        reg.email = request.POST['_email']