Skip to content

Commit 75047e2

Browse files
committed
Merge branch 'idc-test' of https://github.com/ImagingDataCommons/IDC-Common into idc-prod
2 parents 395a7f3 + 420a0f4 commit 75047e2

File tree

2 files changed

+26
-13
lines changed

2 files changed

+26
-13
lines changed

cohorts/views/views.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,6 @@ def cohort_detail(request, cohort_id):
266266
messages.error(request, 'You do not have permission to view that cohort.')
267267
return redirect('cohort_list')
268268

269-
print("Cohort detail call, counts only is: {}".format(counts_only))
270269
shared_with_ids = Cohort_Perms.objects.filter(cohort=cohort, perm=Cohort_Perms.READER).values_list('user', flat=True)
271270
shared_with_users = User.objects.filter(id__in=shared_with_ids)
272271

idc_collections/collex_metadata_utils.py

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1110,7 +1110,7 @@ def parse_partition_string(partition):
11101110
return part_str
11111111

11121112

1113-
def parse_partition_att_strings(query_sets, partition, join):
1113+
def parse_partition_att_strings(query_sets, partition, join_with_child):
11141114
attStrA = []
11151115
filt2D = partition['filt']
11161116
for i in range(0, len(filt2D)):
@@ -1133,19 +1133,19 @@ def parse_partition_att_strings(query_sets, partition, join):
11331133
else:
11341134
tmpA.append('NOT ('+filtStr+')')
11351135
attStr = ' AND '.join(tmpA)
1136-
if join:
1136+
if join_with_child:
11371137
attStr =attStr.replace('"','\\"')
11381138
attStr = '_query_:"{!join to=StudyInstanceUID from=StudyInstanceUID}' + attStr + '"'
11391139

11401140
attStrA.append(attStr)
11411141
return attStrA
11421142

11431143

1144-
def create_cart_query_string(query_list, partitions, join):
1144+
def create_cart_query_string(query_list, partitions, join_with_child):
11451145
solrA=[]
11461146
for i in range(len(partitions)):
11471147
cur_part = partitions[i]
1148-
cur_part_attr_strA = parse_partition_att_strings(query_list, cur_part, join)
1148+
cur_part_attr_strA = parse_partition_att_strings(query_list, cur_part, join_with_child)
11491149
cur_part_str = parse_partition_string(cur_part)
11501150
for j in range(len(cur_part_attr_strA)):
11511151
if (len(cur_part_attr_strA[j])>0):
@@ -1244,7 +1244,13 @@ def create_cart_query_string(query_list, partitions, join):
12441244
}
12451245
cart_facets_serieslvl = {"series_in_cart": {"type": "terms", "field": "collection_d", "limit":500,
12461246
"facet": { "unique_series_cart": "unique(SeriesInstanceUID)"},
1247-
}}
1247+
1248+
},
1249+
"series_in_filter_and_cart": {"type": "terms", "field": "collection_id", "limit": 500,
1250+
"facet": {
1251+
"unique_series_filter_and_cart": "unique(SeriesInstanceUID)"},
1252+
"domain": {"filter": ""}}
1253+
}
12481254

12491255

