Skip to content
Snippets Groups Projects
Commit 770db4ca authored by Piotr Gawron's avatar Piotr Gawron
Browse files

obtaining list of visible fields simplified

parent f259c6d1
No related branches found
No related tags found
1 merge request!101Resolve "list of subjects should contain columns dependent on the study"
......@@ -130,58 +130,30 @@ def get_study_from_args(kwargs):
return study
def prepare_study_subject_fields(fields, study):
if study.columns.default_location:
fields['default_location'].required = True
else:
del fields['default_location']
if study.columns.type:
fields['type'].required = True
else:
del fields['type']
if not study.columns.screening_number:
del fields['screening_number']
if not study.columns.nd_number:
del fields['nd_number']
if not study.columns.datetime_contact_reminder:
del fields['datetime_contact_reminder']
if not study.columns.postponed:
del fields['postponed']
if not study.columns.flying_team:
del fields['flying_team']
if not study.columns.mpower_id:
del fields['mpower_id']
def prepare_field(fields, visible_columns, field_name, required=False):
if not getattr(visible_columns, field_name) and field_name in fields:
del fields[field_name]
elif required:
fields[field_name].required = True
if not study.columns.comments:
del fields['comments']
if not study.columns.referral:
del fields['referral']
if not study.columns.diagnosis:
del fields['diagnosis']
if not study.columns.year_of_diagnosis:
del fields['year_of_diagnosis']
if not study.columns.information_sent:
del fields['information_sent']
if not study.columns.pd_in_family:
del fields['pd_in_family']
if not study.columns.resigned and 'resigned' in fields:
del fields['resigned']
if not study.columns.resign_reason and 'resign_reason' in fields:
del fields['resign_reason']
def prepare_study_subject_fields(fields, study):
prepare_field(fields, study.columns, 'default_location', required=True)
prepare_field(fields, study.columns, 'type', required=True)
prepare_field(fields, study.columns, 'screening_number')
prepare_field(fields, study.columns, 'nd_number')
prepare_field(fields, study.columns, 'datetime_contact_reminder')
prepare_field(fields, study.columns, 'postponed')
prepare_field(fields, study.columns, 'flying_team')
prepare_field(fields, study.columns, 'mpower_id')
prepare_field(fields, study.columns, 'comments')
prepare_field(fields, study.columns, 'referral')
prepare_field(fields, study.columns, 'diagnosis')
prepare_field(fields, study.columns, 'year_of_diagnosis')
prepare_field(fields, study.columns, 'information_sent')
prepare_field(fields, study.columns, 'pd_in_family')
prepare_field(fields, study.columns, 'resigned')
prepare_field(fields, study.columns, 'resign_reason')
def validate_subject_screening_number(self, cleaned_data):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment