Source code for apps.questionnaire.qol.forms
# -*- coding: utf-8 -*-
"""
This module contains all the forms for the quality of life (QOL)
questionnaires.
See the forms.py in the questionnaire app for documentation on
how to manage the forms.
:subtitle:`Class definitions:`
"""
from apps.questionnaire.forms import create_exclude_list,\
BaseQuestionnaireForm
from apps.questionnaire.qol.models import QOLQuestionnaire,\
QOLChronCUQuestionnaire
[docs]class QOLChronCUQuestionnaireForm(BaseQuestionnaireForm):
'''
QOLChronCUQuestionnaireForm
'''
form_nr = 0
form_template = 'questionnaire/QOLChronCUForm0.html'
class Meta:
model = QOLChronCUQuestionnaire
fieldsets = (None, {'fields': ()}),
# auto create exclude based on fieldsets
# print create_exclude_list(model, fieldsets)
exclude = create_exclude_list(model, fieldsets)
[docs]class QOLChronCUQuestionnaireForm1(BaseQuestionnaireForm):
'''
QOLChronCUQuestionnaireForm
'''
form_nr = 1
form_template = 'questionnaire/DefaultQuestionnaireForm.html'
def __init__(self, *args, **kwargs):
super(QOLChronCUQuestionnaireForm1, self).__init__(*args, **kwargs)
self.fields['hasproblems'].vertical_render = True
self.fields['hasproblems'].widget.attrs.update(
{'class': 'choice_display',
'choices': '''[{'yes': ['hasproblems'] }]'''})
self.fields['practical_problems'].double_column = True
self.queryset_speed_up()
class Meta:
model = QOLChronCUQuestionnaire
fieldsets = (
(None, {'fields': ('hasproblems',)}),
('hasproblems', {'fields': ('practical_problems',)}),
)
# auto create exclude based on fieldsets
# print create_exclude_list(model, fieldsets)
exclude = create_exclude_list(model, fieldsets)
[docs]class QOLChronCUQuestionnaireForm2(BaseQuestionnaireForm):
'''
QOLChronCUQuestionnaireForm2
'''
form_nr = 2
form_template = 'questionnaire/DefaultQuestionnaireForm.html'
def __init__(self, *args, **kwargs):
super(QOLChronCUQuestionnaireForm2, self).__init__(*args, **kwargs)
self.fields['social_problems'].double_column = True
self.fields['emotional_problems'].double_column = True
self.queryset_speed_up()
def condition(self, wizard):
cleaned_data = wizard.get_cleaned_data_for_form_class(
QOLChronCUQuestionnaireForm1)
if cleaned_data:
if 'hasproblems' in cleaned_data:
if cleaned_data['hasproblems'] == 'no':
return False
return True
class Meta:
model = QOLChronCUQuestionnaire
fieldsets = (
('None', {'fields': ('social_problems', 'emotional_problems',)}),
)
# auto create exclude based on fieldsets
# print create_exclude_list(model, fieldsets)
exclude = create_exclude_list(model, fieldsets)
[docs]class QOLChronCUQuestionnaireForm3(BaseQuestionnaireForm):
'''
QOLChronCUQuestionnaireForm3
'''
form_nr = 3
form_template = 'questionnaire/DefaultQuestionnaireForm.html'
def __init__(self, *args, **kwargs):
super(QOLChronCUQuestionnaireForm3, self).__init__(*args, **kwargs)
self.fields['spiritual_problems'].double_column = True
self.queryset_speed_up()
def condition(self, wizard):
cleaned_data = wizard.get_cleaned_data_for_form_class(
QOLChronCUQuestionnaireForm1)
if cleaned_data:
if 'hasproblems' in cleaned_data:
if cleaned_data['hasproblems'] == 'no':
return False
return True
class Meta:
model = QOLChronCUQuestionnaire
fieldsets = (
('None', {'fields': ('spiritual_problems',)}),
)
# auto create exclude based on fieldsets
# print create_exclude_list(model, fieldsets)
exclude = create_exclude_list(model, fieldsets)
[docs]class QOLChronCUQuestionnaireForm4(BaseQuestionnaireForm):
'''
QOLChronCUQuestionnaireForm4
'''
form_nr = 4
form_template = 'questionnaire/DefaultQuestionnaireForm.html'
def __init__(self, *args, **kwargs):
super(QOLChronCUQuestionnaireForm4, self).__init__(*args, **kwargs)
self.fields['other_problems'].widget.attrs.update({'rows': 8})
self.fields['need_contact'].required = True
def condition(self, wizard):
cleaned_data = wizard.get_cleaned_data_for_form_class(
QOLChronCUQuestionnaireForm1)
if cleaned_data:
if 'hasproblems' in cleaned_data:
if cleaned_data['hasproblems'] == 'no':
return False
return True
class Meta:
model = QOLChronCUQuestionnaire
fieldsets = (
('None', {'fields': ('other_problems', 'need_contact',)}),
)
# auto create exclude based on fieldsets
# print create_exclude_list(model, fieldsets)
exclude = create_exclude_list(model, fieldsets)
[docs]class QOLQuestionnaireForm(BaseQuestionnaireForm):
'''
QOLQuestionnaireForm
'''
form_nr = 0
form_template = 'questionnaire/DefaultQuestionnaireForm.html'
def __init__(self, *args, **kwargs):
super(QOLQuestionnaireForm, self).__init__(*args, **kwargs)
self.fields['hasproblems'].vertical_render = True
self.fields['hasproblems'].widget.attrs.update(
{'class': 'choice_display',
'choices': '''[{'yes': ['hasproblems'] }]'''})
self.fields['practical_problems'].double_column = True
self.queryset_speed_up()
class Meta:
model = QOLQuestionnaire
fieldsets = (
(None, {'fields': ('hasproblems',)}),
('hasproblems', {'fields': ('practical_problems',)}),
)
# auto create exclude based on fieldsets
# print create_exclude_list(model, fieldsets)
exclude = create_exclude_list(model, fieldsets)
[docs]class QOLQuestionnaireForm1(BaseQuestionnaireForm):
'''
QOLQuestionnaireForm1
'''
form_nr = 1
form_template = 'questionnaire/DefaultQuestionnaireForm.html'
def __init__(self, *args, **kwargs):
super(QOLQuestionnaireForm1, self).__init__(*args, **kwargs)
self.fields['social_problems'].double_column = True
self.fields['emotional_problems'].double_column = True
self.queryset_speed_up()
def condition(self, wizard):
cleaned_data = wizard.get_cleaned_data_for_form_class(
QOLQuestionnaireForm)
if cleaned_data:
if 'hasproblems' in cleaned_data:
if cleaned_data['hasproblems'] == 'no':
return False
return True
class Meta:
model = QOLQuestionnaire
fieldsets = (
('None', {'fields': ('social_problems', 'emotional_problems',)}),
)
# auto create exclude based on fieldsets
# print create_exclude_list(model, fieldsets)
exclude = create_exclude_list(model, fieldsets)
[docs]class QOLQuestionnaireForm2(BaseQuestionnaireForm):
'''
QOLQuestionnaireForm2
'''
form_nr = 2
form_template = 'questionnaire/DefaultQuestionnaireForm.html'
def __init__(self, *args, **kwargs):
super(QOLQuestionnaireForm2, self).__init__(*args, **kwargs)
self.fields['spiritual_problems'].double_column = True
self.fields['fysical_problems'].triple_column = True
self.queryset_speed_up()
def condition(self, wizard):
cleaned_data = wizard.get_cleaned_data_for_form_class(
QOLQuestionnaireForm)
if cleaned_data:
if 'hasproblems' in cleaned_data:
if cleaned_data['hasproblems'] == 'no':
return False
return True
class Meta:
model = QOLQuestionnaire
fieldsets = (
('None', {'fields': ('spiritual_problems', 'fysical_problems',)}),
)
# auto create exclude based on fieldsets
# print create_exclude_list(model, fieldsets)
exclude = create_exclude_list(model, fieldsets)
[docs]class QOLQuestionnaireForm3(BaseQuestionnaireForm):
'''
QOLQuestionnaireForm3
'''
form_nr = 3
form_template = 'questionnaire/DefaultQuestionnaireForm.html'
def __init__(self, *args, **kwargs):
super(QOLQuestionnaireForm3, self).__init__(*args, **kwargs)
self.fields['other_problems'].widget.attrs.update({'rows': 8})
self.fields['need_contact'].required = True
def condition(self, wizard):
cleaned_data = wizard.get_cleaned_data_for_form_class(
QOLQuestionnaireForm)
if cleaned_data:
if 'hasproblems' in cleaned_data:
if cleaned_data['hasproblems'] == 'no':
return False
return True
class Meta:
model = QOLQuestionnaire
fieldsets = (
('None', {'fields': ('other_problems', 'need_contact',)}),
)
# auto create exclude based on fieldsets
# print create_exclude_list(model, fieldsets)
exclude = create_exclude_list(model, fieldsets)