Skip to content
Snippets Groups Projects

Resolve "configurable study fields"

Merged Piotr Gawron requested to merge 339-configurable-study-fields into master
Files
16
@@ -289,7 +289,7 @@ def get_subjects_order(subjects_to_be_ordered: QuerySet, order_column, order_dir
result = subjects_to_be_ordered.order_by(order_direction + order_column)
elif re.search(r'^virus_test_[1-5]_igg_status', order_column):
result = subjects_to_be_ordered.order_by(order_direction + order_column)
elif re.search(r'^custom_field-[0-9]$', order_column):
elif re.search(r'^custom_field-[0-9]+$', order_column):
field_id = int(order_column.replace("custom_field-", ""))
result = subjects_to_be_ordered.annotate(
custom_field_value=Min(Case(When(customstudysubjectvalue__study_subject_field__id=field_id,
@@ -365,7 +365,7 @@ def filter_by_visit(result, visit_number, visit_type):
return result
def get_subjects_filtered(subjects_to_be_filtered, filters):
def get_subjects_filtered(subjects_to_be_filtered: QuerySet, filters) -> QuerySet:
result = subjects_to_be_filtered
for row in filters:
column = row[0]
@@ -438,7 +438,7 @@ def get_subjects_filtered(subjects_to_be_filtered, filters):
elif str(column).startswith("visit_"):
visit_number = get_visit_number_from_visit_x_string(column)
result = filter_by_visit(result, visit_number, value)
elif re.search(r'^custom_field-[0-9]$', column):
elif re.search(r'^custom_field-[0-9]+$', column):
field_id = int(column.replace("custom_field-", ""))
field = CustomStudySubjectField.objects.get(pk=field_id)
if field.type == CUSTOM_FIELD_TYPE_TEXT:
Loading