From 82edf5b77d9667a4d0815bc17ee28f20ee93e60f Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Mon, 11 Dec 2017 18:22:45 +0100 Subject: [PATCH] list of columns includes social security number --- smash/web/api_views/subject.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/smash/web/api_views/subject.py b/smash/web/api_views/subject.py index ac069955..5500f2f1 100644 --- a/smash/web/api_views/subject.py +++ b/smash/web/api_views/subject.py @@ -51,6 +51,7 @@ def get_subject_columns(request, subject_list_type): add_column(result, "Screening", "screening_number", study_subject_columns, "string_filter", study.columns) add_column(result, "First name", "first_name", subject_columns, "string_filter") add_column(result, "Last name", "last_name", subject_columns, "string_filter") + add_column(result, "Social Security Number", "social_security_number", subject_columns, "string_filter") add_column(result, "Date of birth", "date_born", subject_columns, None) add_column(result, "Contact on", "datetime_contact_reminder", study_subject_columns, None, study.columns) add_column(result, "Last contact attempt", "last_contact_attempt", study_subject_list, None) @@ -116,6 +117,8 @@ def get_subjects_order(subjects_to_be_ordered, order_column, order_direction): result = subjects_to_be_ordered.order_by(order_direction + 'resigned') elif order_column == "information_sent": result = subjects_to_be_ordered.order_by(order_direction + 'information_sent') + elif order_column == "social_security_number": + result = subjects_to_be_ordered.order_by(order_direction + 'subject__social_security_number') elif order_column == "postponed": result = subjects_to_be_ordered.order_by(order_direction + 'postponed') elif order_column == "type": @@ -226,6 +229,8 @@ def get_subjects_filtered(subjects_to_be_filtered, filters): result = result.filter(postponed=(value == "true")) elif column == "information_sent": result = result.filter(information_sent=(value == "true")) + elif column == "social_security_number": + result = result.filter(subject__social_security_number__icontains=value) elif column == "default_location": result = result.filter(default_location=value) elif column == "flying_team": @@ -353,6 +358,7 @@ def serialize_subject(study_subject): "resigned": bool_to_yes_no(study_subject.resigned), "postponed": bool_to_yes_no(study_subject.postponed), "information_sent": bool_to_yes_no(study_subject.information_sent), + "social_security_number": study_subject.subject.social_security_number, "type": study_subject.get_type_display(), "id": study_subject.id, "visits": serialized_visits, -- GitLab