12501256
upstream_cart_facets = {
@@ -1391,7 +1397,7 @@ def generate_solr_cart_and_filter_strings(current_filters,filtergrp_list, partit
13911397
cart_query_str_studylvl = None
13921398

13931399
if (len(partitions_series_lvl) > 0):
1394-
cart_query_str_serieslvl = create_cart_query_string(query_list, partitions_series_lvl, False)
1400+
cart_query_str_serieslvl = create_cart_query_string(query_list, partitions_series_lvl, True)
13951401
else:
13961402
cart_query_str_serieslvl = None
13971403

@@ -1667,7 +1673,7 @@ def get_table_data_with_cart_data(tabletype, sortarg, sortdir, current_filters,f
16671673
if tabletype in ["cases","series","studies"]:
16681674
collstr= list(attrRowNumMp["collections"].keys())
16691675
colrngfilt = '(+collection_id:('+ ' OR '.join(['"'+x+'"' for x in collstr ]) +'))'
1670-
colrngQ='('+colrngfilt+')('+cart_query_str_studylvl+')'
1676+
colrngQ='('+colrngfilt+')('+cart_query_str_all+')'
16711677
custom_facets["upstream_collection_cart"]=copy.deepcopy(upstream_cart_facets["upstream_collection_cart"])
16721678
custom_facets["upstream_collection_cart"]["domain"]["filter"]=colrngQ
16731679

@@ -1677,7 +1683,7 @@ def get_table_data_with_cart_data(tabletype, sortarg, sortdir, current_filters,f
16771683
if tabletype in ["series","studies"]:
16781684
casestr= list(attrRowNumMp["cases"].keys())
16791685
caserngfilt = '(+PatientID:('+ ' OR '.join(['"'+x+'"' for x in casestr ]) +'))'
1680-
caserngQ = '(' + caserngfilt + ')(' + cart_query_str_studylvl + ')'
1686+
caserngQ = '(' + caserngfilt + ')(' + cart_query_str_all + ')'
16811687
custom_facets["upstream_case_cart"] = copy.deepcopy(upstream_cart_facets["upstream_case_cart"])
16821688
custom_facets["upstream_case_cart"]["domain"]["filter"] = caserngQ
16831689
custom_facets["upstream_case_filter_cart"] = copy.deepcopy(upstream_cart_facets["upstream_case_filter_cart"])
@@ -1687,7 +1693,7 @@ def get_table_data_with_cart_data(tabletype, sortarg, sortdir, current_filters,f
16871693
if tabletype in ["series"]:
16881694
studystr= list(attrRowNumMp["studies"].keys())
16891695
studyrngfilt = '(+StudyInstanceUID:('+ ' OR '.join(['"'+x+'"' for x in studystr ]) +'))'
1690-
studyrngQ = '(' + studyrngfilt + ')(' + cart_query_str_studylvl + ')'
1696+
studyrngQ = '(' + studyrngfilt + ')(' + cart_query_str_all + ')'
16911697
custom_facets["upstream_study_cart"] = copy.deepcopy(upstream_cart_facets["upstream_study_cart"])
16921698
custom_facets["upstream_study_cart"]["domain"]["filter"] = studyrngQ
16931699
custom_facets["upstream_study_filter_cart"] = copy.deepcopy(upstream_cart_facets["upstream_study_filter_cart"])
@@ -1736,8 +1742,13 @@ def get_table_data_with_cart_data(tabletype, sortarg, sortdir, current_filters,f
17361742
if not (cart_query_str_serieslvl==None) and (len(cart_query_str_serieslvl)>0):
17371743

17381744
custom_facets = cart_facets_serieslvl
1739-
custom_facets["series_in_cart"]["domain"]={"filter": cart_query_str_serieslvl}
1740-
custom_facets["series_in_cart"]["field"]=id
1745+
custom_facets["series_in_filter_and_cart"]["domain"]={"filter": cart_query_str_serieslvl}
1746+
custom_facets["series_in_filter_and_cart"]["field"]=id
1747+
1748+
in_cart_domain_serieslvl = {"filter": '(+' + cart_query_str_serieslvl + ')',"excludeTags": "f1"} if with_filter else {"filter": cart_query_str_serieslvl}
1749+
custom_facets["series_in_cart"]["field"] = id
1750+
custom_facets["series_in_cart"]["domain"] = in_cart_domain_serieslvl
1751+
17411752

17421753
if tabletype in ["cases","studies","series"]:
17431754
colrngQ = '(' + colrngfilt + ')(' + cart_query_str_serieslvl + ')'
@@ -1767,6 +1778,8 @@ def get_table_data_with_cart_data(tabletype, sortarg, sortdir, current_filters,f
17671778
custom_facets["upstream_study_filter_cart"] = copy.deepcopy(upstream_cart_facets["upstream_study_filter_cart"])
17681779
custom_facets["upstream_study_filter_cart"]["domain"]["filter"] = studyrngQ+no_tble_item_filt_str
17691780

1781+
1782+
17701783
solr_facet_result_serieslvl = query_solr(
17711784
collection=image_source_series.name, fields=field_list, query_string=None, fqs=fqset[:],
17721785
facets=custom_facets, sort=sortStr, counts_only=True, collapse_on=None, offset=0, limit=limit,
@@ -2024,6 +2037,7 @@ def get_cart_data_serieslvl(filtergrp_list, partitions, field_list, limit, offse
20242037
}
20252038

20262039
query_list=[]
2040+
20272041
for filtergrp in filtergrp_list:
20282042
query_set_for_filt = []
20292043
if (len(filtergrp)>0):
@@ -2037,7 +2051,7 @@ def get_cart_data_serieslvl(filtergrp_list, partitions, field_list, limit, offse
20372051

20382052
query_list.append(query_string_for_filt)
20392053

2040-
query_str = create_cart_query_string(query_list, partitions, False)
2054+
query_str = create_cart_query_string(query_list, partitions, True)
20412055

20422056
solr_result = query_solr(collection=image_source.name, fields=field_list, query_string=None, fqs=[query_str],
20432057
facets=custom_facets,sort=None, counts_only=False,collapse_on='SeriesInstanceUID', offset=offset, limit=limit, uniques=None,

0 commit comments

Comments
 (0)