1
1
from django import forms
2
- from .models import User , RiskAssessment , SourceWater ,Inflow , PathogenGroup ,Exposure , Treatment , LogRemoval , Reference , Comparison
2
+ from .models import (
3
+ User ,
4
+ RiskAssessment ,
5
+ SourceWater ,
6
+ Inflow ,
7
+ PathogenGroup ,
8
+ Exposure ,
9
+ Treatment ,
10
+ LogRemoval ,
11
+ Reference ,
12
+ Comparison ,
13
+ )
3
14
from crispy_forms .helper import FormHelper
4
- from crispy_forms .layout import Layout , Field , ButtonHolder , Submit
15
+ from crispy_forms .layout import Layout , Field , ButtonHolder , Submit , Div
16
+ from formtools .wizard .views import SessionWizardView
5
17
6
18
7
19
class RAForm (forms .ModelForm ):
8
20
def __init__ (self , user , * args , ** kwargs ):
9
21
super (RAForm , self ).__init__ (* args , ** kwargs )
10
- self .fields ['treatment' ].help_text = "Please select your treatment configuration"
11
- self .fields ['source' ].help_text = "Please select your source water"
12
- self .fields ['source' ].empty_label = None
13
- self .fields ['exposure' ].empty_label = None
14
- self .fields ['exposure' ].help_text = "Please define your exposure scenario"
15
- self .fields ['exposure' ].queryset = Exposure .objects .filter (user__in = [user , 1 ]).order_by ("id" )
16
- self .fields ['treatment' ].queryset = Treatment .objects .filter (user__in = [user , 1 ]).order_by ("id" ).order_by ("category" )
22
+ self .fields [
23
+ "treatment"
24
+ ].help_text = "Please select your treatment configuration"
25
+ self .fields ["source" ].help_text = "Please select your source water"
26
+ self .fields ["source" ].empty_label = None
27
+ self .fields ["exposure" ].empty_label = None
28
+ self .fields ["exposure" ].help_text = "Please define your exposure scenario"
29
+ self .fields ["exposure" ].queryset = Exposure .objects .filter (
30
+ user__in = [user , 1 ]
31
+ ).order_by ("id" )
32
+ self .fields ["treatment" ].queryset = (
33
+ Treatment .objects .filter (user__in = [user , 1 ])
34
+ .order_by ("id" )
35
+ .order_by ("category" )
36
+ )
37
+ self .fields ["name" ].widget .attrs .update ({'class' : 'text-field-bg' })
38
+ self .fields ["description" ].widget .attrs .update ({'class' : 'text-field-bg' })
39
+
17
40
self .helper = FormHelper ()
41
+
42
+ self .helper .layout = Layout (
43
+ Div ('source' , css_class = 'radio-div-bg' ),
44
+ Div ('exposure' , css_class = 'radio-div-bg' ),
45
+ # Add other fields or layout objects as nee
46
+ )
47
+
18
48
class Meta :
19
- model = RiskAssessment
20
- fields = ["name" ,"description" ,"source" ,"treatment" , "exposure" ]
21
- widgets = {"source" : forms .RadioSelect (attrs = {"empty_label" :None }),
22
- "treatment" : forms .CheckboxSelectMultiple (), "exposure" : forms .RadioSelect (attrs = {"empty_label" :None })}
23
-
49
+ model = RiskAssessment
50
+ fields = ["name" , "description" , "source" , "treatment" , "exposure" ]
51
+ widgets = {
52
+ "source" : forms .RadioSelect (attrs = {"class" : "radio-bg" , "empty_label" : None }),
53
+ "treatment" : forms .CheckboxSelectMultiple (attrs = {"class" : "checkbox-bg" }),
54
+ "exposure" : forms .RadioSelect (attrs = {"class" : "radio-bg" , "empty_label" : None }),
55
+ }
56
+
24
57
25
58
26
59
class SourceWaterForm (forms .ModelForm ):
27
- class Meta () :
60
+ class Meta :
28
61
model = SourceWater
29
62
fields = ["water_source_name" , "water_source_description" ]
30
-
31
-
63
+
64
+
32
65
class InflowForm (forms .ModelForm ):
33
- class Meta () :
66
+ class Meta :
34
67
model = Inflow
35
68
fields = ["pathogen" , "min" , "max" , "reference" ]
36
-
69
+
37
70
38
71
class ExposureForm (forms .ModelForm ):
39
72
class Meta :
40
- model = Exposure
41
- fields = ["name" ,"description" , "events_per_year" , "volume_per_event" , "reference" ]
73
+ model = Exposure
74
+ fields = [
75
+ "name" ,
76
+ "description" ,
77
+ "events_per_year" ,
78
+ "volume_per_event" ,
79
+ "reference" ,
80
+ ]
81
+
42
82
def __init__ (self , * args , ** kwargs ):
43
83
super (ExposureForm , self ).__init__ (* args , ** kwargs )
44
- self .fields ['name' ].help_text = "The name of the exposure scenario should be unique"
45
- self .fields ['description' ].help_text = "Please enter a short description of the exposure scenario"
46
-
47
- self .fields ['events_per_year' ].help_text = "Please enter the number of expected exposure events per year"
48
- self .fields ['volume_per_event' ].help_text = "Please enter the volume per exposure event in liters (e.g. 50 mL = 0.050)"
49
- self .fields ['reference' ].queryset = Reference .objects .filter (id = 51 )
50
-
51
-
84
+ self .fields [
85
+ "name"
86
+ ].help_text = "The name of the exposure scenario should be unique"
87
+ self .fields [
88
+ "description"
89
+ ].help_text = "Please enter a short description of the exposure scenario"
90
+
91
+ self .fields [
92
+ "events_per_year"
93
+ ].help_text = "Please enter the number of expected exposure events per year"
94
+ self .fields [
95
+ "volume_per_event"
96
+ ].help_text = (
97
+ "Please enter the volume per exposure event in liters (e.g. 50 mL = 0.050)"
98
+ )
99
+ self .fields ["reference" ].queryset = Reference .objects .filter (id = 51 )
100
+
101
+
52
102
class TreatmentForm (forms .ModelForm ):
53
103
class Meta :
54
104
model = Treatment
55
- fields = ["name" , "description" ]
105
+ fields = ["name" , "description" ]
56
106
57
107
58
108
class LogRemovalForm (forms .ModelForm ):
59
109
class Meta :
60
110
model = LogRemoval
61
- fields = ['min' , 'max' , 'pathogen_group' , "reference" ]
111
+ fields = ["min" , "max" , "pathogen_group" , "reference" ]
112
+
62
113
def __init__ (self , * args , ** kwargs ):
63
114
super (LogRemovalForm , self ).__init__ (* args , ** kwargs )
64
- self .fields ['reference' ].queryset = Reference .objects .filter (id = 51 )
65
- self .fields ['pathogen_group' ].widget = forms .HiddenInput ()
115
+ self .fields ["reference" ].queryset = Reference .objects .filter (id = 51 )
116
+ self .fields ["pathogen_group" ].widget = forms .HiddenInput ()
117
+
66
118
67
-
68
119
class ComparisonForm (forms .ModelForm ):
69
120
class Meta :
70
- model = Comparison
121
+ model = Comparison
71
122
fields = ["risk_assessment" ]
72
- widgets = {"risk_assessment" : forms .CheckboxSelectMultiple ()}
73
- def __init__ (self , user , * args , ** kwargs ):
123
+ widgets = {"risk_assessment" : forms .CheckboxSelectMultiple ()}
124
+
125
+ def __init__ (self , user , * args , ** kwargs ):
74
126
super (ComparisonForm , self ).__init__ (* args , ** kwargs )
75
- self .fields ["risk_assessment" ].queryset = RiskAssessment .objects .filter (user = user )
76
- self .fields ["risk_assessment" ].help_text = "Select risk assessments for comparison"
127
+ self .fields ["risk_assessment" ].queryset = RiskAssessment .objects .filter (
128
+ user = user
129
+ )
130
+ self .fields [
131
+ "risk_assessment"
132
+ ].help_text = "Select risk assessments for comparison"
133
+ self .helper = FormHelper ()
134
+
135
+
136
+ # Step 1
137
+ class RAFormStep1 (forms .ModelForm ):
138
+
139
+
140
+ class Meta :
141
+ model = RiskAssessment
142
+ fields = ["name" , "description" ]
143
+
144
+ # Step 2
145
+ class RAFormStep2 (forms .ModelForm ):
146
+ def __init__ (self , * args , ** kwargs ):
147
+ super (RAFormStep2 , self ).__init__ (* args , ** kwargs )
148
+ self .fields ["source" ].help_text = "Please select your source water"
149
+ self .fields ["source" ].empty_label = None
77
150
self .helper = FormHelper ()
151
+ class Meta :
152
+ model = RiskAssessment
153
+ fields = ["source" ]
154
+ widgets = {
155
+ "source" : forms .RadioSelect (attrs = {"empty_label" : None }),
156
+ }
157
+
158
+ # Step 3
159
+ class RAFormStep3 (forms .ModelForm ):
160
+ def __init__ (self , * args , ** kwargs ):
161
+ super (RAFormStep3 , self ).__init__ (* args , ** kwargs )
162
+ self .fields [
163
+ "treatment"
164
+ ].help_text = "Please select your treatment configuration"
165
+
166
+ self .fields ["treatment" ].queryset = (
167
+ Treatment .objects .filter (user__in = [1 ])
168
+ .order_by ("id" )
169
+ .order_by ("category" )
170
+ )
171
+ self .helper = FormHelper ()
172
+ class Meta :
173
+ model = RiskAssessment
174
+ fields = ["treatment" ]
175
+ widgets = {
176
+ "treatment" : forms .CheckboxSelectMultiple (),
177
+ }
178
+
179
+ # Step 4
180
+ class RAFormStep4 (forms .ModelForm ):
181
+ def __init__ (self , * args , ** kwargs ):
182
+ super (RAFormStep4 , self ).__init__ (* args , ** kwargs )
183
+
184
+ self .fields ["exposure" ].empty_label = None
185
+ self .fields ["exposure" ].help_text = "Please define your exposure scenario"
186
+ self .fields ["exposure" ].queryset = Exposure .objects .filter (
187
+ user__in = [ 1 ]
188
+ ).order_by ("id" )
189
+
190
+ self .helper = FormHelper ()
191
+ class Meta :
192
+ model = RiskAssessment
193
+ fields = ["exposure" ]
194
+ widgets = {
195
+ "exposure" : forms .RadioSelect (attrs = {"empty_label" : None }),
196
+ }
197
+
198
+
199
+
200
+
201
+ # def __init__(self, user, *args, **kwargs):
202
+ # super(RAForm, self).__init__(*args, **kwargs)
203
+ # self.fields[
204
+ # "treatment"
205
+ # ].help_text = "Please select your treatment configuration"
206
+ # self.fields["source"].help_text = "Please select your source water"
207
+ # self.fields["source"].empty_label = None
208
+ # self.fields["exposure"].empty_label = None
209
+ # self.fields["exposure"].help_text = "Please define your exposure scenario"
210
+ # self.fields["exposure"].queryset = Exposure.objects.filter(
211
+ # user__in=[user, 1]
212
+ # ).order_by("id")
213
+ # self.fields["treatment"].queryset = (
214
+ # Treatment.objects.filter(user__in=[user, 1])
215
+ # .order_by("id")
216
+ # .order_by("category")
217
+ # )
218
+ # self.helper = FormHelper()
219
+
220
+ # class Meta:
221
+ # model = RiskAssessment
222
+ # fields = ["name", "description", "source", "treatment", "exposure"]
223
+ # widgets = {
224
+ # "source": forms.RadioSelect(attrs={"empty_label": None}),
225
+ # "treatment": forms.CheckboxSelectMultiple(),
226
+ # "exposure": forms.RadioSelect(attrs={"empty_label": None}),
227
+ # }
228
+ # '
0 commit comments