Move fetching of version list for bug form to runtime
authorMagnus Hagander <magnus@hagander.net>
Fri, 14 Jun 2019 12:31:12 +0000 (14:31 +0200)
committerMagnus Hagander <magnus@hagander.net>
Fri, 14 Jun 2019 12:32:17 +0000 (14:32 +0200)
The fact that we tried to populate it already in the definition of the
form broke the ability to run "migrate" on a completely new system.

Issue reported by Andrew Dunstan

pgweb/misc/forms.py

index 5505d82cf1fb34813986e7b4fd89a01a1dd93fcc..e327cb9f959268fb69a8474ae45fe557f4c29339 100644 (file)
@@ -21,14 +21,18 @@ class SubmitBugForm(forms.Form):
     name = forms.CharField(max_length=100, required=True)
     email = forms.EmailField(max_length=100, required=True)
     pgversion = forms.CharField(max_length=20, required=True,
-                                label="PostgreSQL version",
-                                widget=forms.Select(choices=_version_choices()))
+                                label="PostgreSQL version")
     os = forms.CharField(max_length=50, required=True,
                          label="Operating system")
     shortdesc = forms.CharField(max_length=100, required=True,
                                 label="Short description")
     details = forms.CharField(required=True, widget=forms.Textarea)
 
+    def __init__(self, *args, **kwargs):
+        super(SubmitBugForm, self).__init__(*args, **kwargs)
+
+        self.fields['pgversion'].widget = forms.Select(choices=_version_choices())
+
     def clean_pgversion(self):
         if self.cleaned_data.get('pgversion') == '-1':
             raise forms.ValidationError('You must select a version')