Skip to content

Commit c4787f4

Browse files
Fixed bug causing 500 in prov info if group_uuid and dataset_status were both selected. Also fixed bug where filtering for
status = "QA" would return an empty list.
1 parent 70b4951 commit c4787f4

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/app_neo4j_queries.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -940,7 +940,9 @@ def get_prov_info(neo4j_driver, param_dict):
940940
rui_info_query_string = 'OPTIONAL MATCH (ds)<-[*]-(ruiSample:Sample)'
941941
rui_info_where_clause = "WHERE NOT ruiSample.rui_location IS NULL AND NOT trim(ruiSample.rui_location) = '' "
942942
dataset_status_query_string = ''
943+
first_param = True
943944
if 'group_uuid' in param_dict:
945+
first_param = False
944946
group_uuid_query_string = f" WHERE ds.group_uuid = '{param_dict['group_uuid']}'"
945947
if 'organ' in param_dict:
946948
organ_query_string = 'MATCH'
@@ -951,7 +953,15 @@ def get_prov_info(neo4j_driver, param_dict):
951953
rui_info_query_string = 'MATCH (ds:Dataset)'
952954
rui_info_where_clause = "WHERE NOT EXISTS {MATCH (ds)<-[*]-(ruiSample:Sample) WHERE NOT ruiSample.rui_location IS NULL AND NOT TRIM(ruiSample.rui_location) = ''} MATCH (ds)<-[*]-(ruiSample:Sample)"
953955
if 'dataset_status' in param_dict:
954-
dataset_status_query_string = f" WHERE ds.status = '{param_dict['dataset_status'].lower().capitalize()}'"
956+
if first_param:
957+
print("true")
958+
dataset_status_query_string = f" WHERE ds.status = '{param_dict['dataset_status'].lower().capitalize()}'"
959+
if param_dict['dataset_status'].lower() == "qa":
960+
dataset_status_query_string = f" WHERE ds.status = '{param_dict['dataset_status'].upper()}'"
961+
else:
962+
dataset_status_query_string = f" AND ds.status = '{param_dict['dataset_status'].lower().capitalize()}'"
963+
if param_dict['dataset_status'].lower() == "qa":
964+
dataset_status_query_string = f" AND ds.status = '{param_dict['dataset_status'].upper()}'"
955965
query = (f"MATCH (ds:Dataset)<-[:ACTIVITY_OUTPUT]-(a)<-[:ACTIVITY_INPUT]-(firstSample:Sample)<-[*]-(donor:Donor)"
956966
f"{group_uuid_query_string}"
957967
f"{dataset_status_query_string}"
@@ -971,7 +981,7 @@ def get_prov_info(neo4j_driver, param_dict):
971981
f" ds.last_modified_user_email, ds.lab_dataset_id, ds.data_types, METASAMPLE, PROCESSED_DATASET")
972982
logger.debug("======get_prov_info() query======")
973983
logger.debug(query)
974-
984+
print(query)
975985
with neo4j_driver.session() as session:
976986
# Because we're returning multiple things, we use session.run rather than session.read_transaction
977987
result = session.run(query)

0 commit comments

Comments
 (0)