drive-pipeline/drive/forms.py
2020-10-24 01:21:02 -04:00

142 lines
8.5 KiB
Python

from django import forms
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Submit, Div, MultiField, Fieldset, ButtonHolder
from .choices import *
class PollForm(forms.Form):
# User Data
first_name = forms.CharField(label="First name:", max_length=30)
last_name = forms.CharField(label="Last name:", max_length=30)
email = forms.EmailField(max_length=254)
# Decision Making
d0 = forms.ChoiceField(label=DECISION_QUESTIONS[0], choices = CHOICES, required = False)
d1 = forms.ChoiceField(label=DECISION_QUESTIONS[1], choices = CHOICES, required = False)
d2 = forms.ChoiceField(label=DECISION_QUESTIONS[2], choices = CHOICES, required = False)
d3 = forms.ChoiceField(label=DECISION_QUESTIONS[3], choices = CHOICES, required = False)
d4 = forms.ChoiceField(label=DECISION_QUESTIONS[4], choices = CHOICES, required = False)
d5 = forms.ChoiceField(label=DECISION_QUESTIONS[5], choices = CHOICES, required = False)
d6 = forms.ChoiceField(label=DECISION_QUESTIONS[6], choices = CHOICES, required = False)
d7 = forms.ChoiceField(label=DECISION_QUESTIONS[7], choices = CHOICES, required = False)
# Decision Making IT
dit0 = forms.ChoiceField(label=DECISION_IT_QUESTIONS[0], choices = CHOICES, required = False)
dit1 = forms.ChoiceField(label=DECISION_IT_QUESTIONS[1], choices = CHOICES, required = False)
dit2 = forms.ChoiceField(label=DECISION_IT_QUESTIONS[2], choices = CHOICES, required = False)
dit3 = forms.ChoiceField(label=DECISION_IT_QUESTIONS[3], choices = CHOICES, required = False)
dit4 = forms.ChoiceField(label=DECISION_IT_QUESTIONS[4], choices = CHOICES, required = False)
dit5 = forms.ChoiceField(label=DECISION_IT_QUESTIONS[5], choices = CHOICES, required = False)
dit6 = forms.ChoiceField(label=DECISION_IT_QUESTIONS[6], choices = CHOICES, required = False)
dit7 = forms.ChoiceField(label=DECISION_IT_QUESTIONS[7], choices = CHOICES, required = False)
dit8 = forms.ChoiceField(label=DECISION_IT_QUESTIONS[8], choices = CHOICES, required = False)
dit9 = forms.ChoiceField(label=DECISION_IT_QUESTIONS[9], choices = CHOICES, required = False)
dit10 = forms.ChoiceField(label=DECISION_IT_QUESTIONS[10], choices = CHOICES, required = False)
# Decision Making Legal
dl0 = forms.ChoiceField(label=DECISION_LEGAL_QUESTIONS[0], choices = CHOICES, required = False)
dl1 = forms.ChoiceField(label=DECISION_LEGAL_QUESTIONS[1], choices = CHOICES, required = False)
dl2 = forms.ChoiceField(label=DECISION_LEGAL_QUESTIONS[2], choices = CHOICES, required = False)
dl3 = forms.ChoiceField(label=DECISION_LEGAL_QUESTIONS[3], choices = CHOICES, required = False)
dl4 = forms.ChoiceField(label=DECISION_LEGAL_QUESTIONS[4], choices = CHOICES, required = False)
dl5 = forms.ChoiceField(label=DECISION_LEGAL_QUESTIONS[5], choices = CHOICES, required = False)
dl6 = forms.ChoiceField(label=DECISION_LEGAL_QUESTIONS[6], choices = CHOICES, required = False)
dl7 = forms.ChoiceField(label=DECISION_LEGAL_QUESTIONS[7], choices = CHOICES, required = False)
dl8 = forms.ChoiceField(label=DECISION_LEGAL_QUESTIONS[8], choices = CHOICES, required = False)
dl9 = forms.ChoiceField(label=DECISION_LEGAL_QUESTIONS[9], choices = CHOICES, required = False)
dl10 = forms.ChoiceField(label=DECISION_LEGAL_QUESTIONS[10], choices = CHOICES, required = False)
dl11 = forms.ChoiceField(label=DECISION_LEGAL_QUESTIONS[11], choices = CHOICES, required = False)
dl12 = forms.ChoiceField(label=DECISION_LEGAL_QUESTIONS[12], choices = CHOICES, required = False)
dl13 = forms.ChoiceField(label=DECISION_LEGAL_QUESTIONS[13], choices = CHOICES, required = False)
dl14 = forms.ChoiceField(label=DECISION_LEGAL_QUESTIONS[14], choices = CHOICES, required = False)
dl15 = forms.ChoiceField(label=DECISION_LEGAL_QUESTIONS[15], choices = CHOICES, required = False)
dl16 = forms.ChoiceField(label=DECISION_LEGAL_QUESTIONS[16], choices = CHOICES, required = False)
dl17 = forms.ChoiceField(label=DECISION_LEGAL_QUESTIONS[17], choices = CHOICES, required = False)
# Resources
r0 = forms.ChoiceField(label=RESOURCES_QUESTIONS[0], choices = CHOICES, required = False)
r1 = forms.ChoiceField(label=RESOURCES_QUESTIONS[1], choices = CHOICES, required = False)
r2 = forms.ChoiceField(label=RESOURCES_QUESTIONS[2], choices = CHOICES, required = False)
r3 = forms.ChoiceField(label=RESOURCES_QUESTIONS[3], choices = CHOICES, required = False)
r4 = forms.ChoiceField(label=RESOURCES_QUESTIONS[4], choices = CHOICES, required = False)
r5 = forms.ChoiceField(label=RESOURCES_QUESTIONS[5], choices = CHOICES, required = False)
r6 = forms.ChoiceField(label=RESOURCES_QUESTIONS[6], choices = CHOICES, required = False)
r7 = forms.ChoiceField(label=RESOURCES_QUESTIONS[7], choices = CHOICES, required = False)
r8 = forms.ChoiceField(label=RESOURCES_QUESTIONS[8], choices = CHOICES, required = False)
r9 = forms.ChoiceField(label=RESOURCES_QUESTIONS[9], choices = CHOICES, required = False)
r10 = forms.ChoiceField(label=RESOURCES_QUESTIONS[10], choices = CHOICES, required = False)
r11 = forms.ChoiceField(label=RESOURCES_QUESTIONS[11], choices = CHOICES, required = False)
r12 = forms.ChoiceField(label=RESOURCES_QUESTIONS[12], choices = CHOICES, required = False)
# Impact
i0 = forms.ChoiceField(label=IMPACT_QUESTIONS[0], choices = CHOICES, required = False)
i1 = forms.ChoiceField(label=IMPACT_QUESTIONS[1], choices = CHOICES, required = False)
i2 = forms.ChoiceField(label=IMPACT_QUESTIONS[2], choices = CHOICES, required = False)
i3 = forms.ChoiceField(label=IMPACT_QUESTIONS[3], choices = CHOICES, required = False)
i4 = forms.ChoiceField(label=IMPACT_QUESTIONS[4], choices = CHOICES, required = False)
i5 = forms.ChoiceField(label=IMPACT_QUESTIONS[5], choices = CHOICES, required = False)
i6 = forms.ChoiceField(label=IMPACT_QUESTIONS[6], choices = CHOICES, required = False)
i7 = forms.ChoiceField(label=IMPACT_QUESTIONS[7], choices = CHOICES, required = False)
# Velocity
v0 = forms.ChoiceField(label=VELOCITY_QUESTIONS[0], choices = CHOICES, required = False)
v1 = forms.ChoiceField(label=VELOCITY_QUESTIONS[1], choices = CHOICES, required = False)
v2 = forms.ChoiceField(label=VELOCITY_QUESTIONS[2], choices = CHOICES, required = False)
v3 = forms.ChoiceField(label=VELOCITY_QUESTIONS[3], choices = CHOICES, required = False)
# Expectations
e0 = forms.ChoiceField(label=EXPECTATIONS_QUESTIONS[0], choices = CHOICES, required = False)
e1 = forms.ChoiceField(label=EXPECTATIONS_QUESTIONS[1], choices = CHOICES, required = False)
e2 = forms.ChoiceField(label=EXPECTATIONS_QUESTIONS[2], choices = CHOICES, required = False)
e3 = forms.ChoiceField(label=EXPECTATIONS_QUESTIONS[3], choices = CHOICES, required = False)
e4 = forms.ChoiceField(label=EXPECTATIONS_QUESTIONS[4], choices = CHOICES, required = False)
e5 = forms.ChoiceField(label=EXPECTATIONS_QUESTIONS[5], choices = CHOICES, required = False)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.form_method = 'post'
self.helper.form_class = 'form-horizontal'
self.helper.label_class = 'col-md'
self.helper.field_class = 'col-md'
self.helper.layout = Layout(
Fieldset(
'Some quick info',
'first_name',
'last_name',
'email'
),
Fieldset(
'Decisions',
*[f'd{i}' for i in range(len(DECISION_QUESTIONS))]
),
Fieldset(
'Decisions (IT)',
*[f'dit{i}' for i in range(len(DECISION_IT_QUESTIONS))]
),
Fieldset(
'Decisions (Legal/Procurement)',
*[f'dl{i}' for i in range(len(DECISION_LEGAL_QUESTIONS))]
),
Fieldset(
'Resources',
*[f'r{i}' for i in range(len(RESOURCES_QUESTIONS))]
),
Fieldset(
'Impact',
*[f'i{i}' for i in range(len(IMPACT_QUESTIONS))]
),
Fieldset(
'Velocity',
*[f'v{i}' for i in range(len(VELOCITY_QUESTIONS))]
),
Fieldset(
'Expectations',
*[f'e{i}' for i in range(len(EXPECTATIONS_QUESTIONS))]
),
ButtonHolder(
Submit('submit', 'Submit', css_class='btn-lg btn-block m-3')
)
)