diff options
author | Philip Sargent <philip.sargent@klebos.com> | 2020-06-08 00:11:09 +0100 |
---|---|---|
committer | Philip Sargent <philip.sargent@klebos.com> | 2020-06-08 00:11:09 +0100 |
commit | 538a3b6ca839e884a541e39f517a7c64b363530a (patch) | |
tree | 66367109b463b140cd917bf052a1fb00f2584782 /core/forms.py | |
parent | 9237a6262ef310d57df6e40631c7de738cdc2f05 (diff) | |
download | troggle-538a3b6ca839e884a541e39f517a7c64b363530a.tar.gz troggle-538a3b6ca839e884a541e39f517a7c64b363530a.tar.bz2 troggle-538a3b6ca839e884a541e39f517a7c64b363530a.zip |
fixed circular ref on setup & in-memory db
Diffstat (limited to 'core/forms.py')
-rw-r--r-- | core/forms.py | 47 |
1 files changed, 26 insertions, 21 deletions
diff --git a/core/forms.py b/core/forms.py index 0cd156f..417ed10 100644 --- a/core/forms.py +++ b/core/forms.py @@ -151,31 +151,36 @@ def get_name(pe): return pe.person.first_name class UploadFileForm(forms.Form): - title = forms.CharField(max_length=50) - file = forms.FileField() - html = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 30})) - lon_utm = forms.FloatField(required=False) - lat_utm = forms.FloatField(required=False) - slug = forms.CharField(max_length=50) - date = forms.DateField(required=False) - - caves = [cave.slug for cave in Cave.objects.all()] - #caves.sort() - caves = ["-----"] + caves - cave = forms.ChoiceField([(c, c) for c in caves], required=False) + # Because this has EXECUTABLE statements in its signature (the fields) they get + # executed when this module is LOADED. Which barfs horribly. + # so all replaced by an __init__ method instead. + def __init__(self): + title = forms.CharField(max_length=50) + file = forms.FileField() + html = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 30})) + lon_utm = forms.FloatField(required=False) + lat_utm = forms.FloatField(required=False) + slug = forms.CharField(max_length=50) + date = forms.DateField(required=False) + + #This next line is the one that causes django.setup() to BARF LOUDLY + caves = [cave.slug for cave in Cave.objects.all()] + #caves.sort() # sort needs rewriting for python3 + caves = ["-----"] + caves + cave = forms.ChoiceField([(c, c) for c in caves], required=False) - entrance = forms.ChoiceField([("-----", "Please select a cave"), ], required=False) - qm = forms.ChoiceField([("-----", "Please select a cave"), ], required=False) + entrance = forms.ChoiceField([("-----", "Please select a cave"), ], required=False) + qm = forms.ChoiceField([("-----", "Please select a cave"), ], required=False) - expeditions = [e.year for e in Expedition.objects.all()] - expeditions.sort() - expeditions = ["-----"] + expeditions - expedition = forms.ChoiceField([(e, e) for e in expeditions], required=False) + expeditions = [e.year for e in Expedition.objects.all()] + expeditions.sort() + expeditions = ["-----"] + expeditions + expedition = forms.ChoiceField([(e, e) for e in expeditions], required=False) - logbookentry = forms.ChoiceField([("-----", "Please select an expedition"), ], required=False) + logbookentry = forms.ChoiceField([("-----", "Please select an expedition"), ], required=False) - person = forms.ChoiceField([("-----", "Please select an expedition"), ], required=False) + person = forms.ChoiceField([("-----", "Please select an expedition"), ], required=False) - survey_point = forms.CharField() + survey_point = forms.CharField() |